[英]Send Email from Windows Service: Transaction failed. the server response was 5.7.1 client host rejected access denied
The below code is working fine from Windows Form, but not working from Windows Services.下面的代码在 Windows 窗体中运行良好,但在 Windows 服务中无法运行。 The service is running on Windows XP.
该服务在 Windows XP 上运行。
I have tried changing the log on user, but did not work.我试过更改登录用户,但没有奏效。
Error: Transaction failed.
错误:交易失败。 the server response was 5.7.1 client host rejected access denied
服务器响应为 5.7.1 客户端主机拒绝访问被拒绝
private void SendEmailToHO()
{
try
{
int mailSentSuccessfully = 0;
MailAddress to = new MailAddress(mailTo);
MailAddress from = new MailAddress(mailFrom);
using (MailMessage mail = new MailMessage(from.Address, to.Address))
{
int attachmentCount = 0;
try
{
foreach (string fileName in fileEntries)
{
Attachment attachment = new Attachment(fileName);
mail.Attachments.Add(attachment);
attachmentCount++;
}
SmtpClient client = new SmtpClient(mailHost, port);
if (enableSSL == "Y")
{
client.EnableSsl = true;
}
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new System.Net.NetworkCredential(mailUser, mailPassword);
mail.Subject = "Email Subject " + clientID;
mail.Body = "Attached please find the files: " + clientIDTitle;
if (attachmentCount > 0)
{
//
client.Send(mail);
//if no error, this code will work.
mailSentSuccessfully = 1;
new MyApp.LogWriter("Sent mail to " + to.Address + ", \nAttachment count = " + attachmentCount);
}
else
{
new MyApp.LogWriter("Attachment count = " + attachmentCount);
}
}
catch (Exception ex)
{
new MyApp.LogWriter("Send mail failed. Cause: " + ex.Message
+ "\n Inner Exception: " + ex.InnerException);
}
}
}
catch (System.Exception ex)
{
new BTCClient.LogWriter("Email Error '" +
ex.Message + "'");
}
}
我遇到了同样的问题,要解决此问题,您需要联系您的电子邮件服务器的服务提供商,并告诉他们授予您服务器 IP 的访问权限。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.