(原文:https://www.cnblogs.com/fancy0158/p/10056091.html)

SMTP:简单传输协议,实在Internet上传输Email的事实标准。

Python的smtplib模块提供了一种很方便的途径来发送电子邮件,它对SMTP协议进行了简单的封装。

python中发送邮件除了SMTP模块外,还需用到email模块。email模块主要用来定义邮件的标题、正文、附件。

一、SMTP的方法

1、SMTP模块的方法

connect(host,port)

  • host:指定连接的邮箱服务器
  • port:指定连接服务器的端口号

login(user,passwork)

  • user:登陆邮箱用户名
  • password:登陆邮箱密码

sendmail(from_addr,to_addrs,msg,...)

  • from_addr:邮件发送者地址
  • to_addrs:收件人,字符串列表
  • msg:发送的消息

quit()方法:结束SMTP会话

2、email模块的方法

email.mime.text.MIMEText() 用来定义邮件正文

email.header.Header() 用来定义邮件标题

email.mime.multipart.MIMEMultipart() 定义邮件附件

二、自动发送HTML邮

 
# coding:utf-8

import unittest, time,smtplib
from email.mime.text import MIMEText
from email.header import Header smtpserver = 'smtp.qq.com'
user = 'username@qq.com '
password = 'password'
sender = 'username@qq.com'
receiver = 'receive@163.com'
subject = 'Python email test' #编写HTML类型的邮件正文
msg = MIMEText('<html><h1>Test! </h1></html>', 'html', 'utf-8')
msg['Subject'] = Header(subject, 'utf-8') #邮件主题 #连接发送邮件
smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msg.as_string())
smtp.quit()
 

收到的邮件如下:

三、发送带附件的邮件

 
# coding:utf-8
import unittest, time,smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart smtpserver = 'smtp.qq.com'
user = 'username@qq.com '
password = 'password'
sender = 'username@qq.com'
receiver = 'receiver@163.com' subject = 'Python email test'
sendfile = open('E://report//test.txt', 'rb').read() #要发送的附件 # 发送带附件的邮件
attach = MIMEText(sendfile, 'base64', 'utf-8')
attach['Content-Type'] = 'application/octet-stream'
attach['Content-disposition'] = 'attachment; filename = "test.txt" ' #邮件上显示的附件名称 msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = subject
msgRoot['test']
msgRoot.attach(attach) smtp = smtplib.SMTP()
smtp.connect(smtpserver)
smtp.login(user, password)
smtp.sendmail(sender, receiver, msgRoot.as_string())
smtp.quit()
 

收到的邮件如下:

Appium+python 自动发送邮件(1)(转)的更多相关文章

  1. Appium+python 自动发送邮件(2)(转)

    (原文:https://www.cnblogs.com/fancy0158/p/10056418.html) 移动端执行完测试case之后,通过邮件自动发送测试报告.大体流程如下: 1.通过unitt ...

  2. 用Python自动发送邮件

    用Python自动发送邮件     最近需要在服务器上处理一些耗时比较长的任务,因此想到利用python写一个自动发送邮件的脚本,在任务执行完毕后发送邮件通知我.以下代码以163邮箱为例: 开通163 ...

  3. python☞自动发送邮件

    一.SMTP 协议 SMTP(Simple Mail Transfer Protocol)是简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式 二.smtplib ...

  4. 【Python】利用python自动发送邮件

    前言 在训练网络的过程中,需要大量的时间,虽然可以预估网络训练完成时间,但蹲点看结果着实有点不太聪明的亚子. 因此,参照师兄之前发的python利用smtp自动发邮件的代码,我作了些调整,并参照网上的 ...

  5. 利用Python自动发送邮件

    # -*- coding:utf-8 -*-from email.mime.text import MIMETextfrom email.header import Headerimport smtp ...

  6. python 自动发送邮件遇到的问题

    在学习自动化测试高级应用,根据内容写关于自动发送邮件出现了几个问题以及解决办法: 问题1: 代码写好之后,运行的时候,出现如下报错: SMTPAuthenticationError: (550, '\ ...

  7. Python 自动发送邮件

    简单邮件传输协议(SMTP)是一种协议,用于在邮件服务器之间发送电子邮件和路由电子邮件.Python提供smtplib模块,该模块定义了一个SMTP客户端会话对象,可用于使用SMTP或ESMTP侦听器 ...

  8. python自动发送邮件

    Python 的 smtplib 模块提供了发送电子邮件的功能.测试报告出来后,然后就把报告发送到邮箱. 一.先来看简单的列子 使用QQ邮箱发送邮件,使用的是授权码,需要先到QQ邮箱申请授权码. 邮箱 ...

  9. Python自动发送邮件(可带附件)

    Python内置对SMTP的支持,可以发送纯文本邮件.HTML邮件以及带附件的邮件. Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件 ...

随机推荐

  1. fpn

    class-aware detector 和 class-agnostic detector:https://blog.csdn.net/yeyang911/article/details/68484 ...

  2. QTP基本方法3-----截屏

    1.桌面截屏 Desktop.captureBitMap  path[,bolean] path:保存路径,可选择绝对路径或相对路径 相对路径是保存在脚本保存的目录下编号最大的res目录下. bole ...

  3. windows下搭建nginx+php开发环境

    windows下搭建nginx+php开发环境 1.前言 windows下大多我们都是下载使用集成环境,但是本地已经存在一个集成环境,但不适合项目的需求.因此准备再自己搭建一个环境. 2.准备 工具: ...

  4. Git删除commit提交的log记录

    基于 GitFlow 工作流,可能某个提交(commit)导致了 bug,或者有多个提交需要返工,此时你就会用到删除提交. 接下来的内容都基于下面这张 git log 提交记录图来写.   git l ...

  5. SQL修改字段默认值、获取字段默认值

    一.SQL修改字段默认值 alter table 表名 drop constraint 约束名字 说明:删除表的字段的原有约束 alter table 表名 add constraint 约束名字 D ...

  6. CORS support for ASP.NET Web API (转载)

    CORS support for ASP.NET Web API Overview Cross-origin resource sharing (CORS) is a standard that al ...

  7. Oracle视图View

  8. debian系统,启动Wireshark,出现Couldn't run /usr/bin/dumpcap in child process:权限不够

    这是由于当前用户没有权限运行/usr/bin/dumpcap造成的./usr/bin/dumpcap是Wireshark的包捕获引擎. 先用ls命令看一下dumpcap的权限情况:xy@debian- ...

  9. chkconfig设置开机自启动的原理

    开机自启动服务的原理$ sshd on #手动设置3级别的开机自启动 [leiyf@leiyangfeng ~] #手动设置3级别的开机自启动,实质是在对应运行级别的目录rc3.d下创建一个sshd的 ...

  10. Spring AOP代理模式

    代理模式 代理模式是一种设计模式,提供了对目标对象的另外的访问方式.即通过代理访问目标对象. 好处:可以再目标对象实现的基础上,增加额外的功能的操作.扩展目标对象的功能,而不改变现有的功能逻辑. 1. ...