亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Go 中解析電子郵件標題

在 Go 中解析電子郵件標題

Go
慕碼人8056858 2021-12-27 18:08:45
如何從 Go 中的電子郵件中讀取一些標題?通常我會使用ReadMIMEHeader(),但遺憾的是并不是每個人都閱讀了所有相關的 RFC,對于某些消息,我得到的輸出如下:格式錯誤的 MIME 標題行:name="7DDA4_foo_9E5D72.zip"我將罪魁禍首縮小為Content-Type: application/x-zip-compressed; x-unix-mode=0600;name="7DDA4_foo_9E5D72.zip"代替Content-Type: application/x-zip-compressed; x-unix-mode=0600;   name="7DDA4_foo_9E5D72.zip"在消息的來源中。去游樂場示例無論是否縮進,正確解析標題的正確方法是什么?
查看完整描述

2 回答

?
Smart貓小萌

TA貢獻1911條經驗 獲得超7個贊

鑒于消息格式不正確,我將通過重新格式化消息的單獨代碼段修復它:


func fixBrokenMime(r_ io.Reader, w io.WriteCloser) {

    r := bufio.NewScanner(bufio.NewReader(r_))

    for r.Scan() {

        line := r.Text()

        if len(line) > 0 && line[0] != ' ' && strings.IndexByte(line, ':') < 0 {

            line = " " + line

        }

        w.Write([]byte(line+"\n"))

    }

    w.Close()

}

游樂場:http : //play.golang.org/p/OZsXT7pmtN


顯然,您可能需要不同的啟發式方法。我假設沒有縮進且不包含“:”的行必須縮進。


查看完整回答
反對 回復 2021-12-27
?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

查看https://github.com/sendgrid/go-gmime(免責聲明,我使用 SendGrid,但沒有在 lib 中組合任何東西)


查看完整回答
反對 回復 2021-12-27
  • 2 回答
  • 0 關注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號