學習-email實現 by Python3
阿新 • • 發佈:2018-12-02
#coding:utf-8 #!/usr/bin/env python3 import smtplib from email import encoders from email.mime.text import MIMEText from email.header import Header from email.utils import parseaddr, formataddr def _format_addr(s): """編寫了一個函式來格式化一個郵件地址。 不能簡單地傳入name <
[email protected]>, 因為如果包含中文,需要通過Header物件進行編碼。 """ name, addr = parseaddr(s) return formataddr((Header(name, 'utf-8').encode(), addr)) from_addr = input('from:') password = input('password:') #這裡的金鑰不是郵箱密碼 smtp_server = 'smtp.126.com' to_addr = input('to:') #不同的資訊型別對應不同的格式,plain或html # msg = MIMEText('hello你好, send by python3... ', 'plain', 'utf-8') msg = MIMEText('<html><body><h3>Hello</h3>' + '<p>send by <a href="http://www.python.org">Python</a>...</p>' + '</body></html>', 'html', 'utf-8') msg['From'] = _format_addr('Python lover <%s>' % from_addr) msg['To'] = _format_addr('管理員 <%s>' % to_addr) msg['Subject'] = Header('來自SMTP的問候……', 'utf-8').encode() server = smtplib.SMTP(smtp_server, 25) #SMTP埠是25 server.set_debuglevel(1) server.login(from_addr, password) server.sendmail(from_addr, [to_addr], msg.as_string()) server.quit()
注意事項:
1,郵箱必須手動開通POP或SMTP功能,即通過第三方軟體登陸訪問SMTP伺服器
2,傳送資訊需要補充From,To,Subject,不然會被拒絕。
3,