Ber*_*ice 10 c# gmail smtp web-config
我一直在尝试通过C#从gmail帐户发送电子邮件,以便我的网站进行帐户注册.
我尝试了几种方法,但是同样的异常继续弹出:System.Net.Mail.Smtp Exception - Connection已经超时.
这是我在Web.config文件中包含的内容:
<system.net>
<mailSettings>
<smtp deliveryMethod="Network"
from="Writely <mrbk.writely@gmail.com>">
<network host="smtp.gmail.com"
port="465"
enableSsl="true"
defaultCredentials="false"
userName="mrbk.writely@gmail.com"
password="******" />
</smtp>
</mailSettings>
</system.net>
Run Code Online (Sandbox Code Playgroud)
其中writely是我的网站名称,mrbk.writely @ gmail.com是我希望发送电子邮件的帐户.
然后在我的帐户控制器中,当我连接我的数据库并将用户保存在我的表中时,我正在创建我的MailMessage对象并尝试通过以下方式查找相同的邮件:
using (DBConnection conn = new DBConnection())
{
conn.UserInfoes.Add(userInfo);
conn.SaveChanges();
MailMessage mail = new MailMessage();
mail.From = new MailAddress("mrbk.writely@gmail.com");
mail.To.Add("bernice.zerafa11@gmail.com");
mail.Subject = "Welcome to Writely";
mail.Body = "Test content";
SmtpClient smtp = new SmtpClient();
smtp.Send(mail);
}
Run Code Online (Sandbox Code Playgroud)
我错过了什么或做错了什么?我读到这是在堆栈溢出的其他问题上做这个的好方法,所以我真的不知道这里有什么问题.
谢谢你的帮助 :)
您需要告诉SmtpClient要使用的设置.它不会自动从Web.Config文件中读取此信息.
SmtpClient smtp = new SmtpClient("smtp.gmail.com", 465);
smtp.Credentials = new NetworkCredential("mrbk.writely@gmail.com", "***");
smtp.EnableSsl = true;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29922 次 |
| 最近记录: |