(原文: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. vlc源码分析(六) 调用OpenMAX硬解码H.265

    H.265(HEVC)编码格式能够在得到相同编码质量视频的前提下,使用相当于H.264(AVC)一半的存储容量,虽然H.265的算法复杂度比H.264高一个数量级,但是硬件水平在不断提高,因此H.26 ...

  2. Linux Shell常用技巧(八)

    十八.  和系统运行状况相关的Shell命令:    1.  Linux的实时监测命令(watch):    watch 是一个非常实用的命令,可以帮你实时监测一个命令的运行结果,省得一遍又一遍的手动 ...

  3. Backward compatibility

    向后兼容

  4. Git IDEA Move or commit them before merge

    提交代码遇到这个问题. Move or commit them before merge 百度了一下都是在Gitbash 中敲命令. 在团队协作中 你总不能去敲命令吧 后来在组长的怂恿下,我删除了一个 ...

  5. OO第二次单元总结——电梯多线程调度问题

    OO第二次单元总结--电梯多线程调度问题 在这个单元OO学习中,我们终于迎来了期待已久(不是)的电梯多线程调度作业,开启了OO打怪之路的新关卡.虽然说经过了这三次作业,我对于多线程的理解还不能算是熟练 ...

  6. phpstrom快捷键

    PhpStorm 常用快捷键和配置 配置 设置代码及字体风格:File->Settings->Editor->Colors&Fonts->Font 安装插件(如:tp, ...

  7. Bulk Rename Utility 3.0 + x64 中文汉化版

    Bulk Rename Utility 3.0 + x64 中文汉化版由大眼仔旭(www.dayanzai.me)汉化发布.当发现做一件事情,原本用工具或软件进行批量处理也能达到相同效果,可却花了数倍 ...

  8. 利用wireshark抓取TCP的整个过程分析。

    原文地址:https://www.cnblogs.com/NickQ/p/9226579.html 最近,已经很久都没有更新博客了.看看时间,想想自己做了哪些事情,突然发现自己真的是太贪心,到头来却一 ...

  9. Python学习 :多线程 --- 锁

    多线程 什么是锁? - 锁通常被用来实现对共享资源的同步访问. - 为每一个共享资源创建一个Lock对象,当你需要访问该资源时,调用acquire方法来获取锁对象(如果其它线程已经获得了该锁,则当前线 ...

  10. 第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--J-强迫症的序列

    链接:https://www.nowcoder.com/acm/contest/90/J 来源:牛客网 1.题目描述 牛客网是IT求职神器,提供海量C++.JAVA.前端等职业笔试题库,在线进行百度阿 ...