我正在尝试使用 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 设置标头吗?和内容类型?如果是这样,正确的做法是什么?因为当我尝试设置时,它告诉我这个标题已经存在,请帮忙谢谢!