我正在尝试使用go邮件库创建一个电子邮件服务,并使其正常工作。然而,有一些挑战我无法解决
我有表单数据的结构-
type SendMailBody struct {
EmailTo []string `form:"sendTo"`
Subject string `form:"subject"`
Body string `form:"body"`
}
我发送给API的表单数据是
subject: Notification
sendTo:["abc@gmail.com", "xyz@gmail.com"]
body:You have been notified
挑战-
如果我在";sendTO";,它运行良好。但在通过了部分电子邮件后,它无法向收件人发送电子邮件。我怎样才能让它工作?
如果我通过表单数据传递附件,我如何将其与邮件附加在一起。在文档中,提到我们可以这样做";m.Attach("/tmp/image.jpg"(。但是如果我通过API 中的表单数据传递附件,我应该怎么做呢
请引导我完成这项工作。
这里需要更多的详细信息来提供帮助。特别是你使用的是哪种go邮件?
对于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"
-标头(https://pkg.go.dev/github.com/go-mail/mail?utm_source=godoc#Message.SetHeaders)。
对于2.(
这完全取决于你如何阅读附件数据(同样也取决于你正在使用的go邮件库(。https://github.com/wneessen/go-mail有不同的附加和嵌入文件的方式(即从本地文件,从embedFS,从io.Reader…(