1. 程式人生 > >學習-email實現 by Python3

學習-email實現 by Python3

學習資料:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001432005226355aadb8d4b2f3f42f6b1d6f2c5bd8d5263000

    #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,