如何在Golang中使用.EML文件/内容发送邮件?

问题描述

我正在使用标准版 https://expressjs.com/en/guide/routing.html 软件包,用于在Golang中发送邮件邮件生成部分与我将其存储在特定位置(即 /path/sample.eml 文件)的其他某些组件隔离。因此,我已经在.EML文件中预煮了邮件正文,我只想将其处理为新邮件。我可以使用 DusanKasan gomail 包来放置/解析.EML内容。我已经在要发送的原始 sample.eml 文件内容中设置了很多自定义标头。如果我得到一个示例代码,说仅将 .eml 文件作为输入,以便邮件正文将基于 .eml 文件内容生成/呈现,这将非常有用。 / p>

这是我用来发送邮件的示例代码

您可以在 parsemail

上细化EML内容字符串示例

这是我使用 .EML 软件包发送的基本邮件

m := gomail.NewMessage()
m.SetHeader("From","alex@example.com")
m.SetHeader("To","bob@example.com","cora@example.com")
m.SetAddressHeader("Cc","dan@example.com","Dan")
m.SetHeader("Subject","Hello!")
m.SetBody("text/html","Hello <b>Bob</b> and <i>Cora</i>!")
m.Attach("/home/Alex/lolcat.jpg")

d := gomail.NewDialer("smtp.example.com",587,"user","123456")

// Send the email to Bob,Cora and Dan.
if err := d.DialAndSend(m); err != nil {
    panic(err)
}

这是我使用parsemail gomail 软件包的eml解析代码

var reader io.Reader // this reads an email message
email,err := parsemail.Parse(reader) // returns Email struct and error
if err != nil {
    // handle error
}

fmt.Println(email.Subject)
fmt.Println(email.From)
fmt.Println(email.To)
fmt.Println(email.HTMLBody) 

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)