m.SetHeader(To, emailInfo.Recipient…) // 切片可以傳遞給不定參數

這句代碼學到了函數參數還可以這樣傳遞。

main函數中,接收郵件的流程如下:

//接收郵件log.Println(連接服務器)

c, err := client.DialTLS(imap.qq.com:993, nil)

check_error(err)

defer c.Logout() // 結束后退出登錄

if err = c.Login(emailInfo.FromEmail, emailInfo.FromPasswd); err != nil {

log.Fatal(err)

}

log.Println(已登錄)

如果直接讀收件箱,可以這樣寫(通過下標來指定讀取哪幾封郵件):

var mbox *imap.MailboxStatusmbox, err = c.Select(INBOX, false)

check_error(err)

log.Println(Flags for INBOX:, mbox.Flags) // [\\\\Answered \\\\Flagged \\\\Deleted \\\\Draft \\\\Seen]// Get the last4 messages

ifrom := uint32(1)

ito := mbox.Messages

if mbox.Messages > 3 {

//

seqset := new(imap.SeqSet)

seqset.AddRange(ifrom, ito)

下面用一個for循環從指定位置讀郵件,其中go func() {}部分都是啟動一個goroutine子進程(工作線程)去讀取內容。

代碼中From和To可能還存在編碼問題,需要解決–從最后的運行結果也可以看到。

循環讀取信件body

續 循環讀取信件body
上面是讀取信內容。

如果需要讀取郵件列表,則可以這樣寫:

列出郵件文件夾
讀寫郵件,其實還是需要去了解郵件協議。

一封傳統的電子郵件:

From: Tim <tim@example.com>

To: joe Zhang <zhang@example.com>

Subject: Test

Date: Wed, 17 May 2020 12:02:29 -0400

Message-ID: <NDBBIAKOPKHFGPLCODIGIEKBCHAA.tim@example.com>

Hello World.

在結構上,這封信分為三個部分:首先是信件頭,然后是一個空行,最后是信件內容。

符合規范RFC 822。但是協議規定導致

1)非英語字符都不能在電子郵件中使用;

2)電子郵件中不能插入二進制文件(如圖片);

3)電子郵件不能有附件

這導致補充協議 MIME系列誕生。

MIME對傳統電子郵件的擴展,表現在它在信件頭部分添加了幾條語句,主要有三條

第一條是:指明這封信使用了MIME規范

MIME-Version: 1.0

第二條語句是:它表明傳遞的信息類型和采用的編碼

Content-Type: text/plain; charset=ISO-8859-1

Content-Type表明信息類型,缺省值為 text/plain。它包含了主要類型(primary type)和次要類型(subtype)兩個部分,兩者之間用/分割。主要類型有9種,分別是application、audio、example、image、message、model、multipart、text、video。

經常使用的有:

text/plain:純文本,文件擴展名.txttext/html:HTML文本,文件擴展名.htm和.htmlimage/jpeg:jpeg格式的圖片,文件擴展名.jpgimage/gif:GIF格式的圖片,文件擴展名.gifaudio/x-wave:WAVE格式的音頻,文件擴展名.wavaudio/mpeg:MP3格式的音頻,文件擴展名.mp3video/mpeg:MPEG格式的視頻,文件擴展名.mpgapplication/zip:PK-ZIP格式的壓縮文件,文件擴展名.zip

如果信息的主要類型是text,那還須指明編碼類型charset,缺省值是ASCII,也可能ISO-8859-1、UTF-8、GB2312等

MIME規定了第三條語句:

Content-transfer-encoding: base64

舉個例子:

郵件的源碼:

Date: Wed, 18 Jun 2008 18:07:51 0800 (CST)From: xxx <xxx@163.com>To: yifeng.ruan@gmail.comMessage-ID: <14410503.1073611213783671983.JavaMail.coremail@bj163app54.163.com>Subject: =?gbk?B?xOO6ww==?=MIME-Version: 1.0Content-Type: multipart/alternative;boundary=—-=_Part_287491_22998031.1213783671982——=_Part_287491_22998031.1213783671982Content-Type: text/plain; charset=gbkContent-Transfer-Encoding: base64IAq4 b7dsr 209PQudi55raoo6yyu7XD1Nq12Le9yM66zs341b7Jz7nSz DTprXEtqvO96Osx vE49TaxOO1xLKpv83W0AogIArW0Ln6yr2x6tPvIC0gyO7Su7fltcTN MLnyNXWvgoKtcS12jEy1cXNvMasyb6z/aOst/HU8s7Sw8fXt76/xOO1xM/gudjU8MjOoaPQu9C7us/X96OhtMvNvMas1Nq4vbz wO/D5g==——=_Part_287491_22998031.1213783671982Content-Type: text/html; charset=gbkContent-Transfer-Encoding: quoted-printable<DIV> </DIV><DIV>=B8=F9=BE=DD=B2=BF=B6=D3=D3=D0=B9=D8=B9=E6=B6=A8=A3=AC=B2=BB=B5=C3=D4==DA=B5=D8=B7=BD=C8=CE=BA=CE=CD=F8=D5=BE=C9=CF=B9=D2=CF=E0=D3=A6=B5=C4=B6=AB==CE=F7=A3=AC=C7=EB=C4=E3=D4=DA=C4=E3=B5=C4=B2=A9=BF=CD=D6=D0</DIV><DIV> ……

可以看到這封信的MIME語句是:

MIME-Version: 1.0Content-Type: multipart/alternative;boundary=—-=_Part_287491_22998031.1213783671982

Content-Type: multipart/alternative;表明這封信的內容,是純文本和HTML文本的混合。另兩個可能的值是multipart/mixed和multipart/related,分別表示信件內容中有二進制內容和信件帶有附件。

boundary=—-=_Part_287491_22998031.1213783671982表明不同信件內容的分割線是—-=_Part_287491_22998031.1213783671982,它通常是一個很長的隨機字符串。

信件內容部分又有兩個子信件頭:

Content-Type: text/plain; charset=gbkContent-Transfer-Encoding: base64

Content-Type: text/html; charset=gbkContent-Transfer-Encoding: quoted-printable

它們表明,第一個部分是gbk編碼的純文本,編碼轉換格式是base64。第二個部分是gbk編碼的HTML文本,編碼轉化格式是quoted-printable。

更多關于云服務器域名注冊,虛擬主機的問題,請訪問三五互聯官網:m.shinetop.cn

贊(0)
聲明:本網站發布的內容(圖片、視頻和文字)以原創、轉載和分享網絡內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。郵箱:3140448839@qq.com。本站原創內容未經允許不得轉載,或轉載時需注明出處:三五互聯知識庫 » 用GoLang給自己寫讀寫郵件的工具

登錄

找回密碼

注冊

主站蜘蛛池模板: 日韩乱码人妻无码中文字幕视频| 亚洲国产欧美一区二区好看电影| 久热久视频免费在线观看| 亚洲AVAV天堂AV在线网阿V| 国产精品国产三级国快看| 四虎永久精品免费视频| 午夜福利在线观看成人| 国产又爽又黄又无遮挡的激情视频| 国产亚洲精品第一综合| 精品无码国产一区二区三区av | 午夜精品一区二区三区免费视频| 国产精品一区二区三区色| 无码国产偷倩在线播放| 偷拍精品一区二区三区| 日本一卡2卡3卡四卡精品网站| 国产偷窥熟女高潮精品视频| 在线观看中文字幕码国产| 91青青草视频在线观看| 国产精品一区二区小视频| 四子王旗| 亚洲色欲色欱WWW在线| 人妻系列中文字幕精品| 中文字幕人成无码免费视频| 亚洲人成人网站色www| 国产偷倩视频| 黄色不卡视频一区二区三区 | 人妻少妇精品中文字幕| 无码AV无码免费一区二区| 欧洲一区二区中文字幕| 国产在线精品欧美日韩电影 | 亚洲av成人无网码天堂| 清河县| 成人免费乱码大片a毛片| 最新亚洲人成网站在线观看| 久久精品国产6699国产精| 国产精品免费无遮挡无码永久视频| 躁躁躁日日躁| 国产精品一区二区三区麻豆 | 亚洲国产性夜夜综合| 亚洲婷婷综合色高清在线| 国产成人精品永久免费视频|