接口测试基础——第2篇smtplib发送带附件的邮件
我先给大家补充一个用QQ发送纯文本电子邮件的代码,用QQ的朋友可以参考一下:
# coding=utf-8
import smtplib
from email.mime.text import MIMEText
mail_host = “smtp.qq.com”
receivers = “123@qq.com”
sender = “456@qq.com”
passwd = ‘QQ邮箱的授权码’
contents = “python发送邮件”
# 构造邮件正文
msg=MIMEText(contents,”plain”,”utf-8”)
# 构造邮件头部
msg[“From”]=sender
msg[“To”]=receivers
msg[“Subject”] = “主题”
try:
server = smtplib.SMTP_SSL(mail_host, 465)
server.login(sender, passwd)
server.sendmail(sender, receivers, msg.as_string())
print “发送成功”
except smtplib.SMTPException:
print “无法发送”
今天我们要写的代码是发送带附件的电子邮件:
# coding: utf-8
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
sender = '你的邮箱@163.com'
passwd = '授权码'
receivers = ['123@qq.com','456@qq.com']
receiver = ','.join(receivers)
mail_host = 'smtp.163.com'
msg = MIMEMultipart()
msg['From'] = sender
msg['To'] = receiver
msg['Subject'] = 'Python test'
# 邮件正文
msg.attach(MIMEText('sending email test', 'plain', 'utf-8'))
# 构造附件1
att1 = MIMEText(open('文件的路径比如:C:\\Users\\lenovo\\Desktop\\a.txt', 'rb').read(), 'base64', 'utf-8')
att1['Content-Type'] = 'application/octet-stream'
att1['Content-Disposition'] = 'attachment; filename= "a.txt"' msg.attach(att1)
# 构造附件
att2 = MIMEText(open('文件的路径比如:C:\\Users\\lenovo\\Desktop\\b.txt').read(), 'base64', 'utf-8')
att2['Content-Type'] = 'application/octet-stream'
att2['Content-Disposition'] = 'attachment; filename="b.txt"' msg.attach(att2)
try:
smtpObj = smtplib.SMTP()
smtpObj.connect(mail_host, 25)
smtpObj.login(sender, passwd)
smtpObj.sendmail(sender, receiver, msg.as_string())
print 'Success'
except smtplib.SMTPException:
print 'Error'
运行以后就可以收到带有附件的电子邮件了。
如果不明白,就多谢两遍
微信公众号搜索“自动化测试实战”或扫描下方二维码添加关注~~~
接口测试基础——第2篇smtplib发送带附件的邮件的更多相关文章
- 接口测试基础——第3篇smtplib发送带图片的邮件
smtplib发送邮件最后一篇,发送带图片的邮件: 大家可以去廖雪峰的网站看一下,下面的代码就是我跟着博客写的,哈哈,大家即使不明白为什么,也要多写两遍,记在心里,如果有不明白的地方可以留言,船长会第 ...
- 利用Python+163邮箱授权码发送带附件的邮件
背景 前段时间写了个自动爬虫的脚本,定时在阿里云服务器上执行,会从某个网站上爬取链接保存到txt文本中,但是脚本不够完善,我需要爬虫完毕之后通过邮件把附件给我发送过来,之前写过一个<利用Pyth ...
- java发送带附件的邮件
/** * java发送带附件的邮件 * 周枫 * 2013.8.10 */ package com.dsideal.Util; import javax.mail.*; import javax.m ...
- C#发送带附件的邮件的代码
如下的代码是关于C#发送带附件的邮件的代码. MailMessage m = new MailMessage();m.Subject = "File attachment!";m. ...
- [SpringBoot] - 发送带附件的邮件
<!--发送email依赖--> <dependency> <groupId>org.springframework.boot</groupId> &l ...
- 使用JavaMail发送带附件的邮件
所需jar包 链接:http://pan.baidu.com/s/1dFo4cDz 密码:akap 工具类: package com.javamail.utils; import java.util. ...
- spring boot:发送带附件的邮件和html内容的邮件(以163.com邮箱为例/spring boot 2.3.2)
一,网站哪些情况下需要发送电子邮件? 作为一个电商网站,以下情况需要发邮件通知用户: 注册成功的信息 用邮箱接收验证码 找回密码时发链接 发送推广邮件 下单成功后的订单通知 给商户的对账单邮件 说明: ...
- python 发送带附件的邮件
特别注意的地方:filespart.add_header("Content-Disposition","attachment",filename=file_na ...
- Python发送带附件的邮件
看别人的博客就不要在往别人的邮箱里发东西了行不行, 有点素质可以吗!!! 写出来分享还不知道珍惜!!!!! #-*-encoding:utf-8 -*- import os import smtpli ...
随机推荐
- 使用POI做的一个生成Excel的工具类。包含了导出Excel和解析Excel方法
PoiExcelUtils.java /** * */ package com.common.office; import java.io.File; import java.io.FileInput ...
- 响应式Tab选项卡
在线演示 本地下载
- 1001: [BeiJing2006]狼抓兔子
1001: [BeiJing2006]狼抓兔子 Time Limit: 15 Sec Memory Limit: 162 MBSubmit: 12827 Solved: 3044[Submit][ ...
- Java 泛型<T> T 与 T的用法
T 与 T 比较 T是Type的首字母缩写: T 表示"返回值"是一个泛型,传递什么类型,就返回什么类型:而单独的"T"表示限制传递的参数类型. T的用法 T表 ...
- 混合开发的大趋势之 一个Android程序员眼中的 React.js 块级作用域 和 let
转载请注明出处:王亟亟的大牛之路 最近都有事干然后,快到月底了这个月给CSDN的博文也就两篇,想想也蛮多天没更了,那就来一篇. 老规矩,先安利:https://github.com/ddwhan012 ...
- 浅谈MySQL中优化sql语句查询常用的30种方法 - 转载
浅谈MySQL中优化sql语句查询常用的30种方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使 ...
- Multiply Strings,字符串相乘
问题描述:给定两个字符串,返回他们的乘积. public class MultiplyStrings { public String multiply(String num1, String num2 ...
- virtualbox ubuntu下ssh连接
一.首先Ubuntu中安装ssh服务器 Ubuntu 下安装 OpenSSH Server 是无比轻松的一件事情,需要的命令只有一条: sudo apt-get install openssh-ser ...
- Django REST framework快速入门指南
项目设置 创建一个名为tutorial的新Django项目,然后开始一个名为quickstart的新应用程序. # Create the project directory mkdir tutoria ...
- 关于mongodb删除集合后磁盘空间不释放的问题
mongodb删除集合后磁盘空间不释放,只有用db.repairDatabase()去修复才能释放. 但是在修复的过程中如果出现了非正常的mongodb的挂掉,再次启动时启动不了的,需要先修复才可以, ...