1. 程式人生 > 實用技巧 >Python發郵件

Python發郵件

#負責編碼
from email import encoders
#處理郵件頭
from email.header import Header
#負責處理文字
from email.mime.text import MIMEText
#負責輸出的內容格式化
from email.utils import parseaddr, formataddr
#負責傳送郵件
import smtplib

#輸入的內容進行格式化操作,將格式化後的內容賦值給變數
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr(( Header(name, ‘utf-8’).encode(), addr))

輸入Email地址和口令:
from_addr = input('請輸入發件人的郵箱號碼From: ')
password = input('請輸入發件人的郵箱密碼Password: ')
#輸入SMTP伺服器地址:
smtp_server = input('請輸入郵箱伺服器地址SMTP server: ')
輸入收件人地址:
to_addr = input('請輸入收件人郵箱地址To: ')

#郵件內容
content = ‘’’
你好!
‘’’
#固定格式
msg = MIMEText(content, ‘plain’, ‘utf-8’)
msg[‘From’] = _format_addr(u’發件人 <%s>’ % from_addr)

msg[‘To’] = _format_addr(u’收件人 <%s>’ % to_addr)
msg[‘Subject’] = Header(u’來自小K的問候……’, ‘utf-8’).encode()

server = smtplib.SMTP_SSL(smtp_server, 465)
#返回傳送狀態
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
在這裡插入圖片描述