我有一项服务需要在发生故障时发送自动电子邮件。我觉得我已经设置了但是我继续收到以下错误:
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);
}
}
非常感谢任何帮助。谢谢!
答案 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"