自动发送电子邮件
本文关键字:电子邮件 | 更新日期: 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/