我在 c# 中使用 sendGrid 编写了一个邮件发送功能。它工作正常,但是当将生成的 pdf 作为附件附加时,它不起作用。
var client = new SendGridClient(apiKey);
var msg = new SendGridMessage()
{
From = new EmailAddress(senderMailID, senderName),
Subject = "ABCD",
};
var attach = new Attachment();
attach.Filename = "ABC.pdf";
attach.Content = "~/Templates/output.pdf";
msg.AddAttachment(attach);
msg.AddTo(new EmailAddress(receiverMailID,receiverName));
var result = await client.SendEmailAsync(msg);
}
Run Code Online (Sandbox Code Playgroud)
你应该将文件转换为Base64表示(如例子中看到此文件的),而不是添加路径。
所需代码示例:
var client = new SendGridClient(apiKey);
var msg = new SendGridMessage()
{
From = new EmailAddress(senderMailID, senderName),
Subject = "ABCD",
};
var bytes = File.ReadAllBytes("~/Templates/output.pdf");
var file = Convert.ToBase64String(bytes);
msg.AddAttachment("ABC.pdf", file);
var response = await client.SendEmailAsync(msg);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2301 次 |
| 最近记录: |