自动发送电子邮件

本文关键字:电子邮件 | 更新日期: 2023-09-27 18:28:17

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

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

任何帮助都将不胜感激。谢谢

自动发送电子邮件

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

你试过吗

newClient .UseDefaultCredentials = true;

它有帮助吗?

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

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

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

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