我一直在嘗試通過C#從Gmail帳戶發送一封電子郵件用於我的網站的帳戶註冊。從Gmail發送郵件C#連接超時
我嘗試了幾種方法,但同樣的異常繼續彈出:System.Net.Mail.Smtp異常 - 連接超時。
這是我在Web.config文件inluded:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network"
from="Writely <[email protected]>">
<network host="smtp.gmail.com"
port="465"
enableSsl="true"
defaultCredentials="false"
userName="[email protected]"
password="******" />
</smtp>
</mailSettings>
</system.net>
Writely的地方是我的網站的名稱,[email protected]是帳戶我想從發送電子郵件。
然後在當我和我的數據庫連接,並保存在我的表中的用戶我的賬戶控制器,我創造我的MAILMESSAGE對象,並試圖通過相同的郵件:
using (DBConnection conn = new DBConnection())
{
conn.UserInfoes.Add(userInfo);
conn.SaveChanges();
MailMessage mail = new MailMessage();
mail.From = new MailAddress("[email protected]");
mail.To.Add("[email protected]");
mail.Subject = "Welcome to Writely";
mail.Body = "Test content";
SmtpClient smtp = new SmtpClient();
smtp.Send(mail);
}
我缺少的東西或做有問題?我讀過這是在堆棧溢出的其他問題上這樣做的好方法,所以我真的不知道這裏有什麼問題。
感謝您的幫助:)
這不是在那裏我指定的服務器主機名行?網絡主機=「smtp.gmail.com」在web.config? – Bernice 2013-03-21 18:41:13
@Bernice對不起,讓我改述。 SmtpClient類不會自動使用Web.Config中的信息。請參閱我更新的答案中的代碼。 – 2013-03-21 18:43:52
哦好的謝謝:) ..谷歌使用港口587或465?因爲我在互聯網上看到每個問題的不同端口號。我是否需要將web.config中的端口更改爲587? – Bernice 2013-03-21 18:49:07