自动化测试–python基础之邮件发送
一、使用步骤
这里使用的是python +zmail进行邮件的发送
win+R出现控制台,输入cmd.输入然后输入 pip install zmail 然后输入回车。如图1
在python中导入zmali,然后我按照这个逻辑进行程序的编写(后面附有代码)。
1、邮件内容:包含:主题(object)、 正文(文本类型((content_text))、
正文(网页类型(content_html)) 、 附件 (attachments)。
2、发件人:发件人账号,发件人密码(授权码)。
3、收件人:1、收件人账号,邮件内容。
2、多个收件人账号,邮件内容。
二、使用步骤
邮件发送使用介绍
先做一个简单的邮件发送,只包含邮件主题和邮件正文
## 2.读入数据
代码如下(示例):
```import zmail
#邮件内容
msg
={
'subject':'这是邮件主题',
'content_text':'这是邮件内容'
}
#发件人 -- 账号,授权码 将自己的qq邮箱替代--qq邮箱,授权码--粘贴授权码 (下面会文字和图片的具体步骤,以qq为例)
sender=('qq邮箱','授权码')
#收件人 邮箱 、收件内容
recriver='收件人'
# 调用zmail包中的server,并输入发件人的账号、授权码
server=zmail.server(*sender)
# 输入收件人 邮件内容
server.send_mail(recriver,msg)
运行以后,邮件就会发送到指定邮箱
这样我们就简单的进行邮件发送了。
如果想发送给多个收件人,那么就在这里进行修改
将recriver=‘收件人’
修改为recriver=[‘收件人1’,‘收件人2’,‘收件人3’,‘收件人4’]
刚才发送的是简单的文字内容,那么我们现在想发送html,改如何操作呢
其实很简单,只需要在邮件内容中将content_text 修改为content_html,将html文件打开并调用.
代码如下(示例):
import zmail
#打开文件
with open('email.html',mode='r',encoding='UFT-8') as file:
content=file.read()
#邮件内容
msg={
'subject':'这是邮件主题',
'content_html':content
}
#发件人 -- 账号,授权码 将自己的qq邮箱替代--qq邮箱,授权码--粘贴授权码 (下面会文字和图片的具体步骤,以qq为例)
sender=('qq邮箱','授权码')
#收件人
recriver='收件人'
# 调用zmail包中的server,并输入发件人的账号、授权码
server=zmail.server(*sender)
# 输入收件人 邮件内容
server.send_mail(recriver,msg)
注意!!!如果同时出现content_text和content_html时,content_text会对content_html进行覆盖。邮件上只会显示content_text
有些小伙伴会想,我有时候邮件需要发送附件应该怎么操作呢。这个情况就更简单了。我们在meg也就是邮件正文中加入attachments。然后输入附件名称就好了。如果附件不和运行python文件在同一个文件夹,那么需要绝对路径
#邮件内容
msg={
'subject':'这是邮件主题',
'content_text':'这是文件内容'
‘attachments’:'文件名称'
}
发送邮件功能的封装
这就是我学的邮件发送的部分内容了,那么我们对它进行简单的封装一下吧!,方便在项目中使用的时候用到
import zmail
class Email_object():
def __init__(self,object,content,*attachments):
'''邮件内容 :邮件主题,邮件内容,邮件附件'''
self.object=object
self.content=content
self.attachments=list(attachments)
self.msg={
'subject':self.object,
'content_text':self.content,
'attachments':self.attachments
}
def send_email(self,*sender,**rec):
#发件人
self.sender=sender
#收件人
self.recriver=[]
#遍历rec的值并添加到收件人
for i in rec.values():
self.recriver.append(i)
#登录操作
server=zmail.server(*sender)
#发送操作
server.send_mail(self.recriver,self.msg)
最后对类进行调用就可以了。
当然这还需要完善,这只是简单的进行封装。这也只是我个人的思路方法。有不同的想法可以在下方进行留言。
授权码获取
下面以qq邮箱为例子
1、打开qq邮箱
2、点击设置
3、鼠标滚轮滚到下方,开启POP3/SMTP服务
4、点击生成授权码
5、获得授权码
总结
提示:这里对文章进行总结:
这个就是通过python中zemail库对邮件发送这个功能进行简单的介绍,欢迎大家留言
-----------------------------------小白的第一次发布------------------------------------------