【发布时间】:2013-03-06 23:06:08
【问题描述】:
编辑:我可以发送没有附件的邮件
尝试发送邮件时出现此错误:
System.Net.Mail.SmtpException: The operation has timed out.
以下是我的代码:
public static void SendMailMessage(string to, string subject, string body, List<string> attachment)
{
MailMessage mMailMessage = new MailMessage();
// string body; --> Compile time error, body is already defined as an argument
mMailMessage.From = new MailAddress("abc@gmail.com");
mMailMessage.To.Add(new MailAddress(to));
mMailMessage.Subject = subject;
mMailMessage.Body = body;
foreach (string s in attachment)
{
var att = new Attachment(s);
mMailMessage.Attachments.Add(att);
}
// Set the format of the mail message body as HTML
mMailMessage.IsBodyHtml = true;
// Set the priority of the mail message to normal
mMailMessage.Priority = MailPriority.High;
using (SmtpClient mSmtpClient = new SmtpClient())
{
mSmtpClient.Send(mMailMessage);
}
}
网页配置
<system.net>
<mailSettings>
<smtp from="mailid">
<network host="smtp.gmail.com" port="587" enableSsl="true" userName="username" password="pass" />
</smtp>
</mailSettings>
注意:附件不超过其限制(低于 25 mb)
我能做些什么来解决这个问题,或者我缺少什么?
【问题讨论】:
-
超时可能表示连接邮件服务器失败。
-
gmail smtp 不太可能离线,所以尝试将 enableSsl 设置为 false 并测试。我相信他们使用 TLS 而不是 SSL 进行发送
-
好吧,显然您确实应该将 ssl 设置为 true,您是否尝试过从运行该软件的 PC 打开到 SMTP 的原始会话?
-
不附附件是否有效?
-
好的,只是检查一下,这样我们就可以消除所有可能性,我现在正在尝试在我的机器上运行代码