我正在尝试在 Go 中解析我的电子邮件,我需要帮助。
如何获取邮件的Content-type字段?
cmd, _ = c.Fetch(set, "BODY[HEADER]", "BODY[1]")
for cmd.InProgress() {
for _, rsp = range cmd.Data {
header := imap.AsBytes(rsp.MessageInfo().Attrs["BODY[HEADER]"])
body := imap.AsString(rsp.MessageInfo().Attrs["BODY[1]"])
if msg, _ := mail.ReadMessage(bytes.NewReader(header)); msg != nil {
有了这个,我可以访问正文和 header ,但是当电子邮件包含包含文件时,然后使用 BODY[1]
我拥有所有元数据,而不仅仅是纯文本。为避免这种情况,我可以使用 BODY[1.1]
,但我需要 Content-Type:[multipart/alternative]
条件,但我无法访问该字段。
最佳答案
好的,所以我自己想通了。但无论如何,也许其他人对此感兴趣。您可以通过
访问邮件的各个字段msg.Header.Get("Content-type")
您可以输入任何 header 部分名称,而不是 Content-type
。
fmt.println(msg)
知道它有哪些名称字段
关于email - 使用 Golang 解析电子邮件字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34453104/