额外的新行在纯文本电子邮件通过SendGrid

本文关键字:电子邮件 SendGrid 文本 新行 | 更新日期: 2023-09-27 17:51:12

我正在使用标准的。net SMTPClient发送纯文本电子邮件-如下所示:

// Configure mail client
using (SmtpClient mailClient = new SmtpClient(AppConfig.SMTPServer))
   {
            mailClient.Credentials = new System.Net.NetworkCredential(AppConfig.SMTPUsername, AppConfig.SMTPPassword);
            // Create the mail message
            MailMessage mailMessage = new MailMessage();
            mailMessage.From = new MailAddress(AppConfig.SMTPSenderEmail, AppConfig.SMTPSenderDisplay);
            foreach (string recipient in recipients)
            {
                mailMessage.To.Add(new MailAddress(recipient));
            }
            mailMessage.Bcc.Add(new MailAddress(AppConfig.SMTPBC));
            mailMessage.Subject = subject;
            mailMessage.Body = body;
            mailMessage.IsBodyHtml = false;
            // Attachments
            if (attachments != null && attachments.Any())
            {
                foreach (KeyValuePair<string, Byte[]> attachment in attachments)
                {
                    MemoryStream memStream = new MemoryStream(attachment.Value);
                    mailMessage.Attachments.Add(new Attachment(memStream, attachment.Key));
                }
            }
            mailClient.Send(mailMessage);
        }

当通过POP3客户端发送时,所发送的电子邮件具有预期的格式,然而当我通过Azure SendGrid module发送时,每个新行都是双倍的,因此源正文字符串中的每个行都有两个空白行。有没有人知道如何规避这个问题,因为我需要(和想要)使用SendGrid.

我看到这个非常类似的问题SendGrid换行问题,但是修复涉及PHP -我需要c#中的等效

额外的新行在纯文本电子邮件通过SendGrid

好了,经过几个小时的调查,在发布问题的5分钟内我找到了答案,它真的很简单,将此添加到邮件客户端配置中可以完美地排序问题:

mailMessage.BodyEncoding = Encoding.UTF8;