【问题标题】:Sendgrid Attachment contains broken textSendgrid 附件包含损坏的文本
【发布时间】:2020-09-23 01:09:33
【问题描述】:

您好,我将一个文件(普通的旧 .txt)附加到电子邮件并通过 Sendgrid 发送。

虽然文件已附加,但当我打开它时,它包含损坏的文本/乱码。

var sendGridMessage = new SendGridMessagae();
sendGridMessage.AddTo(receiverEmail, receiverName);
sendGridMessage.From = new EmailAddress(senderEmail, senderName);
sendGridMessage.Subject = subjectName;
sendGridMessage.PlainTextContent = plainText;
sendGridMessage.HtmlContent = htmlText;

sendGridMessage.AddAttachment(fileName, "test");

打开附件包含以下文本:µë-.

知道是什么原因造成的吗?

仅供参考。当我添加一个更复杂的字符串时:

"\"blah\", \"blah\", \"blah\"

发送失败并出现 BadRequest。

【问题讨论】:

    标签: c# email sendgrid email-attachments sendgrid-api-v3


    【解决方案1】:

    我发现了问题所在。 SendGrid 不允许在 AddAttachment 方法中仅使用常规字符串,我必须先将字符串编码为字节数组,然后再转换为 base 64 字符串

    EX.

    sendGridMessage.AddAttachment(fileName, "test") // no good
    
    var content = Encoding.ASCII.GetBytes("test");
    
    sendGridMessage.AddAttachment(fileName, Convert.ToBase64String(content)) //works
    

    【讨论】:

      猜你喜欢
      • 2014-11-04
      • 2018-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 1970-01-01
      • 2011-10-28
      相关资源
      最近更新 更多