91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python怎么發送郵件

發布時間:2022-02-21 16:01:23 來源:億速云 閱讀:119 作者:iii 欄目:開發技術

今天小編給大家分享一下python怎么發送郵件的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

介紹

有些小伙伴可能會問了:python發送郵件功能有什么用?實際上發送郵件功能確實很有用,小編曾經接觸過一個自動化測試的項目,它將項目部署在服務器上,運行結果就是通過郵件功能將測試報告發送到開發者的郵箱中的。當然,那個項目用的發送郵件的庫并不是stmplib庫這種簡單的庫,但是他們在使用上具有很多的相似之處,而且在輕量級的使用上stmplib庫已經足夠使用了。

 對于一個發送郵件功能,只要可以發送郵件就足夠了。而stmplib庫就體現了這一點。

安裝

stmplib 是 python 內置的庫,不需要額外的安裝。

使用

第一種方式:本地存在stmp服務器的情況下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = 'from@yisu.com'  # 發件人
receivers = ['429240967@qq.com']  # 收件人,可設置為你的QQ郵箱或者其他郵箱

# 三個參數:第一個為文本內容,第二個 plain 設置文本格式,第三個 utf-8 設置編碼
message = MIMEText('Python 郵件發送測試...', 'plain', 'utf-8')
message['From'] = Header("W3Cschool教程", 'utf-8')
message['To'] =  Header("測試", 'utf-8')

subject = 'Python SMTP 郵件測試'  # 要充當標題的字符串
message['Subject'] = Header(subject, 'utf-8') # 將要充當標題的字符串寫入郵件

try:
    smtpObj = smtplib.SMTP('localhost')
    smtpObj.sendmail(sender, receivers, message.as_string())
    print ("郵件發送成功")
except smtplib.SMTPException:
    print ("Error: 無法發送郵件")

 這種方式要求本地大有STMP服務器,這之后才可以用localhost作為stmp服務器地址,然而大多數情況下我們并沒有搭建本地的stmp服務器,這時候我們可以采用下面這種方式。

第二種方式:使用第三方STMP服務器:

很多郵箱服務的提供者會附帶提供stmp服務,比如國內常見的163郵箱和qq郵箱都有提供對應的stmp服務,我們可以使用這些stmp服務來實現發送郵件的功能(用以替代本地stmp服務)

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 第三方 SMTP 服務
mail_host="smtp.XXX.com"  #設置服務器
mail_user="XXXX"    #用戶名
mail_pass="XXXXXX"   #口令 


sender = 'from@yisu.com'  # 發件人
receivers = ['429240967@qq.com']  # 接收郵件,可設置為你的QQ郵箱或者其他郵箱

message = MIMEText('Python 郵件發送測試...', 'plain', 'utf-8')
message['From'] = Header("W3Cschool教程", 'utf-8')
message['To'] =  Header("測試", 'utf-8')

subject = 'Python SMTP 郵件測試'
message['Subject'] = Header(subject, 'utf-8')


try:
    smtpObj = smtplib.SMTP() 
    smtpObj.connect(mail_host, 25)    # 25 為 SMTP 端口號
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender, receivers, message.as_string())
    print ("郵件發送成功")
except smtplib.SMTPException:
    print ("Error: 無法發送郵件")

 注意:sender要修改成發件的用戶名,不然會報錯,另外,關于郵箱的口令并不是單純的郵箱密碼。

第三方郵件服務器支持

很多用戶并沒有本地的stmp服務器,而是采用郵箱服務商提供的stmp服務器,以常見的QQ郵箱為例,我們可以使用QQ賬號+@qq.com作為用戶名,QQ密碼作為密碼訪問qq郵箱,但在上述代碼中并不能使用qq密碼作為密碼,這涉及到安全問題。通常stmp服務采用的密碼是一個叫授權碼的字符串,也就是說上述代碼的mail_pass實際上填寫的是授權碼。這個授權碼可以到郵箱的設置中獲取。

以上就是“python怎么發送郵件”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阜阳市| 上犹县| 北宁市| 榆社县| 静海县| 澄迈县| 南京市| 麻栗坡县| 乡城县| 兰州市| 六盘水市| 当雄县| 沙洋县| 屯门区| 璧山县| 友谊县| 兴宁市| 新巴尔虎左旗| 灵石县| 城口县| 泾川县| 溧阳市| 武汉市| 和田县| 迁西县| 广平县| 威海市| 铜鼓县| 五常市| 保德县| 沙河市| 青龙| 延安市| 巴塘县| 宁阳县| 青岛市| 常山县| 宁武县| 岗巴县| 柘城县| 称多县|