SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。
发送文本邮件简单实例:
# By Python3.8
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
#定义邮件发送/收件地址
mail_sender = '*****@qq.com'
mail_send_password = '********'
mail_reciver = '*****@qq.com'
#定义邮件正文内容
msg_text = 'test'
def send_mail():
#构造邮件
msg = MIMEText(msg_text,'plain','utf-8')
msg['from'] = formataddr(['发件人',mail_sender])
msg['from'] = formataddr(['收件人',mail_sender])
msg['subject'] = '主题'
#发送邮件
#方法一: 本地安装sendmail,无需登录
server = smtplib.SMTP('localhost')
server.sendmail(mail_sender, mail_reciver, msg.as_string())
server.quit()
#方法二: 使用其他服务商的 SMTP 访问(QQ、网易、Google等),需要登录环节
server = smtplib.SMTP_SSL('smtp.qq.com',465)
server.login(mail_sender,mail_send_password)
server.sendmail(mail_sender,mail_reciver,msg.as_string())
server.quit()
send_mail()