email搭配smtplib编辑发送邮件
上一期写了如何使用smtplib模块进行发送邮件,本期将讲述email模块进行邮件的内容编辑。
首先导入模块
from email.header import Header
from email.mime.text import MIMEText
实例化一个MIMEText邮件对象,该对象需要写进三个参数,分别是邮件正文,文本格式和编码。
message = MIMEText(content,‘plain’,‘utf-8’)
#content 内容 plain 文本格式 utf-8 编码方式
#content 可使用input()进行输入内容
编写邮件的开头信息,例如:发件人地址,收件人地址,主题。
message[‘Subject’] = Header(subject)
message[‘From’] = Header(from_addr)
message[‘To’] = Header(to_addr)
#subject 主题 ,from_addr 发件人地址 ,to_addr收件人地址
即可发送邮件
server.sendmail(from_addr, to_addr, message.as_string())
as_string()表示发送的为文本文件
结合上一期的smtplib就可以发送邮件了,下面是一个完整的源代码
from email.mime.text import MIMETextfrom email.header import Headerimport smtplib#发信方的信息:发信邮箱,发信授权码from_addr = input('输入登录邮箱')password = '写你自己的授权码'#收信邮箱to_addr = input('输入收件邮箱:')#发信服务器smtp_server = ''subject = input('输入邮件主题:')text = input('输入发送内容:')message = MIMEText(text,'plain','utf-8')#From 发件人地址 To收件人地址 Subject主题message['From'] = Header(from_addr)message['To'] = Header(to_addr)message['Subject'] = Header(subject)server = smtplib.SMTP_SSL(smtp_server)# qq邮箱的端口是ssl加密server.connect(smtp_server,465)#发送邮件服务器:,使用SSL,端口号465或587 接收邮件服务器:,使用SSL,端口号993server.login(from_addr, password)#用户名和授权码try: server.sendmail(from_addr, to_addr, message.as_string()) print('恭喜,发送成功')except: print('发送失败请重试')#sendmail()方法需要三个参数:发件人,收件人和邮件内容。server.quit()#退出服务器