Мое рабочее веб-приложение иногда не отправляет уведомление о заказе по электронной почте. Я никогда не сталкивался с этой проблемой в тестовой среде.
Я не понимаю, почему он так себя ведет. Не могли бы вы рассказать мне, что вызывает проблему?
Ниже мой код:
public async Task SendEmail(int alertID, string body, string subject, List<string> ccemailToUserList)
{
try
{
using (var dbcontext = new MyDbContext())
{
List<string> emailRecipients = new List<string>();
Alert emailAlert = new Alert();
emailAlert = dbcontext.Alerts.FirstOrDefault(x => x.ID == alertID);
body = body.Replace("[[ordertype]]", emailAlert.Description);
MailMessage mail = new MailMessage();
var mailFrom = ConfigurationManager.AppSettings["SMTPFrom"].ToString();
mail.From = new MailAddress(mailFrom);
mail.To.Add(emailAlert.Recipients);
foreach (var ccEmail in ccemailToUserList)
{
mail.CC.Add(ccEmail);
}
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = ConfigurationManager.AppSettings["SMTP"].ToString();
mail.Subject = emailAlert.Description+ " - " + subject;
mail.Body = body;
mail.IsBodyHtml = true;
await client.SendMailAsync(mail);
}
}
catch (Exception ex)
{
ErrorService.LogError(ex, "Email Error");
}
}