1

我有一项服务需要在失败时自动发送电子邮件。我觉得我已经设置了它,但我不断收到以下错误:

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);
    }
}

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

4

3 回答 3

2

您确定您使用的 SMTP 服务器允许应用程序发送电子邮件吗?我遇到了类似的问题,根本原因是 Exchange 服务器由于权限不足而拒绝发送请求。我的代码中的步骤与您的相同。检查权限。

于 2013-08-20T13:25:23.093 回答
1

你有没有尝试过

newClient .UseDefaultCredentials = true;

它有帮助吗?

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

于 2013-08-20T13:09:47.850 回答
0

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

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

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

于 2016-02-25T06:08:53.243 回答