猿问

使用 Golang 解析电子邮件字段

我正在尝试用 Go 解析我的电子邮件,我需要帮助。


如何访问邮件的内容类型字段?


    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 {

有了这个,我可以访问BODY[1]正文和标题,但是当电子邮件包含包含文件时,我拥有所有元数据,而不仅仅是纯文本。为了避免这种情况,我可以使用BODY[1.1],但我需要条件,Content-Type:[multipart/alternative]并且我无法访问该字段。


翻翻过去那场雪
浏览 264回答 1
1回答

largeQ

好的,所以我自己想通了。但无论如何,也许其他人对此感兴趣。您可以通过以下方式访问各种邮件字段msg.Header.Get("Content-type")而不是Content-type您可以输入任何标题部分名称。fmt.println(msg)知道它有哪些名称字段
随时随地看视频慕课网APP

相关分类

Go
我要回答