Reputation: 12852
The below code is working fine from Windows Form, but not working from Windows Services. The service is running on 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
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 + "'");
}
}
Upvotes: 1
Views: 15670
Reputation: 1
I was facing the same issue, To resolve this issue you need to contact your email server's service provider and tell them to give access to your server IP.
Upvotes: 0