python实现邮件自动发送--代码

python实现邮件自动发送–代码

完整代码

import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart

#配置环境 连接服务器
server='smtp.qq.com' #smtp.qq.com smtp.126.com ......
smtp=smtplib.SMTP_SSL(server, 465)

#用户登录,此处授权瞎打的
smtp.login('2638273921@qq.com', 'gfhfgnbmnnhzdief')

#正文内容 即邮件显示内容
content="这是通过自动化脚本发送的邮件,带附件" #正文内容
msg=MIMEMultipart()
msg.attach(MIMEText(content,'plain','utf-8'))#(content,'plain'(格式 Html 等),'utf-8')
msg['From']='2638273921@qq.com'
msg['To']='2638273921@qq.com'
#msg['To']=','.join(receivers)#发送给多人时  ','.join(receivers)  receivers为收件人列表
msg['Subject']=Header('自动发送','utf-8')#主题

#附件内容
send_file=open(r'D:\desktop\1.jpg', 'rb').read()#附件读取
att=MIMEText(send_file, 'base64', 'utf-8')
att['Content-Type'] = 'application/octet-stream'
att['Content-Disposition'] = 'attachment;filename="1.jpg"'
msg.attach(att)#把附件添加到邮件中

#发送
sender='2638273921@qq.com'
receiver='2638273921@qq.com'#多个的话写为列表形式
#receivers=['2638273921@qq.com','3110209176@qq.com']
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()

print('发送成功')

实现效果

在这里插入图片描述

具体实现讲解

1. 用到的库

import smtplib #连接服务器
from email.mime.text import MIMEText #发送附件
from email.header import Header #发送主题
from email.mime.multipart import MIMEMultipart#发送正文

2. 配置环境,连接服务器

#配置环境 连接服务器
server='smtp.qq.com' #服务器地址 smtp.qq.com smtp.126.com ......
smtp=smtplib.SMTP_SSL(server, 465) #对应端口号

#用户登录
smtp.login('2638273921@qq.com', 'onhhdodmnnhzdief')
#邮件名及第三方登录授权码
  • 上述代码以QQ邮箱为例,其余邮箱服务器地址和端口号可直接搜索’常用邮箱SMTP服务器地址大全’关键词即可查找
  • 下面以QQ邮箱为例,介绍如何获取邮箱的第三方登录授权码
    1). 登录邮箱,点击邮箱设置(设置)->账户
    在这里插入图片描述
    2). 下拉找到 POP3/SMTP服务 ,若未开启可点击开启依照简单步骤进行开启(注意保存授权码);若已开启但忘记授权码,可以点击关闭后再次进行开启,重新获得授权码
    在这里插入图片描述

3.填写收发邮箱及主题、正文内容



#正文内容
content="这是通过自动化脚本发送的邮件,带附件" 
msg=MIMEMultipart()
msg.attach(MIMEText(content,'plain','utf-8'))#(content,'plain'(格式 Html 等),'utf-8')
#邮件的标注内容
msg['From']='2638273921@qq.com'
msg['To']='2638273921@qq.com'
#msg['To']=','.join(receivers)#发送给多人时  ','.join(receivers)  receivers为收件人列表

#主题
msg['Subject']=Header('自动发送','utf-8')

对应邮件的内容如下
在这里插入图片描述
4.添加附件

#附件内容
send_file=open(r'D:\desktop\1.jpg', 'rb').read()#附件读取
att=MIMEText(send_file, 'base64', 'utf-8')
att['Content-Type'] = 'application/octet-stream'
att['Content-Disposition'] = 'attachment;filename="1.jpg"'
#注意filename="1.jpg"  需要扩展名与附件类型一致,否则文件无法显示
msg.attach(att)#把附件添加到邮件中

5. 发送邮件

#发送
#发件人邮箱
sender='2638273921@qq.com'
#收件人邮箱,多个的话写为列表形式
receiver='2638273921@qq.com'
#receivers=['2638273921@qq.com','3110509175@qq.com']
#组装邮件
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()
print('发送成功')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值