我正在尝试用 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]并且我无法访问该字段。