自学python发送邮件,自己就试着写了一个最基础的版本
import smtplib
from email.header import Header
from email.mime.text import MIMEText
# email 用于构建邮件内容
- 导入发邮件的模块,其中email模块中的MIMEText用于发送纯文本,MIMEimage发送图片,MIMEMultipart发送附件。我个人只采用了MIMEText(content,type,charset).这里以发送qq邮件为例:
# 开启发信服务,qq邮件使用的是加密传输
smtp_server = 'smtp.qq.com'# 发信服务器
server = smtplib.SMTP_SSL(smtp_server)
server.connect(smtp_server,465)
# 登录发信邮箱
server.login(from_addr, password)
# 发送邮件
server.sendmail(from_addr, to_addr, msg.as_string())
# 关闭服务器
server.quit()
- 这就是发送邮件基本结构。msg就是我们所要发送的邮件,以下就要构建邮件内容:
msg = MIMEText(text,'plain','utf-8')# 邮箱正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码
text='''hello world
这是我的第一份邮件
下面还有第二份
第三份
'''
msg['From']=Header(from_addr)
msg['To']=Header(','.join(to_addr))
msg['Subject']=Header('python test')
- 最后,要给出发送方接收方:
# 发信方的信息:发信邮箱,QQ 邮箱授权码
from_addr = 'xxx@qq.com'
password = 'xxxxx'
# 收信方邮箱
to_addr =['xxxxx@qq.com','xxxxxx@qq.com','xxxxx@qq.com']#要群发的列表
附:在邮箱设置中,将POP3/SMTP服务打开,通过验证后,会收到qq邮箱授权码