0

我有以下代码已经运行了几个月,但突然停止在这条线上工作:

    smtpClient.Send(msg);

这是一个内部应用程序,向我公司的内部人员发送电子邮件

出现以下错误:

信箱不可用。服务器响应为:5.7.1 无法为 ABC@comp.com 中继

谁能想到为什么这段代码可以正常工作很长时间并突然停止工作的原因?

        MailMessage msg = new MailMessage();
        msg.From = new MailAddress(fromEmailAddress_);
        msg.IsBodyHtml = true;

        msg.To.Add(new MailAddress(email.Trim()));

        msg.Subject = subject_;
        msg.Body = body_;
        msg.IsBodyHtml = true;
        msg.Priority = MailPriority.High;

        var smtpClient = new SmtpClient(_mailServer);
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = new System.Net.NetworkCredential(_user, _pwd);

        try
        {
            smtpClient.Send(msg);
        }
        catch (Exception ex)
        {
            Console.Write(ex.Message);

        }
4

2 回答 2

8

您要连接的邮件服务器已被收紧,不允许中继您的凭据或来自您的网络/IP。这不是代码问题(没有更改 SMTP 服务器),而是管理您正在使用的 SMTP 服务器的人的问题或问题。

于 2011-05-10T00:07:53.713 回答
0

除了检查以确保 smtp 服务正在运行之外,您还可以尝试以下操作:

尝试将 SmtpDeliveryMethod 枚举设置为 PickupDirectoryFromIis。

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpdeliverymethod.aspx

于 2011-05-10T00:08:54.480 回答