SMTP——简单邮件传输协议,一个古老而简单的邮件协议,相信很多小伙伴都用到。
比如使用过foxmail或其他邮件客户端软件的人,也有不少没有使用过的,因为现在大多邮箱都有浏览器版的。
需要注意的是如果您申请了163或者QQ邮件(或者其他互联网的邮箱)通常情况下默认是没有开通SMTP协议,原因嘛当然是安全,因为SMTP简单、古老,当然也有安全问题——类似的如FTP协议等也有安全问题,原因是SMTP是以明文发送,如果谁半路把消息截获密码直接就是ASCII码,然后就可以大声喊出来。
好吧,不管是否安全,因为简单好用,大家还是照用。下面就开始代码之旅吧:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 第三方 SMTP 服务
mail_host = "imap.exmail.qq.com" # 设置服务器
mail_user = "xx@xx.com" # 用户名
mail_pass = "password" # 口令
sender = 'send@xx.com.cn'
receivers = ['receiver@qq.com'] # 接收邮件,可设置为你的QQ邮箱或者其他邮箱
message = MIMEText('本周培训,请及时准备', 'plain', 'utf-8')
message['From'] = Header("培训,请及时准备", 'utf-8')
message['To'] = Header("培训", 'utf-8')
subject = '培训,请及时准备'
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25) # 25 为 SMTP 端口号
smtpObj.login(mail_user, mail_pass)
smtpObj.sendmail(sender, receivers, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException:
print("Error: 无法发送邮件")