i'm having a little issue with my sendmail script. My mail can't be delivered at one of my internal distribution lists. I'm getting the returned message
RESOLVER.RST.AuthRequired; Authentication required
my c# code looks like this:
public void SendMail(int supplierValue, List<Location> locationList, string meldingsNr, string date, string fromT, string tillT)
{
var mailFrom = "mail@mail.com";
SmtpClient client = new SmtpClient("server ip",25);
client.UseDefaultCredentials = false;
NetworkCredential basicAuthInfo = new NetworkCredential("username", "password");
client.Credentials = basicAuthInfo;
client.EnableSsl = false;
// Create some empty vars
var toList = "";
var ccList = "";
var mailSubject = "";
var mailBody = "";
List<string> locationListString = new List<string>();
List<string> locationListString2 = new List<string>();
// Populate toList with var llString
** code removed **
// switch on supplier Value to fill toList, ccList and mailSubject
** code removed **
// Create mail message
MailMessage message = new MailMessage();
MailAddress mailAddress = new MailAddress(mailFrom);
message.To.Add(toList);
message.From = mailAddress;
message.CC.Add(ccList);
// set subject and encoding
message.Subject = mailSubject;
message.SubjectEncoding = Encoding.UTF8;
// set body and encoding
message.Body = mailBody;
message.BodyEncoding = Encoding.UTF8;
message.IsBodyHtml = true;
try
{
// Send mail
client.SendCompleted += (s, e) =>
{
client.Dispose();
message.Dispose();
};
client.SendAsync(message, null);
} catch (SmtpException ex)
{
MessageBox.Show(ex.InnerException.Message);
} catch (System.Exception ex)
{
MessageBox.Show(ex.InnerException.Message);
}
}
I applied this suggestion: How can I make SMTP authenticated in C#
Ensure you set SmtpClient.Credentials after calling SmtpClient.UseDefaultCredentials = false. The order is important as setting SmtpClient.UseDefaultCredentials = false will reset SmtpClient.Credentials to null.
but this didn't work. Is there anything else wrong with my code ?