exchage郵件服務(wù)器發(fā)送郵件

今天搞個exchage郵件服務(wù)器發(fā)送郵件的問題, 由于對整個機(jī)制不熟悉,費(fèi)了很大功夫才弄出來,主要是端口用錯了,這里記錄一下:

圖片.png

25:SMTP 80:HTTP 110:POP3 143:IMAP
443:HTTPS 587:SMTP 993:IMAP4 SSL 995:POP3 SSL

關(guān)于SMTP 和 POP3 IMAP的解釋知乎上有一段:

作者:知行合一
鏈接:https://www.zhihu.com/question/24605584/answer  /103769637
來源:知乎
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
  • POP3是Post Office Protocol 3的簡稱,即郵局協(xié)議的第3個版本,它規(guī)定怎樣將個人計(jì)算機(jī)連接到Internet的郵件服務(wù)器和下載電子郵件的電子協(xié)議。它是因特網(wǎng)電子郵件的第一個離線協(xié)議標(biāo)準(zhǔn),POP3允許用戶從服務(wù)器上把郵件存儲到本地主機(jī)(即自己的計(jì)算機(jī))上,同時刪除保存在郵件服務(wù)器上的郵件,而POP3服務(wù)器則是遵循POP3協(xié)議的接收郵件服務(wù)器,用來接收電子郵件的。

  • 與IMAP有什么區(qū)別 POP3協(xié)議允許電子郵件客戶端下載服務(wù)器上的郵件,但是在客戶端的操作(如移動郵件、標(biāo)記已讀等),不會反饋到服務(wù)器上,比如通過客戶端收取了郵箱中的3封郵件并移動到其他文件夾,郵箱服務(wù)器上的這些郵件是沒有同時被移動的 。 而IMAP提供webmail 與電子郵件客戶端之間的雙向通信,客戶端的操作都會反饋到服務(wù)器上,對郵件進(jìn)行的操作,服務(wù)器上的郵件也會做相應(yīng)的動作。 同時,IMAP像POP3那樣提供了方便的郵件下載服務(wù),讓用戶能進(jìn)行離線閱讀。IMAP提供的摘要瀏覽功能可以讓你在閱讀完所有的郵件到達(dá)時間、主題、發(fā)件人、大小等信息后才作出是否下載的決定。此外,IMAP 更好地支持了從多個不同設(shè)備中隨時訪問新郵件。 總之,IMAP 整體上為用戶帶來更為便捷和可靠的體驗(yàn)。POP3 更易丟失郵件或多次下載相同的郵件,但 IMAP 通過郵件客戶端與webmail 之間的雙向同步功能很好地避免了這些問題。

  • SMTP SMTP 的全稱是“Simple Mail Transfer Protocol”,即簡單郵件傳輸協(xié)議。它是一組用于從源地址到目的地址傳輸郵件的規(guī)范,通過它來控制郵件的中轉(zhuǎn)方式。SMTP 協(xié)議屬于 TCP/IP 協(xié)議簇,它幫助每臺計(jì)算機(jī)在發(fā)送或中轉(zhuǎn)信件時找到下一個目的地。SMTP 服務(wù)器就是遵循 SMTP 協(xié)議的發(fā)送郵件服務(wù)器。 SMTP 認(rèn)證,簡單地說就是要求必須在提供了賬戶名和密碼之后才可以登錄 SMTP 服務(wù)器,這就使得那些垃圾郵件的散播者無可乘之機(jī)。 增加 SMTP 認(rèn)證的目的是為了使用戶避免受到垃圾郵件的侵?jǐn)_。 IMAP IMAP全稱是Internet Mail Access Protocol,即交互式郵件存取協(xié)議,它是跟POP3類似郵件訪問標(biāo)準(zhǔn)協(xié)議之一。不同的是,開啟了IMAP后,您在電子郵件客戶端收取的郵件仍然保留在服務(wù)器上,同時在客戶端上的操作都會反饋到服務(wù)器上,如:刪除郵件,標(biāo)記已讀等,服務(wù)器上的郵件也會做相應(yīng)的動作。所以無論從瀏覽器登錄郵箱或者客戶端軟件登錄郵箱,看到的郵件以及狀態(tài)都是一致的

python代碼:

import smtplib

url = YOUR_EXCHANGE_SERVER
conn = smtplib.SMTP(url,587)   # 注意必須是25 或者 587
conn.starttls()  # 先創(chuàng)建SSL安全連接,exchange、gemail必須有這一步, 163有沒有均可
user,password = (EXCHANGE_USER,EXCHANGE_PASSWORD)
conn.login(user,password)

msg = MIMEText('關(guān)于python smtp的測試郵件','plain', 'utf-8')
msg['From'] = formataddr(["fx01", fromaddr])   
msg['To'] = formataddr(["fx02", toaddrs])       
msg['Subject'] = "關(guān)于python smtp的測試郵件"   
conn.sendmail(fromaddr, [toaddrs, fromaddr], msg.as_string())   
conn.quit()   # 關(guān)閉連接

參考:http://stackoverflow.com/questions/288546/connect-to-exchange-mailbox-with-python

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容