В большинстве случаев я могу отправлять электронную почту программно с помощью API Sendgrid. Но для некоторых действительных адресов электронное письмо не доходит до получателя. Когда я проверяю панель управления sendgrid, она отображается под отчетом о блокировке.
Ниже приводится описание из отчета о блокировке sendgrid
550 Запрошенное действие не выполнено: почтовый ящик недоступен недопустимый DNS MX или запись ресурса A / AAAA
Ниже приведен код. NET.
Пожалуйста, помогите мне решить проблему.
var header = new Dictionary<string, string>();
var tos = new List<EmailAddress>();
foreach (var recepient in recepients)
{
var name = recepient.Split(new char[] { '@' });
tos.Add(new EmailAddress(recepient, name[0]));
header.Add("From", string.Format("{0} {1}", name[0], recepient));
}
Logger.Debug("Receipient is set");
var client = new SendGridClient(this._configuration.ApiKey);
var message = new SendGridMessage()
{
From = new EmailAddress(base.Configuration.DefaultFromAddress, base.Configuration.DefaultFromDisplayName),
};
message.SetTemplateId(sendgridTemplateId);
message.Personalizations = new List<Personalization>() {
new Personalization(){
Tos = tos,
TemplateData = dynamicValues,
//Headers = header
}
};
Logger.Debug("Message Prepared");
if (emailAttachment != null && emailAttachment.File != null && emailAttachment.File.Length > 0)
{
await message.AddAttachmentAsync(emailAttachment.FileName, emailAttachment.File);
}
Logger.Debug("If Attachment is available, it is added");
`var mailSettings = new MailSettings();
mailSettings.SandboxMode = new SandboxMode();
mailSettings.SandboxMode.Enable = this._configuration.IsSandBoxedMode;
Logger.DebugFormat("Email is in SandboxMode - {0}", this._configuration.IsSandBoxedMode);
message.MailSettings = mailSettings;
var result = await client.SendEmailAsync(message);
Logger.DebugFormat("Email Dispatched - Status : {0}", result.StatusCode.ToString());
return result;`