python smtplib发送邮件可直接运行代码
0 说明
以下代码,只需根据个人情况修改相应配置即可直接运行。
1.发送普通格式邮件
import smtplib
from email.mime.text import MIMEText
from email.header import Header
import loggingdef send_html():token = 'xxx'receivers = ['xxx@xxx.com']mail_msg = """<p>Python 邮件发送测试...</p><p><a href="https://www.baidu.com/">这是百度的链接</a></p>"""message = MIMEText(mail_msg, 'html', 'utf-8')subject = 'Python SMTP 邮件测试'message['Subject'] = Header(subject, 'utf-8')try:smtpObj = smtplib.SMTP()smtpObj.connect("xxx")smtpObj.sendmail(token, receivers, message.as_string())print("邮件发送成功")except smtplib.SMTPException as e:print("Error: 无法发送邮件")logging.exception(e)send_html()
2.发送带附件邮件
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Headerdef send_mail():token = 'xxx'receivers = ['xxx@xxx.com'] # 接收邮件# 创建一个带附件的实例message = MIMEMultipart()subject = 'Python SMTP 发送添加附件的邮件'message['Subject'] = Header(subject, 'utf-8')message.attach(MIMEText('这是Python 邮件发送测试……', 'plain', 'utf-8'))# 构造附件,传送当前目录下的文件att = MIMEText(open('pltimage.py', 'rb').read(), 'base64', 'utf-8')att["Content-Type"] = 'application/octet-stream'# 这里的filename可以任意写,写什么名字,邮件中显示什么名字att["Content-Disposition"] = 'attachment; filename="pltimage.txt"'message.attach(att)try:smtpObj = smtplib.SMTP()smtpObj.connect("xxx")smtpObj.sendmail(token, receivers, message.as_string())print("邮件发送成功")except smtplib.SMTPException:print("Error: 无法发送邮件")send_mail()
3.
import smtplib
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
import loggingdef send_mail():token = 'xxx'receivers = ['xxx@xxx.com'] # 接收邮件msgRoot = MIMEMultipart('related')subject = 'Python SMTP 发送图片邮件测试'msgRoot['Subject'] = Header(subject, 'utf-8')msgAlternative = MIMEMultipart('alternative')msgRoot.attach(msgAlternative)mail_msg = """<p>这是一张手机桌面的截图...</p><p>图片演示:</p><p><img src="cid:image1"></p>"""msgAlternative.attach(MIMEText(mail_msg, 'html', 'utf-8'))# 指定图片为当前目录fp = open('images/img1.png', 'rb')msgImage = MIMEImage(fp.read())fp.close()# 定义图片 ID,在 HTML 文本中引用msgImage.add_header('Content-ID', '<image1>')msgRoot.attach(msgImage)try:smtpObj = smtplib.SMTP()smtpObj.connect("xxx")smtpObj.sendmail(token, receivers, msgRoot.as_string())print("邮件发送成功")except smtplib.SMTPException as ex:logging.exception(ex)print("Error: 无法发送邮件")send_mail()
python smtplib发送邮件可直接运行代码相关推荐
- Python使用smtplib发送邮件
一.邮件分析 此处发送邮件使用smtplib模块,不用下载,pycharm自带的有此模块. 我们通过实例化 smtplib 模块的 SMTP 对象 smtpObj 来连接到 SMTP 访问,并使用 s ...
- python怎样实现封装_大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码...
在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的. 一般发邮件的方式 SMTP是发送邮件的协议 ...
- python 发送邮件正文字体设置_python 文字 坐标python smtplib模块发送SSL/TLS安全邮件实例...
python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. smtp协议的基本命令包括: HELO 向服务器标识用户身份 MAIL 初始化邮件传输 mail f ...
- python封装sql脚本 github_Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码...
原标题:Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码 在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使 ...
- Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码
在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的. 一般发邮件方法 SMTP是发送邮件的协议, ...
- python smtplib.SMTP()发送邮件报“UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xba in position 0: i
python smtplib.SMTP()发送邮件报"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xba in position ...
- 怎么用python运行代码_python怎么运行代码程序
一.使用Python的解释器: 1.安装python一般都会有一个交互式解释器,我们可以在这里直接写入运行 2.但如果我们将其关闭,刚才写的代码就会丢失.此时,我们新建一个文本文档,写入print ' ...
- python怎么运行代码-python代码如何运行
交互提示模式下编写代码 安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式. Python 交互模式有以下几个注意点: 1. 只能够输入P ...
- python运行不了程序代码_python怎么运行代码程序
展开全部 一.使用Python的解释器: 1.安装python一般都会有一个交互式32313133353236313431303231363533e78988e69d8331333433653964解 ...
- Python命令行解析:IDE内点击Run运行代码直接得出结果、基于TF flags(或argparse、sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果
Python命令行解析:IDE内点击Run运行代码直接得出结果.基于TF flags(或argparse.sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果 目录 命令行解析 T1.采 ...
最新文章
- go chapter 8 - 初始化对象
- #define barrier() __asm__ __volatile__(: : :memory) 中的memory是gcc的东西
- flutter text 左对齐_flutter输入框TextField中文本textAlign对齐分析篇
- GraphPad Prism 9.1 for Win / Mac 下载安装及使用教程
- 阿里云 快照恢复的操作过程
- Node.js:模块化思想中一个Javascript文件分析以及exports 和 module.exports的区别
- JavaScript_高程三_01
- 【Thinking In Java】笔记之二 控制执行流程
- Qt qlabel 设置字体、大小、加粗等
- 2018年信息安全大事件一览
- win10-如何管理开机启动项?
- Linux安装yum过程(超详细!)
- 1.30 fcntl函数
- UGUI实现图片特效轮播,使用插件DOTWEEN
- Droid razr xt910 tegra2 地牢猎人2 dungeon hunter2
- tiktok框架_大动作!海外版抖音TikTok架构将调整,字节跳动开始发力
- Unity在线js转C#
- visio2017里让字体大小随框自动调节步骤
- 基于遗传算法的配电网重构研究(Matlab代码实现)
- libjpeg与turbo libjpeg的使用
热门文章
- Android SharedPreferences
- 广东省汕头大学毕业设计论文撰写规范[2006]
- 区块链+”来了,区块链金融将如何颠覆传统金融
- js判断当前的访问是手机还是电脑
- UVA 1252	 十五 Twenty Questions
- Android入门之login设计
- 如何去除list中的重复元素
- Cannot detect Web Project version. Please specify version of Web Project through Maven project ...报错
- Java 数组的 12 个常用操作
- 《数据挖掘导论》实验课——实验七、数据挖掘之K-means聚类算法