先来一个最简单的,邮件只包含文本的,代码如下:
from email import encoders
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr, formataddr
def _format_addr(s):
name, addr = parseaddr(s)
return formataddr((Header(name, 'utf-8').encode(), addr))
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
# 发送html邮件
# msg = MIMEText('<html><body><h1>Hello</h1>' +
# '<p>send by <a href="http://www.python.org">Python</a>...</p>' +
# '</body></html>', 'html', 'utf-8')
msg['From'] = _format_addr('Python爱好者 <%s>' % 'denglin.wang@edaysoft.cn')
msg['To'] = _format_addr('管理员 <%s>' % 'denglin.wang@edaysoft.cn')
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
import smtplib
server = smtplib.SMTP('smtp.exmail.qq.com', 25) # SMTP协议默认端口是25
server.set_debuglevel(1)
server.login('账号', '密码')
server.sendmail('发件人', '收件人', msg.as_string())
server.quit()