用SMTP实现这个邮件的发送,代码如下
# -*- coding: utf-8 -*-
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))
from_addr = '15871753087@163.com'
password = '*********'//这里是SMTP的服务密码 不同于邮箱密码
to_addr = '417545906@qq.com'
smtp_server = 'smtp.163.com'
msg = MIMEText('hello, send by Python...', 'plain', 'utf-8')
msg['From'] = _format_addr('Python爱好者 <%s>' % from_addr)
msg['To'] = _format_addr('管理员 <%s>' % to_addr)
msg['Subject'] = Header('来自SMTP的问候……', 'utf-8').encode()
server = smtplib.SMTP(smtp_server, 25)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
需要注意的是不同的邮箱地址发送的邮件,要确定开启了SMTP服务,并将其作为验证码进行连接。
成功截图如下
有不懂的私戳我!