Sendgrid блокирует некоторые электронные письма - недопустимая запись ресурса DNS MX или A / AAAA - PullRequest
0 голосов
/ 03 августа 2020

В большинстве случаев я могу отправлять электронную почту программно с помощью 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;`
...