国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python SMTP發送郵件

2019-11-08 02:03:25
字體:
來源:轉載
供稿:網友

練習python時遇到的問題

內容:

SMTP是發送郵件的協議,Python內置對SMTP的支持,可以發送純文本郵件、HTML郵件以及帶附件的郵件。

Python對SMTP支持有smtplibemail兩個模塊,email負責構造郵件,smtplib負責發送郵件。

首先,我們來構造一個最簡單的純文本郵件:

from email.mime.text import MIMETextmsg = MIMEText('hello, send by Python...', 'plain', 'utf-8')

注意到構造MIMEText對象時,第一個參數就是郵件正文,第二個參數是MIME的subtype,傳入'plain'表示純文本,最終的MIME就是'text/plain',最后一定要用utf-8編碼保證多語言兼容性。

然后,通過SMTP發出去:

# 輸入Email地址和口令:from_addr = input('From: ')passWord = input('Password: ')# 輸入收件人地址:to_addr = input('To: ')# 輸入SMTP服務器地址:smtp_server = input('SMTP server: ')import smtplibserver = smtplib.SMTP(smtp_server, 25) # SMTP協議默認端口是25server.set_debuglevel(1)server.login(from_addr, password)server.sendmail(from_addr, [to_addr], msg.as_string())server.quit()

我們用set_debuglevel(1)就可以打印出和SMTP服務器交互的所有信息。SMTP協議就是簡單的文本命令和響應。login()方法用來登錄SMTP服務器,sendmail()方法就是發郵件,由于可以一次發給多個人,所以傳入一個list,郵件正文是一個stras_string()MIMEText對象變成str

如果一切順利,就可以在收件人信箱中收到我們剛發送的Email:?

?------------------------分割線-----------------------------------------

我使用的是163郵箱

1、首先要確保自己的郵箱地址開啟了smtp服務,并設置客戶端授權登陸密碼:

2、發送郵件時,password應該填寫郵箱的授權登陸碼,而不是自己的郵箱密碼。

3、按照以上代碼運行,會報?錯

?Traceback (most recent call last):

  File "mailDemo.py", line 24, in

   server.sendmail(from_addr,[to_addr],msg.as_string())

  File "C:/PRogramFiles/Python35-32/lib/smtplib.py", line 878, in sendmail

    raise SMTPDataError(code,resp)

4、解決以上問題應該加上代碼:

?msg['From'] = from_addr

msg['To'] = to_addr

msg['Subject'] = 'the frist mail'


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 秦皇岛市| 通海县| 抚顺县| 屯门区| 太保市| 平利县| 蓝田县| 蓬莱市| 山阴县| 临清市| 普安县| 泽库县| 屯门区| 兴海县| 灵川县| 沅江市| 建宁县| 汨罗市| 忻城县| 方城县| 汉沽区| 望谟县| 乐亭县| 乳山市| 子洲县| 扬中市| 沧州市| 东宁县| 南岸区| 京山县| 丁青县| 宜宾县| 湛江市| 玛曲县| 肃北| 左贡县| 城市| 望奎县| 巫溪县| 晋宁县| 玛纳斯县|