You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SendGrid API V3(Go包)按指定顺序发送附件?

SendGrid API V3 Go包附件顺序控制指南

能否控制附件顺序?

可以控制,SendGrid API V3会严格按照调用AddAttachment的顺序排列邮件附件,收件人看到的顺序和你代码中添加的顺序完全一致。

默认顺序规则

SendGrid不会自动对附件排序(比如按文件名、类型等),默认行为就是保留你添加附件的顺序,完全遵循AddAttachment的调用顺序。

现有代码的注意事项

你的代码逻辑没问题,但要确保两点:

  • attachments切片本身的顺序就是你期望收件人看到的顺序,循环是按切片索引顺序遍历的。
  • 循环过程中不要出现打乱切片顺序的操作,避免影响最终附件排列。

示例代码(确保顺序)

// 确保attachments切片已按目标顺序排列
for _, att := range attachments {
    attachment := sendgrid.NewAttachment()
    encodedFile := base64.StdEncoding.EncodeToString(att.FileData)
    
    attachment.SetType(att.MIMEType)
    attachment.SetFilename(att.FileName)
    attachment.SetContent(encodedFile)
    
    // 每次调用都会将附件追加到消息的附件列表末尾,顺序完全保留
    message.AddAttachment(attachment)
}

// 发送邮件
client := sendgrid.NewSendClient("你的API密钥")
_, err := client.Send(message)
if err != nil {
    // 处理发送错误
    log.Fatal(err)
}

验证方式

发送测试邮件时,按指定顺序添加不同类型附件(如CSV→JPG→ZIP→TXT→PNG→PPT),查看收件邮箱中的附件顺序,即可确认是否符合预期。

内容的提问来源于stack exchange,提问作者Mano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 22:54:52