C# 附加pdf时sendGrid在c中不起作用#
我已经在c#中使用sendGrid编写了一个邮件发送功能。它工作正常,但当附加生成的pdf作为附件时,它不工作C# 附加pdf时sendGrid在c中不起作用#,c#,asp.net,.net,C#,Asp.net,.net,我已经在c#中使用sendGrid编写了一个邮件发送功能。它工作正常,但当附加生成的pdf作为附件时,它不工作 var client = new SendGridClient(apiKey); var msg = new SendGridMessage() { From = new EmailAddress(senderMailID, senderName), Subject = "ABCD", }; var attach = new Attachment(); attach
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);
}
您应该将文件转换为文件的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);
您可以通过指定哪些不起作用来改进此问题。例如,包括抛出的异常。您的代码将文件路径指定为附件的内容