Nat*_*eid 6 .net c# asp.net smtp
我正在尝试使用C#(System.Net.Mail/Framework 4)通过Google Apps/Gmail发送基本电子邮件,但我遇到了麻烦.
我收到以下异常:"操作已超时."
我的代码如下:
//Create the mail message
MailMessage mail = new MailMessage();
//Set the addresses
mail.From = new MailAddress("myemail@gmail.com", "My Name");
mail.To.Add(Email);
//Set the subject and bodycontent
mail.Subject = "Email Testing";
mail.Body = "This is the body of the email";
//Send the message using the SmtpClient
SmtpClient smtp = new SmtpClient();
smtp.EnableSsl = true;
smtp.Send(mail);
Run Code Online (Sandbox Code Playgroud)
我的web.config具有以下设置:
<smtp from="myemail@gmail.com" deliveryMethod="Network">
<network host="smtp.gmail.com"
userName="myemail@gmail.com"
password="password"
port="587" />
</smtp>
Run Code Online (Sandbox Code Playgroud)
在我的故障排除期间,我试过:
我可以通过GMail界面为我的两个电子邮件帐户发送和接收电子邮件.我也试过问题#757987中提供的设置和解决方案无济于事.
你的代码看起来不错。你说你尝试过远程登录。您真的能够通过 telnet 发送电子邮件吗?
你可以尝试删除
from="myemail@gmail.com" deliveryMethod="Network"
Run Code Online (Sandbox Code Playgroud)
来自您的 smtp 标记,因为它们对于您正在做的事情来说不是必需的。
编辑:
Telnet 通常允许您连接到 smtp 服务器并发送 16(?)字节的数据,然后它会将您踢出。如果您没有得到这样的回复,那么情况很可能就是这样。
尝试在防火墙上打开端口 587,看看是否可以通过 telnet(EHLO、ECHO 等)与 smtp 服务器实际交互。