【问题标题】:Send mail with attachment发送带有附件的邮件
【发布时间】: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 的原始会话?
  • 不附附件是否有效?
  • 好的,只是检查一下,这样我们就可以消除所有可能性,我现在正在尝试在我的机器上运行代码

标签: c# asp.net


【解决方案1】:

所以基本上我们在聊天中发现问题发生了 因为上传附件需要很长时间。

解决方法之一是增加SmtpClient的超时值:

mSmtpClient.Timeout = int.MaxValue;

注意:使用 int.MaxValue 进行测试,但对部署的解决方案使用更实际的值。

【讨论】:

    【解决方案2】:

    设置一个本地 smtp 服务器进行中继,或使用类似http://aws.amazon.com/ses/ 的东西。我不认为谷歌会允许你通过他们的服务器以编程方式中继。

    【讨论】:

    • 确实如此,您发送的域解析到您发送的计算机。事实上,我刚刚打开了一个到 587 的原始 putty 会话,它们让我可以毫无问题地连接。 SMTP 协议没有为谷歌提供查看您使用哪个程序连接到它的方法,而真正的 smtp 服务器只是另一个程序。我们一直这样做
    猜你喜欢
    • 2017-09-13
    • 1970-01-01
    • 2017-07-31
    • 2016-05-03
    • 2015-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多