Есть стандартная реализация отправки E-mail через SmtpClient
void SendEmail(string mailSubject, string mailBody, Stream photoStream = null)
{
try
{
MailMessage mail = new MailMessage();
mail.From = new MailAddress(AppSettings.SendEmail);
mail.To.Add(AppSettings.GetEmail);
mail.Subject = mailSubject;
mail.Body = mailBody;
mail.IsBodyHtml = true;
if (photoStream != null)
{
mail.Attachments.Add(new Attachment(photoStream, "Attached photo", "image/jpeg"));
}
using (SmtpClient smtp = new SmtpClient(AppSettings.SMTP_Address, AppSettings.SMTP_Port))
{
smtp.Credentials = new NetworkCredential(AppSettings.SendEmail, AppSettings.SendEmailPassword);
smtp.EnableSsl = AppSettings.SSL;
smtp.Send(mail);
}
client.SendTextMessageAsync(chatId, "Сообщение отправлено");
}
catch (Exception e)
{
client.SendTextMessageAsync(chatId, e.Message);
}
}
При запуске приложения на компьютере - все работает, но после публикации на Azure, выводит ошибку TimeOut или Error 5.5.4 Error: send AUTH command first, в зависимости от SMTP порта. Есть ли решение данной проблемы?
AppSettings.SMTP_Address = "smtp.yandex.ru";
AppSettings.SMTP_Port = 25;
AppSettings.SSL = true;