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发送邮件可直接运行代码相关推荐

  1. Python使用smtplib发送邮件

    一.邮件分析 此处发送邮件使用smtplib模块,不用下载,pycharm自带的有此模块. 我们通过实例化 smtplib 模块的 SMTP 对象 smtpObj 来连接到 SMTP 访问,并使用 s ...

  2. python怎样实现封装_大牛教你如何封装 Python 代码,实现自动发送邮件只需三行代码...

    在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的. 一般发邮件的方式 SMTP是发送邮件的协议 ...

  3. python 发送邮件正文字体设置_python 文字 坐标python smtplib模块发送SSL/TLS安全邮件实例...

    python的smtplib提供了一种很方便的途径发送电子邮件.它对smtp协议进行了简单的封装. smtp协议的基本命令包括: HELO 向服务器标识用户身份 MAIL 初始化邮件传输 mail f ...

  4. python封装sql脚本 github_Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码...

    原标题:Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码 在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使 ...

  5. Github 大牛封装 Python 代码,实现自动发送邮件只需三行代码

    在运维开发中,使用 Python 发送邮件是一个非常常见的应用场景.今天一起来探讨一下,GitHub 的大牛门是如何使用 Python 封装发送邮件代码的. 一般发邮件方法 SMTP是发送邮件的协议, ...

  6. 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 ...

  7. 怎么用python运行代码_python怎么运行代码程序

    一.使用Python的解释器: 1.安装python一般都会有一个交互式解释器,我们可以在这里直接写入运行 2.但如果我们将其关闭,刚才写的代码就会丢失.此时,我们新建一个文本文档,写入print ' ...

  8. python怎么运行代码-python代码如何运行

    交互提示模式下编写代码 安装完Python在Windows 或 Linux中的终端中直接输入python即进入Python 交互会话模式. Python 交互模式有以下几个注意点: 1. 只能够输入P ...

  9. python运行不了程序代码_python怎么运行代码程序

    展开全部 一.使用Python的解释器: 1.安装python一般都会有一个交互式32313133353236313431303231363533e78988e69d8331333433653964解 ...

  10. Python命令行解析:IDE内点击Run运行代码直接得出结果、基于TF flags(或argparse、sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果

    Python命令行解析:IDE内点击Run运行代码直接得出结果.基于TF flags(或argparse.sys.argv)在Dos内命令行(一条命令)调用代码文件得出结果 目录 命令行解析 T1.采 ...

最新文章

  1. go chapter 8 - 初始化对象
  2. #define barrier() __asm__ __volatile__(: : :memory) 中的memory是gcc的东西
  3. flutter text 左对齐_flutter输入框TextField中文本textAlign对齐分析篇
  4. GraphPad Prism 9.1 for Win / Mac 下载安装及使用教程
  5. 阿里云 快照恢复的操作过程
  6. Node.js:模块化思想中一个Javascript文件分析以及exports 和 module.exports的区别
  7. JavaScript_高程三_01
  8. 【Thinking In Java】笔记之二 控制执行流程
  9. Qt qlabel 设置字体、大小、加粗等
  10. 2018年信息安全大事件一览
  11. win10-如何管理开机启动项?
  12. Linux安装yum过程(超详细!)
  13. 1.30 fcntl函数
  14. UGUI实现图片特效轮播,使用插件DOTWEEN
  15. Droid razr xt910 tegra2 地牢猎人2 dungeon hunter2
  16. tiktok框架_大动作!海外版抖音TikTok架构将调整,字节跳动开始发力
  17. Unity在线js转C#
  18. visio2017里让字体大小随框自动调节步骤
  19. 基于遗传算法的配电网重构研究(Matlab代码实现)
  20. libjpeg与turbo libjpeg的使用

热门文章

  1. Android SharedPreferences
  2. 广东省汕头大学毕业设计论文撰写规范[2006]
  3. 区块链+”来了,区块链金融将如何颠覆传统金融
  4. js判断当前的访问是手机还是电脑
  5. UVA 1252 十五 Twenty Questions
  6. Android入门之login设计
  7. 如何去除list中的重复元素
  8. Cannot detect Web Project version. Please specify version of Web Project through Maven project ...报错
  9. Java 数组的 12 个常用操作
  10. 《数据挖掘导论》实验课——实验七、数据挖掘之K-means聚类算法