自动化发送邮件之SMTP
一、思路
1、若是QQ邮箱需要在设置-账户里面开启服务
2、在python中smtplib库是专门用来处理邮件
3、自动化邮件发送实操
a、要处理的邮件主题,寄件人,收件人,邮件正文,附件,
b、邮件正文,:文本信息,HTML信息,图片内容
c、附件内容格式:txt,jpg,pdf,excel,doc
4、发送邮件附件流程
a、读取附件
b、添加附件
c、与内容一起发送
二、代码实现
import smtplib
from email import encoders
from email.mime.text import MIMEText # 处理邮件内容的库 email.mime # 处理邮件附件 MIMEMUltipart,Header,MIMEBase
from email.mime.multipart import MIMEMultipart
from email.header import Header
from email.mime.base import MIMEBase # 邮箱属性配置
mailserver = 'smtp.qq.com' # 邮箱服务端url,163邮箱就写smtp..com,非QQ邮箱一般使用SMTP,不需要有SSL
userName_SendMail = '45614456@qq.com' # 发件人
userName_AuthCode = 'tnppuxjie' # 邮箱发件授权码,qq邮箱需要授权码
received_mail = ['468465456@qq.com', '4546546546@qq.com'] # 定义邮件的接收者,可以定义多个 # 发送一封简单的邮件
content = '这是一个文本信息内容' # 定义发送内容
email = MIMEText(content, 'plain', 'utf-8') # 纯文本形式的邮件内容定义,通过MIMEText进行操作
email['Subject'] = '这里写邮件主题' # 定义邮件主题
email['From'] = userName_SendMail # 定义邮件发件人
email['To'] = ','.join(received_mail) # 定义接收人,接收人为多个用,分割 # 发送一封HTML邮件
content = '''
<p>这是一封HTML文本的邮件</p>
<p><a href='http://www.baidu.com'>点我啊</a></p>
'''
email = MIMEText(content, 'html', 'utf-8')
email['Subject'] = '这里写邮件主题' # 定义邮件主题
email['From'] = userName_SendMail # 定义邮件发件人
email['To'] = ','.join(received_mail) # 定义接收人,接收人为多个用,分割 # 发送带有附件的邮件
#附件配置邮箱 email = MIMEMultipart() # 只更换这项就OK
email['Subject'] = '这里写邮件主题' # 定义邮件主题
email['From'] = userName_SendMail # 定义邮件发件人
email['To'] = ','.join(received_mail) # 定义接收人,接收人为多个用,分割 # 非图片附件
att = MIMEBase('application','octet-stream')
att.set_payload(open('文件名','rb').read())
att.add_header('Contenet-Disposition','attachment',filename=Header('文件名.txt','gbk').encode())
encoders.encode_base64(att)
email.attach(att) # 图片附件
att1 = MIMEBase('application','octet-stream')
att1.set_payload(open('图片名.jpg','rb').read())
att1.add_header('Contenet-Disposition','attachment',filename=Header('图片名.jpg','gbk').encode())
encoders.encode_base64(att1)
email.attach(att1) # 发送邮件
smtp = smtplib.SMTP_SSL(mailserver, port=) # 连接服务
smtp.login(userName_SendMail, userName_AuthCode) # 登录,需要传入用户名和授权码
smtp.sendmail(userName_SendMail, ','.join(received_mail), email.as_string()) # 转换成str类型 # 关闭邮件
smtp.quit()
自动化发送邮件之SMTP的更多相关文章
- Python自动化:自动化发送邮件之SMTP
自动发送邮件,作为自动化测试的流程之一,可以将运行后的测试报告自动发送至指定的对象,形成一次自动化的完整闭环,基于Python来实现的有关自动化发送邮件的内容,加上注释做了一个小小的整理. 话不多说直 ...
- Laravel5.2 发送邮件(smtp方式最简单的讲解!)-邮件部分
https://blog.csdn.net/wulove52/article/details/71172842 Laravel集成了SwiftMailer库进行邮件发送,邮件配置文件位于config/ ...
- 用phpmailer发送邮件提示SMTP Error: Could not connect to SMTP host解决办法
之前做项目的时候做了一个用phpmailer发送邮件的功能<CI框架结合PHPmailer发送邮件>,昨天步署上线(刚开始用新浪云,嫌贵,换成阿里了),测试的时候,发送邮件却意外报错了.. ...
- Jmeter发送邮件功能SMTP Sampler
介绍Jmeter的发送邮件功能,使用的Sampler是SMTP Sampler,详细说明每个配置项的功能 从上往下介绍需要用到的配置项: Server settings Server: 服务器地址 P ...
- 利用JavaMail发送邮件:smtp.163.com
一.利用JavaMail发送邮件案例: 1.maven项目结构: 2.先在pom.xml里边加入Javamail依赖,系统会根据坐标自动下载mail包(前提是配置好了maven): 3.配置email ...
- 谷歌邮箱使用python自动化发送邮件出现smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepted.的解决
今天学习使用邮箱自动化办公的过程中run时一直出现如下错误;smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password n ...
- linux下phpmailer发送邮件出现SMTP ERROR: Failed to connect to server: (0)错误
转自:https://www.cnblogs.com/raincowl/p/8875647.html //Create a new PHPMailer instance $mail = new PHP ...
- python接口自动化(三十二)--Python发送邮件(常见四种邮件内容)番外篇——上(详解)
简介 本篇文章与前边没有多大关联,就是对前边有关发邮件的总结和梳理.在写脚本时,放到后台运行,想知道执行情况,会通过邮件.SMS(短信).飞信.微信等方式通知管理员,用的最多的是邮件.在linux下, ...
- Linux 下使用网易的SMTP服务器 发送邮件
最近在研究服务器高可用集群 (HA)…… 尝试配置keepalived, 却发现其全局配置(global_defs )中发送邮件的SMTP服务器配置只有简单 smtp_server 一个选项. 那么, ...
随机推荐
- 图解分布式一致性协议Paxos
Paxos协议/算法是分布式系统中比较重要的协议,它有多重要呢? <分布式系统的事务处理>: Google Chubby的作者Mike Burrows说过这个世界上只有一种一致性算法,那就 ...
- STM32 EV1527无线通信(433)
EV1527无线通信 先说一下这个通信协议的数据格式,这个图片是我在手册里截的. 大家按照单片机类型计算周期,我的是STM32f103vb (4CLK大致等于350um) 发送时按照 先发同步码后发D ...
- RT1052 BootLoader总结
RT1052 BootLoader总结 概述 Bootloader涉及到的RT1052单片机资源有:Cache,ram,外部SDRAM,ARM7汇编指令,外部dataFlash. 升级功能涉及到的其 ...
- 通过 SMB 共享目录
在 system1 上配置SMB服务 ,要求: 1.您的 SMB 服务器必须是 STAFF 工作组的一个成员 2.共享 /common 目录,共享名必须为 common 3.只有 group8.exa ...
- CapsLock魔改大法——变废为宝实现高效编辑
前言 CapsLock,也就是键盘左边中间那个大写锁定.平时很少会用到,跟shift功能重复不谈,更多的时候还会带来各种额外的麻烦. 一直以来的都是一个非常碍事讨厌的存在.就是这么一个垃圾键,偏偏却占 ...
- ELK学习笔记之logstash配置多入多出并互相隔离
0x00 概述 需求:需要利用同一logstash进程采集不同日志,输出到es的不同index,各输入输出隔离: 主要需要解决如下两个问题: 0x01 如何加载多个配置文件 普通启动方式: nohup ...
- Typora基础
Typora下载网址https://typora.io 一级标题 :# 空格 编写内容 二级标题 2*# 空格 内容 typora快捷键 ctrl+1 =一级标题 有序内容 1.+tab (Q旁边的t ...
- 利用vba实现excel表格连接打印编号(一页两个编号),编号支持前缀
先看一下excel文件, 下图左边部分为文件签审单为要打印的内容, 要求一页需要打印两个文件签审单, NO需要根据打印页面连续编号, 右边部分为打印设置,以及vba部分代码展示, 打印设置可以设置打印 ...
- div中的“内容”水平垂直居中
1. div高度自适应的情况 div在不设置高度的时候,会被里面的内容撑开,内容自动填充在div中,无论是一行内容还是多行内容,此时不需要设置垂直居中,内容自动在中间的, 想要看的更直观些,只需要加上 ...
- wokerman随笔
linux环境检查是否满足workerman要求: curl -Ss http://www.workerman.net/check.php | php workerman依赖扩展:pcntl扩展.po ...