使用 Python 发送 HTML 电子邮件

2023-12-02

如何使用Python发送电子邮件中的HTML内容?我可以发送简单的短信。


From Python v2.7.14 文档 - 18.1.11。电子邮件: 示例:

以下是如何使用替代纯文本版本创建 HTML 消息的示例:

#! /usr/bin/python

import smtplib

from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

# me == my email address
# you == recipient's email address
me = "[email protected]"
you = "[email protected]"

# Create message container - the correct MIME type is multipart/alternative.
msg = MIMEMultipart('alternative')
msg['Subject'] = "Link"
msg['From'] = me
msg['To'] = you

# Create the body of the message (a plain-text and an HTML version).
text = "Hi!\nHow are you?\nHere is the link you wanted:\nhttp://www.python.org"
html = """\
<html>
  <head></head>
  <body>
    <p>Hi!<br>
       How are you?<br>
       Here is the <a href="http://www.python.org">link</a> you wanted.
    </p>
  </body>
</html>
"""

# Record the MIME types of both parts - text/plain and text/html.
part1 = MIMEText(text, 'plain')
part2 = MIMEText(html, 'html')

# Attach parts into message container.
# According to RFC 2046, the last part of a multipart message, in this case
# the HTML message, is best and preferred.
msg.attach(part1)
msg.attach(part2)

# Send the message via local SMTP server.
s = smtplib.SMTP('localhost')
# sendmail function takes 3 arguments: sender's address, recipient's address
# and message to send - here it is sent as one string.
s.sendmail(me, you, msg.as_string())
s.quit()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Python 发送 HTML 电子邮件 的相关文章

  • python 中分割字符串以获得一个值?

    需要帮助 假设我在名为 input 的变量中有一个字符串 Sam Person name kind input split 通过执行上述操作 我得到两个具有不同字符串 Sam 和 Person 的变量 有没有办法只获取第一个值 name S
  • 如何限制Django CreateView中ForeignKey字段的选择?

    我有一个沿着这些思路的模型结构 models py class Foo models Model class Bar models Model foo models ForeignKey Foo class Baz models Model
  • 使用 java 按电子邮件发送日历邀请

    我正在尝试使用 java 发送每封电子邮件的日历邀请 收件人收到电子邮件 但不会显示接受或拒绝的邀请 而是将该事件自动添加到他的日历中 我正在使用 ical4j jar 构建活动 邀请 private Calendar getInvite
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • 无法打开 Python。错误 0xc000007b

    我最近一直在学习 Python 3 我在我的上网本 32 位 Windows 7 上创建简单的小程序没有任何问题 当我将它安装在我的上网本上时 我没有遇到任何问题 但现在我已经开始使用它了 我想将它安装在我的台式机上 并且我有一个 我的桌面
  • 在径向(树)网络x图中查找末端节点(叶节点)

    给定下图 是否有一种方便的方法来仅获取末端节点 我所说的端节点是指那些具有一个连接边的到节点 我认为这些有时被称为叶节点 G nx DiGraph fromnodes 0 1 1 1 1 1 2 3 4 5 5 5 7 8 9 10 ton
  • 如何通过双击在浏览器中打开 ipynb 文件

    以前 我安装了 Canopy 当时 我只需双击 ipynb 文件并在浏览器中打开它们即可 但是 后来我需要Anaconda 一旦我安装了它 这个功能就没有了 现在我只希望能够简单地双击 ipynb 文件 然后该文件就会在 Firefox 中
  • 如何反转媒体查询中元素的顺序?

    我有两个 div 左和右 但是当屏幕小于 500px 时 左 div 成为底部 div 右 div 成为顶部 div DOM 中的第一个 div 应该显示为第二个 第二个 div 为第一个 I use display flex 然后 div
  • 如何在 Python 中将彩色输出打印到终端?

    是否有与 Perl 等效的 Python 语言 print color red print
  • 具有多个元素的数组的真值是二义性错误吗? Python

    from numpy import from pylab import from math import def TentMap a x if x gt 0 and x lt 0 5 return 2 a x elif x gt 0 5 a
  • 将 Pandas 列中的列表拆分为单独的列

    这是我在 pandas 数据框中的 特征 列 Feature Cricket 82379 Kabaddi 255 Reality 4751 Cricket 15640 Wildlife 730 LiveTV 13 Football 4129
  • 如何列出 python PDB 中的当前行?

    在 perl 调试器中 如果重复列出离开当前行的代码段 可以通过输入命令返回到当前行 点 我无法使用 python PDB 模块找到任何类似的东西 如果我list如果我自己离开当前行并想再次查看它 似乎我必须记住当前正在执行的行号 对我来说
  • 将输入发送到 python 子进程而不等待结果

    我正在尝试为一段代码编写一些基本测试 该代码通常通过 stdin 无休止地接受输入 直到给出特定的退出命令 我想检查程序是否在给出一些输入字符串时崩溃 经过一段时间来考虑处理 但似乎无法弄清楚如何发送数据而不是陷入等待我不知道的输出关心 我
  • Matplotlib Scatter - ValueError:RGBA 序列的长度应为 3 或 4

    我正在尝试为我的功能绘制图表 但不断收到此错误 ValueError RGBA sequence should have length 3 or 4 每当我只有 6 种形状时 代码就可以完美运行 但现在我将其增加到 10 种 它就不起作用了
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • 如何通过字符串匹配加速 pandas 行过滤?

    我经常需要过滤 pandas 数据框df by df df col name string value 并且我想加快行选择操作 有没有快速的方法可以做到这一点 例如 In 1 df mul df 3000 2000 3 reset inde
  • 为什么实现 __iter__ 的对象不被识别为可迭代的?

    假设您使用包装对象 class IterOrNotIter def init self self f open tmp toto txt def getattr self item try return self getattribute
  • Python 3.2 中 **kwargs 和 dict 有什么区别?

    看起来Python的很多方面都只是功能的重复 除了我在 Python 中的 kwargs 和 dict 中看到的冗余之外 还有什么区别吗 参数解包存在差异 许多人使用kwargs 并通过dict作为论据之一 使用参数解包 Prepare f
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 如何禁止 celery 中的 pickle 序列化

    Celery 默认使用 pickle 作为任务的序列化方法 如中所述FAQ http ask github com celery faq html isn t using pickle a security concern 这代表一个安全漏

随机推荐

  • MVC4 Eonasdan Bootstrap 3 日期时间选择器无法打开选择器屏幕

    我正在使用此处链接的 Bootstrap 3 日期和时间选择器 Bootstrap 3 的日期时间选择器 我无法打开拣选窗口 当您单击文本框时 没有任何反应 浏览器控制台 Chrome 上也不会显示任何消息 因此 事实上 该控件作为一个简单
  • 如何获取通过电话接入点连接的设备数量?

    众所周知 Android 设备具有将手机变成接入点 热点的功能 是否可以通过编程方式获取连接到手机 WiFi 接入点的设备数量 您可以对接入点上连接的设备进行计数 并在 Android 上通过以下链接获取硬件 MAC 地址 http www
  • 基本的情节示例显示 Jupyter 实验室中没有情节

    我只是尝试在 jupyter 笔记本中离线使用情节 使用 jupyter 实验室 这docs给出这个例子 import plotly import plotly graph objs as go plotly offline init no
  • Telerik MVC Grid ClientTemplate 复选框最初未显示

    我有一个与此处的帖子非常相似的问题 带有复选框的 Telerik 网格 网格最初绘制时复选框不显示 基本上 我有一个 Telerik MVC3 剃刀网格 其中包含一个由复选框组成的 ClientTemplate 列 当页面最初加载时 该复选
  • 关于window上的jQuery源==的问题

    data function elem name data if jQuery acceptData elem return elem elem window windowData elem 直接从 jQuery 源复制 为什么使用不安全el
  • 类型错误:添加的图层必须是 Layer 类的实例。找到:

    导入库和模型 from future import print function import keras from keras datasets import mnist from tensorflow keras models impo
  • openpyxl - x 和 y 轴刻度的增量

    我正在创建的条形图会自动缩放 Y 轴刻度增量 从 0 开始为0 5 1 1 5等等 我想让它只以整数递增 即0 1 2 3 4等等我试过了chart y axis tickLblSkip 1但我有疑问 因为我相信这只是标签本身 而不是实际的
  • 是否可以在 XP 上运行 .NET 4.5 应用程序?

    首先 我已阅读以下内容 连接案例 VS case 尤其是这个频道9帖子 因此 从最后一个要点来看 我确实认为没有办法解决这个问题 但我必须看看是否可以获得明确的答案 因为我的团队希望从 NET 4 0 升级到 NET 4 5 不过 我们必须
  • 动态字典名称解码器 json

    Swift 4 我的情况与在动态类型 对象上使用 Codable但对我来说 变化的变量是字典的名称 而不是里面的键 看起来像 customName constantKey Double constantKey2 Double 这是我试图更改
  • Raspberry Pi 4 I2C 总线无法正常工作

    尽管 i2cDetect 确实检测到目标 但我的 Raspberry Pi 4 Model B 上的 I2C 总线无法正常工作 我尝试使用 Raspberry Pi Sense HAT 和 SSD1306 OLED 显示屏以及带有 I2C
  • 如何知道Databricks支持的文件格式?

    我需要将各种文件 不同类型 加载到 Spark 数据框中 Databricks 支持所有这些文件格式吗 如果是 我在哪里可以获得每种文件格式支持的选项列表 delimited csv parquet avro excel json Than
  • 如何在一行中计算数据框中的并发事件?

    我有一个包含电话的数据集 我想计算每条记录有多少个活动呼叫 我找到了这个question但我想避免循环和函数 每个调用都有一个date a start time and a end time 数据框 start end date 0 09
  • 如何更新 OptionMenu 的命令

    我正在尝试在实例化后设置或更新 OptionMenu 的命令 The widget configure command foo 声明适用于Button and CheckButton 但不适合OptionMenu 以下代码引发此错误 tki
  • 为什么我无法关闭或消除 UIWebView 中的 Javascript 警报?

    情况 我调用 Javascriptalert通过UIWebView method stringByEvaluatingJavaScriptFromString 像这样 myWebView stringByEvaluatingJavaScri
  • 在 Django 中自动填充一组通用的多对多字段?

    我正在尝试结合this答案和这个one 带有一点 for 循环 在创建角色时 我想添加所有可能的技能 其值为 0 但我对如何遵循上述答案感到困惑 我有这个混合 class CrossCharacterMixin models Model c
  • PHP 多维数组 - 删除重复项

    如果有人能在这里帮助我 我将永远感激不已 因为我已经花了大约 2 天的时间试图让它发挥作用 我想获取两个多维数组并比较它们 然后remove任何重复的记录 场景是 array2 中的值已分配给用户的配置文件 array1 中的值是用户可以选
  • Python:将文本文件转换为二进制文件

    我们可以将任何数字文件转换为二进制文件 我有一个1MB的文本文件 我想将其转换为二进制字符串并将输出视为二进制数 反之亦然 换句话说 如果我有二进制数 我想将其转换为文本文件 我怎样才能在Python中做到这一点 有没有标准的方法来做到这一
  • 从 Arduino UNO R3 套件读取数据

    我正在尝试读取我已经存储在的数据Arduino套件 我正在使用物理类库为了达成这个 我通过使用以下命令将套件连接到我的电脑来测试该套件 读取数据 B 型 USB 电缆由Arduino本身提供并使用泰拉术语 在我按键盘上的 后数据开始传输 特
  • Python - 确定参数是否为整数

    我对 Python 比较陌生 我想提出一个基本程序 可以确定参数在函数中是否有整数 我不知道该在空白处填什么 我通常不使用 if in 类型配对 该函数的基础是这样的 def is number char if somethinghere
  • 使用 Python 发送 HTML 电子邮件

    如何使用Python发送电子邮件中的HTML内容 我可以发送简单的短信 From Python v2 7 14 文档 18 1 11 电子邮件 示例 以下是如何使用替代纯文本版本创建 HTML 消息的示例 usr bin python im