Golang gomail 使用 AWS SES 发送带有 PDF 附件的电子邮件

问题描述 投票:0回答:0

我正在尝试使用 gomail 通过 AWS 的 SES(简单电子邮件服务)发送原始消息。在电子邮件中,我必须附加一个 PDF 文件作为附件。

目前,我能够收到我的电子邮件并查看内容,并且有一个附加的 pdf 文件。然而,当我点击它,试图打开它时,它显示“出了点问题。稍后再试”。

source := aws.String(ses_aws.Sender)
destinations := []string{recipent}

msg := gomail.NewMessage()
msg.SetHeader("From", ses_aws.Sender)
msg.SetHeader("To", recipent)
msg.SetHeader("Subject", "XXX")
msg.SetBody("text/html", "XXXX")
msg.Attach("pdf.pdf",
gomail.SetCopyFunc(func(w io.Writer) error {
_, err := w.Write(data)
    return err
    }),
)
var emailRaw bytes.Buffer
msg.WriteTo(&emailRaw)

message := &types.RawMessage{ Data: emailRaw.Bytes() }

input := &ses.SendRawEmailInput{
        Source: source,
        Destinations: destinations,
        RawMessage:     message,
    }
output, err := svc.SendRawEmail(context.TODO(), input)
    if err != nil {
        return "", err
    }

请问是什么问题造成的?日志中也没有错误。请在下面查看我的代码。具体来说,我需要为 MIME 设置标头吗?和内容类型?如果是这样,正确的做法是什么?因为当我尝试设置时,它告诉我这个标题已经存在,请帮忙谢谢!

go email pdf amazon-ses gomail
© www.soinside.com 2019 - 2024. All rights reserved.