一、SMTP 发送邮件
SMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。
Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
二、邮箱的准备工作
声明:本作者在这里时用163邮箱作为发送端,因为163邮箱的授权密码是一次设定成功后无需修改的,相对我们的实验来说更简单
1、开启
2、开启后会让你设定授权码,开启后并保存
二、发送文本文件
1、编辑一个我们发送端的emailconf
这里的emailconf是一个标准文件,用来记录我们在使用邮件发送的必要信息的,
import random
subjects = ['westos01', 'westos02', 'westos03', 'westos04']
sender = '18710715019@163.com'
# sender = 'xc_guofan@163.com'
#这里的passwd是邮箱的授权玛
passwd = 'westos123'
# receiver = ['616637861@qq.com', '1771764895@qq.com']
receiver = '616637861@qq.com'
subject = random.choice(subjects)
# with open('html.html') as f :
# content = f.read()
content = """
hello python ...
this is test email
"""
sender 发送端邮箱
passwd 邮箱的授权码
receiver 接受方的邮箱
subject 为标题,由于我做实验需要进行多次实验,名字一旦重复频率过高则会被邮件服务器认为是垃圾邮件,所以我们生成一个标题列表,从而避免上述问题
content 则为正文,可以写任何你需要的消息
2、发送邮件
这里导入的emilconf为上面我们编辑的发送信息
import smtplib
from email.mime.text import MIMEText
from emilconf import *
def mail():
msg = MIMEText(content,'plain','utf8') #第一项:就为我们邮件的正文,第二项:我们发送的是一份文本邮件, 第三项:遍码格式
msg['From'] = sender #从那里发出
msg['To'] = receiver #发送向哪里
msg['Subject'] = subject #标题
return msg
def sendmail():
try:
smt = smtplib.SMTP('smtp.163.com'