python编程中如何实现邮件的自动发送

在测试工作中,我们总是想法设法要提高自己的工作效率,比如下班后自动发送工作邮件

在自动化测试中,我们也会经常使用自动发送邮件的方式来进行提高执行的效率,实现无人看管,那么我们就可以使用市场主流的python编程,就可以实现这个目标.

需要下载邮箱的库,封装发送消息的库,还有请求头的库.

具体代码如下:

import smtplib #导入邮箱的库

from email.mime.text import MIMEText #封装发送消息的库

from email.header import Header #添加请求头的库

#第三方SMTP服务

mail_host = 'smtp.qq.com' #smtp服务地址

from_addr = 'xxxxxxx@qq.com' #发送人邮箱

mail_pass = 'xxxxxxxxxx'#发件人邮箱授权码

to_addrs= ['xxxxxxxx@qq.com'] #收件人邮箱    列表 可以传多个值

#1发送纯文本的信息

#发送的消息

# text_msg = MIMEText('python邮件发送测试……','plain','utf-8')

# #发送人的头部

# text_msg['From'] = Header('松勤','utf-8')

# #接受人的头部

# text_msg['To'] = Header('测试','utf-8')

# #添加邮件的主题

# text_msg['Subject'] = Header('python smtp 邮件测试','utf-8')

#2发送HTML格式的邮件

# mail_msg =  """

# <h1>python 邮件发送测试……</h1>

# <p><a href='https://www.baidu.com'>百度链接</a></p>

# message = MIMEText(mail_msg,'html','utf-8')#转换成HTML格式的消息

# message['From'] = Header('松勤','utf-8')#发送人头部

# message['To'] = Header('测试','utf-8')#接受人头部

# message['Subject'] = Header('python smtp邮件测试','utf-8')

#3发送带附件的邮件

from email.mime.image import MIMEImage   #导入图片消息

from email.mime.multipart import MIMEMultipart #发送附件和内容要拼接

message = MIMEMultipart()#创建一个实例

message['From'] = Header('松勤','utf-8')#发送人头部

message['To'] = Header('测试','utf-8')#收件人头部

message['Subject'] = Header('python 图片附件方式测试','utf-8')#邮件主题

text_msg = MIMEText('python 邮件测试','plain','utf-8')#内容

message.attach(text_msg)

imageFile = '百度一下.png'#附件图片路径

with open(imageFile,'rb') as f:#读取文件里面的内容

    content = f.read()

image_text = MIMEImage(content,imageFile.split('.')[-1])#包裹发送邮件里的内容

image_text.add_header('Content-Disposition','attachment',filename=imageFile)

#Content-Disposition为了让附件显示出来 attachment为了附件可以预览和下载

message.attach(image_text)

#发送邮件操作

try:

    smtp_obj = smtplib.SMTP()#初始化smtp实例对象

    smtp_obj.connect(mail_host,25)#连接smtp服务器

    smtp_obj.login(user=from_addr,password=mail_pass)#登录服务器 from_addr是用户名  mail_pass授权码

    smtp_obj.sendmail(from_addr,to_addrs,message.as_string())#发送邮件 三个参数是发件人、收件人、邮件消息

    print('发送邮件成功')

except:

    print('error 无法发送邮件')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苏三_suzy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值