最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python使用smtplib模塊發(fā)送電子郵件的流程詳解

 更新時(shí)間:2016年06月27日 14:50:19   作者:j_hao104  
Python中自帶的smtplib模塊可以進(jìn)行基于SMTP協(xié)議的郵件操作,這里我們便總結(jié)了Python使用smtplib模塊發(fā)送電子郵件的流程詳解,并對(duì)一些常見(jiàn)的問(wèn)題給出了解決方法:

1、登錄SMTP服務(wù)器
首先使用網(wǎng)上的方法(這里使用163郵箱,smtp.163.com是smtp服務(wù)器地址,25為端口號(hào)):

import smtplib
server = smtplib.SMTP('smtp.163.com', 25)
server.login('j_hao104@163.com', 'password')
Traceback (most recent call last):
 File "C:/python/t.py", line 192, in <module>
  server.login('j_hao104@163.com', 'password')
 File "C:\Python27\lib\smtplib.py", line 622, in login
  raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed')

發(fā)現(xiàn)返回: 

smtplib.SMTPAuthenticationError: (535, 'Error: authentication failed')

,提示驗(yàn)證失敗。
有說(shuō)python不支持SMTP服務(wù),或是服務(wù)沒(méi)開(kāi)啟之類(lèi)的。但是我想起上次我用foxmail登錄我的163郵箱的時(shí)候,郵箱密碼都輸對(duì)了還是提示我密碼錯(cuò)誤,最后的解決辦法是:像QQ和163郵箱現(xiàn)在都有個(gè)客戶(hù)端密碼,用第三方登錄時(shí)需用客戶(hù)端密碼登錄才行,python也是如此,因此去設(shè)置好客戶(hù)端密碼,再用客戶(hù)端密碼登錄。

2016627144753064.png (700×421)

import smtplib
server = smtplib.SMTP('smtp.163.com', 25)
server.login('j_hao104@163.com', 'clientPassword')

    此時(shí)便返回登錄成功提示:

(235, 'Authentication successful')

2、發(fā)送郵件

首先使用網(wǎng)上給出的代碼:

import smtplib
from email.mime.text import MIMEText
server = smtplib.SMTP('smtp.163.com', 25)
server.login('j_hao104@163.com', 'clientPassword')
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
server.sendmail('j_hao104@163.com', ['946150454@qq.com'], msg.as_string())

構(gòu)造MIMEText對(duì)象時(shí),第一個(gè)參數(shù)是郵件正文,第二個(gè)參數(shù)是MIME的subtype,最后個(gè)是編碼方式。
sendmail是發(fā)郵件方法,第一個(gè)參數(shù)是發(fā)件郵箱,第二個(gè)參數(shù)是收件人郵箱,是一個(gè)列表,代表可以同時(shí)發(fā)給多個(gè)人,as_string是把MIMEText對(duì)象變成str。
但是執(zhí)行結(jié)果并不能得到網(wǎng)上說(shuō)的結(jié)果:

2016627144839301.jpg (350×162)

而是:

Traceback (most recent call last):
 File "C:/python/t.py", line 195, in <module>
  server.sendmail('j_hao104@163.com', ['946150454@qq.com'], msg.as_string())
 File "C:\Python27\lib\smtplib.py", line 746, in sendmail
  raise SMTPDataError(code, resp)
smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp11,D8CowEDpDkE427JW_wQIAA--.4996S2 1454562105,please see http://mail.163.com/help/help_spam_16.htm?ip=171.221.144.51&hostid=smtp11&time=1454562105')

網(wǎng)上一查才知道:smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp11……的錯(cuò)誤是因?yàn)樾欧獍l(fā)件人和信頭發(fā)件人不匹配??梢钥闯隹闯鰣D片中并沒(méi)有發(fā)件人和主題,所以需要對(duì)代碼做如下修改:

import smtplib
from email.header import Header
from email.mime.text import MIMEText
server = smtplib.SMTP('smtp.163.com', 25)
server.login('j_hao104@163.com', 'clientPassword')
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = 'j_hao104@163.com <j_hao104@163.com>'
msg['Subject'] = Header(u'text', 'utf8').encode()
msg['To'] = u'飛輪海 <jinghao5849312@qq.com>'
server.sendmail('j_hao104@163.com', ['946150454@qq.com'], msg.as_string())

這樣就能成功發(fā)出郵件啦
msg里的具體信息可以用一般發(fā)郵件方式發(fā)封郵件測(cè)試下

2016627144903688.png (424×155)

3、參考示例

import smtplib
from email.mime.text import MIMEText

to_list = ['123@123.com', '456@456.com']
server_host = 'smtp.163.com'

username = '你的郵箱賬號(hào)'
password = '你的郵箱密碼'


def send(to_list, sub, content):
  '''
  :param to_list: 收件人郵箱
  :param sub: 郵件標(biāo)題
  :param content: 內(nèi)容
  '''
  me = "manager" + "<" + username + ">" 
  # _subtype 可以設(shè)為html,默認(rèn)是plain
  msg = MIMEText(content, _subtype='html')
  msg['Subject'] = sub
  msg['From'] = me
  msg['To'] = ';'.join(to_list)
  try:
    server = smtplib.SMTP()
    server.connect(server_host)
    server.login(username, password)
    server.sendmail(me, to_list, msg.as_string())
    server.close()
  except Exception as e:
    print str(e)

if __name__ == '__main__':
  send(to_list, "這個(gè)是一個(gè)郵件", "<h1>Hello, It's test email.</h1>")

相關(guān)文章

  • Python實(shí)用技巧之臨時(shí)文件的妙用

    Python實(shí)用技巧之臨時(shí)文件的妙用

    當(dāng)我們用Python編寫(xiě)程序時(shí),有時(shí)候需要臨時(shí)存儲(chǔ)數(shù)據(jù)且不希望占用多少內(nèi)存,這些情況下以創(chuàng)建臨時(shí)文件的方式進(jìn)行處理,既不會(huì)干擾本地文件系統(tǒng),又安全省事。本文主要介紹了臨時(shí)文件的一些妙用,希望大家能夠喜歡
    2023-02-02
  • Python超簡(jiǎn)單容易上手的畫(huà)圖工具庫(kù)(適合新手)

    Python超簡(jiǎn)單容易上手的畫(huà)圖工具庫(kù)(適合新手)

    這篇文章主要給大家介紹了關(guān)于Python超簡(jiǎn)單容易上手的畫(huà)圖工具庫(kù)的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • python:pandas合并csv文件的方法(圖書(shū)數(shù)據(jù)集成)

    python:pandas合并csv文件的方法(圖書(shū)數(shù)據(jù)集成)

    下面小編就為大家分享一篇python:pandas合并csv文件的方法(圖書(shū)數(shù)據(jù)集成),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • 7個(gè)提高Python代碼運(yùn)行效率的小技巧

    7個(gè)提高Python代碼運(yùn)行效率的小技巧

    提高Python代碼的運(yùn)行效率是每個(gè)Python開(kāi)發(fā)者都關(guān)心的問(wèn)題,本文有7個(gè)可以提高Python代碼運(yùn)行效率的小貼士,希望對(duì)大家有一定的幫助
    2024-11-11
  • 詳解Python列表賦值復(fù)制深拷貝及5種淺拷貝

    詳解Python列表賦值復(fù)制深拷貝及5種淺拷貝

    這篇文章主要介紹了Python列表賦值,復(fù)制,深拷貝以及5種淺拷貝詳解,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-05-05
  • Python中文本和數(shù)字相等判斷方式

    Python中文本和數(shù)字相等判斷方式

    這篇文章主要介紹了Python中文本和數(shù)字相等判斷方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • django-csrf使用和禁用方式

    django-csrf使用和禁用方式

    這篇文章主要介紹了django-csrf使用和禁用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 怎么使用python繪制3D瀑布圖

    怎么使用python繪制3D瀑布圖

    這篇文章主要介紹了怎么使用python繪制3D瀑布圖的相關(guān)資料,瀑布圖是由麥肯錫顧問(wèn)公司所獨(dú)創(chuàng)的圖表類(lèi)型,因?yàn)樾嗡破俨剂魉Q(chēng)之為瀑布圖(Waterfall Plot),文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Django博客系統(tǒng)注冊(cè)之創(chuàng)建用戶(hù)模塊應(yīng)用

    Django博客系統(tǒng)注冊(cè)之創(chuàng)建用戶(hù)模塊應(yīng)用

    本文主要介紹了Django博客系統(tǒng)注冊(cè)之創(chuàng)建用戶(hù)模塊應(yīng)用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • python 實(shí)現(xiàn)的IP 存活掃描腳本

    python 實(shí)現(xiàn)的IP 存活掃描腳本

    這篇文章主要介紹了python 實(shí)現(xiàn)的IP 存活掃描腳本,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12

最新評(píng)論

建始县| 玉山县| 咸宁市| 嵩明县| 赫章县| 奉贤区| 永州市| 晋城| 文登市| 喜德县| 靖江市| 靖边县| 惠州市| 类乌齐县| 万全县| 香格里拉县| 湘乡市| 温宿县| 武城县| 广州市| 昆山市| 噶尔县| 云安县| 湘潭县| 泗洪县| 临泉县| 通河县| 吐鲁番市| 叶城县| 永靖县| 柳江县| 安岳县| 嵊泗县| 台南县| 凤翔县| 博客| 德安县| 红安县| 大方县| 云安县| 大理市|