为了账号安全,请及时绑定邮箱和手机立即绑定

Go-Mail 多个收件人和附件

Go-Mail 多个收件人和附件

Go
子衿沉夜 2023-02-14 17:35:15
我正在尝试使用 go-mail 库创建电子邮件服务并使其正常工作。然而,我无法解决的挑战很少我有表单数据的结构-type SendMailBody struct {    EmailTo []string `form:"sendTo"`    Subject string   `form:"subject"`    Body    string   `form:"body"`}我发送给 API 的表单数据是subject: NotificationsendTo:["abc@gmail.com", "xyz@gmail.com"]body:You have been notified挑战-如果我在“sendTO”中传递一封电子邮件,它工作正常。但是在通过邮件片段后,它无法将邮件发送给收件人。我怎样才能让它工作?如果我通过表单数据传递附件,我如何将它附加到邮件中。在文档中,提到我们可以那样做 "m.Attach("/tmp/image.jpg")" 。但是,如果我通过 API 中的表单数据传递附件,我应该怎么做请指导我。
查看完整描述

1 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

这里需要一些更多的细节来提供帮助。特别是您使用的是哪个 go-mail?

对于 1.)

如果您参考https://github.com/wneessen/go-mail,使用Msg.To()应该适用于多个收件人。请参阅文档:https ://pkg.go.dev/github.com/wneessen/go-mail#Msg.To

如果您参考https://github.com/go-mail/mail,则有Message.SetAddressHeader()https://pkg.go.dev/github.com/go-mail/mail?utm_source=godoc#Message.SetAddressHeader )不支持多个收件人地址。您需要改用Message.SetHeaders()"To"header(https://pkg.go.dev/github.com/go-mail/mail?utm_source=godoc#Message.SetHeaders)。

对于 2.)

这完全取决于您如何阅读附件数据(同样也取决于您正在使用的 go-mail 库)。https://github.com/wneessen/go-mail有不同的附加和嵌入文件的方式(即来自本地文件,来自 embedFS,来自 io.Reader ...)


查看完整回答
反对 回复 2023-02-14
  • 1 回答
  • 0 关注
  • 92 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信