发送自动电子邮件

时间:2013-08-20 13:07:19

标签: c# email-integration

我有一项服务需要在发生故障时发送自动电子邮件。我觉得我已经设置了但是我继续收到以下错误:

Service not available, closing transmission channel. The server response 
was: 4.3.2 Service not available

我无法弄清楚我哪里出错,但这是我的代码:

public static void AutoEmail()
{
    try
    {
        SmtpClient newClient = new SmtpClient();
        newClient.Host = "host name";
        newClient.Port = Port number;
        newClient.Credentials = new System.Net.NetworkCredential(
        "username", "password");

        MailMessage mail = new MailMessage();
        mail.To.Add(new MailAddress("something@email.com"));
        mail.Body = "This is a test message.";
        mail.Subject = "Test - " + DateTime.Now;
        mail.From = new MailAddress("something2@email.com");

        newClient.Send(mail);
    }
    catch (Exception ex)
    {
         Log.WriteException("Error in Email", ex);
    }
}

非常感谢任何帮助。谢谢!

3 个答案:

答案 0 :(得分:2)

您确定使用许可证应用程序发送电子邮件的SMTP服务器吗?我遇到了类似的问题和根本原因是由于权限不足,Exchange服务器拒绝了发送请求。我的代码和你的代码一样。检查权限。

答案 1 :(得分:1)

你试过吗

newClient .UseDefaultCredentials = true;

有帮助吗?

SMTP服务器名称仅适用于包含该SMTP服务器的网络中的计算机。

答案 2 :(得分:0)

您需要确保程序中SMTP服务器的主机名和端口号正确无误。程序中的所有其他代码似乎都很好。 我之前遇到过同样的错误。最后,我改为正确的主机名和端口号,一切正常。 例如,Outlook.com或Hotmail电子邮件帐户

host="smtp-mail.outlook.com" port="25" enableSsl="true" 

https://www.outlook-apps.com/outlook-com-pop-settings/