嗨,我正在将一个文件(纯旧.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");
打开附件包含以下文本:µë-。
知道是什么原因吗?
FYI。当我添加一个更复杂的字符串时,比如:
""blah", "blah", "blah"
发送失败,并出现BadRequest。
我发现了问题所在。SendGrid不允许在AddAttachment方法中只使用常规字符串,我必须先将字符串编码为字节数组,然后才能转换为基64字符串。
前任。
sendGridMessage.AddAttachment(fileName, "test") // no good
var content = Encoding.ASCII.GetBytes("test");
sendGridMessage.AddAttachment(fileName, Convert.ToBase64String(content)) //works