无法使用 sendgrid api 发送附件

Posted

技术标签:

【中文标题】无法使用 sendgrid api 发送附件【英文标题】:Can't send attachment with sendgrid api 【发布时间】:2019-02-08 09:34:42 【问题描述】:

我有一个 byte[],它是我的 ASP.NET Core 2.1 应用程序中下载的 pdf 文件。

我正在尝试将此作为附件附加到 sendgrid 电子邮件中。

public async Task SendEmail(byte[] Attachment = null)

    var client = new SendGridClient(apiKey);

    var msg = new SendGridMessage();

    // I also set the To, Subject, body etc etc

    msg.AddAttachment("test.pdf",Convert.ToBase64String(Attachment) ,"application/pdf","inline");
    var response = await client.SendEmailAsync(msg);


我收到“BadReqest”状态代码。如果我删除 AddAttachment 行,则该消息被接受。

我做错了什么?

【问题讨论】:

【参考方案1】:

试试这样的:

 using (var stream = new MemoryStream(Attachment))
    
        msg.AddAttachment("test.pdf", stream);
        var response = await client.SendEmailAsync(msg);
    

【讨论】:

以上是关于无法使用 sendgrid api 发送附件的主要内容,如果未能解决你的问题,请参考以下文章

使用 SendGrid 发送带附件的电子邮件

在“nodejs”中使用“@sendgrid/mail”发送“base64”电子邮件“附件”时遇到问题

SendGrid 无法发送电子邮件、firebase 功能。 (代码:403)

Parse.com SendGrid 云模块:无法发送标头参数对象

SendGrid 无法从传输连接读取数据:net_io_connectionclosed

在 iOS 中使用 Mandrill API 的电子邮件无法正常使用图像附件