【发布时间】:2019-01-18 22:23:31
【问题描述】:
当我尝试发送带有位于谷歌驱动器或存储库路径中的附件的电子邮件时,它只发送电子邮件但不发送文件。
我尝试以字节为单位下载文件,然后将其作为附件发送
使用的代码如下
List<Attachment> files = new List<Attachment>
{
new Attachment()
{
Content = "BwdW",
Type = "image/png",
Filename = Server.MapPath("~/Content/IMG/EmailHeader.png"),
Disposition = "inline",
ContentId = "EmailHeader"
}
};
这是方法:
public Boolean EnvioCorreo_Copias_Archivos(string cuerpo, string asunto, string correoEmisor, List<EmailAddress> correoReceptor,
List<Attachment> Archivos)
{
try
{
var clientSendGrid = new SendGridClient("Key_Sendgrid");
var from = new EmailAddress(correoEmisor, "Alias");
List<EmailAddress> tos = correoReceptor;
var body = cuerpo;
var subject = asunto;
var plainTextContent = "";
var htmlContent = body;
var showAllRecipients = true;
var msg = MailHelper.CreateSingleEmailToMultipleRecipients(from, tos, subject, plainTextContent, htmlContent, showAllRecipients);
msg.AddAttachments(Archivos);
clientSendGrid.SendEmailAsync(msg).Wait();
return true;
}
catch (Exception)
{
return false;
}
}
【问题讨论】:
-
您将文件附加到电子邮件并发送的部分在哪里?
-
嗨,AseraH,我已经把发送邮件的完整方法放好了。
-
您创建了附件,但从未以编程方式将其添加到电子邮件中。您缺少将
files添加到电子邮件的行。 -
@Renan,List
Archivos ,是文件进来的参数 -
@Renan 这只是一种可重复使用的方法
标签: c# email attachment sendgrid