Python发送纯文本邮件

python发送邮件,各邮件服务商都有smtp服务器,但是注册完邮箱后呢,需要去开启pop3/smtp服务。国内的邮箱基本上都需要第三方登录授权码,在python代码中,登录密码就要替换成授权码。国人的东西,什么都是管控的,因为咱中国人,都太聪明而且无节制。我这里用的是qq邮箱。

1,纯文本格式:

 1 '''
 2     #利用python发送普通的文字邮件
 3     #内建库
 4     smtplib,发送邮件的
 5     email处理文字的
 6 '''
 7 import smtplib
 8 from smtplib import SMTP_SSL
 9 from email.mime.text import MIMEText #处理邮件文本
10 from email.mime.multipart import MIMEMultipart #构造构建主体
11 from email.header import Header #处理邮件头
12 
13 #定义登录信息
14 server = 'smtp.qq.com' #smtp服务器地址
15 user = 'xxxx@qq.com' #登录smtp服务器的用户名
16 pwd = '授权码字符串' #这里不要用邮箱登录密码,会出现验证错误,要用授权码
17 
18 #定义发件人和收件人
19 sender = 'xxx@qq.com' #发件人
20 receiver = 'xxx@outlook.com' #收件人
21 
22 #定义邮件主题和内容
23 title = 'Python测试邮件'
24 content = '这是一封来自python的测试邮件,详情访问https://www.python.org'
25 
26 #开始构造邮件
27 msg = MIMEMultipart() #构造邮件
28 msg['Subject'] = Header(title, 'utf-8') #邮件主题
29 msg['From'] = sender #发件人
30 msg['To'] = receiver #收件人
31 msg.attach(MIMEText(content, 'plain', 'utf-8')) #邮件正文,以plain格式发送,我习惯叫打包内容
32 
33 #开始登录邮箱
34 smtp = SMTP_SSL(server) #以ssl的方式登录邮箱
35 smtp.login(user, pwd) #开始登录
36 smtp.sendmail(sender, receiver, msg.as_string()) #开始发送邮件
37 smtp.quit() #退出邮件服务器

 2,HTML格式:

 

上一篇:selenium实现疫情签到


下一篇:Expected response code 250 but got code “501“, with messa php laravel 发邮件 smtp qq邮箱 阿里云