Python SMTP发送电子邮件的示例


Posted in Python onSeptember 23, 2020

简单邮件传输协议(SMTP)是一种协议,用于处理在电子邮件服务器之间发送电子邮件和路由电子邮件。Python提供了smtplib模块,该模块定义了一个SMTP客户端会话对象,该对象可用于将邮件发送到具有SMTP或ESMTP侦听器守护程序的任何Internet计算机。
SMTP对象具有一个称为sendmail的实例方法,该方法通常用于完成邮件的发送工作。它需要三个参数-

  • sender- 具有发件人地址的字符串。
  • receivers- 字符串列表,每个接收者一个。
  • message- 以各种RFC中指定的格式格式化为字符串的消息。

Python SMTP示

这是使用Python脚本发送一封电子邮件的简单方法。示例代码:

#!/usr/bin/python3

import smtplib

sender = 'from@fromdomain.com'
receivers = ['to@todomain.com']

message = """From: From Person <from@fromdomain.com>
To: To Person <to@todomain.com>
Subject: SMTP e-mail test

This is a test e-mail message.
"""

try:
  smtpObj = smtplib.SMTP('localhost')
  smtpObj.sendmail(sender, receivers, message)     
  print "Successfully sent email"
except SMTPException:
  print "Error: unable to send email"

在这里,已经在邮件中放置了一个基本电子邮件,使用三重引号,请注意正确设置标题的格式。电子邮件需要一个“发件人”,“收件人”和“主题”标头,并以空白行与电子邮件正文分开。

要发送邮件,需要使用smtpObj连接到本地计算机上的SMTP服务器。然后,调用sendmail方法与消息,发件人地址和目标地址一起用作参数(即使发件人和收件人地址位于电子邮件本身之内,但它们并不总是用于路由邮件)。

如果您不在本地计算机上运行SMTP服务器,则可以使用smtplib客户端与远程SMTP服务器通信。除非您使用Webmail服务(例如gmail或Yahoo! Mail),否则您的电子邮件提供商必须已向您提供了可以提供它们的外发邮件服务器详细信息,如下所示-

mail = smtplib.SMTP('smtp.gmail.com', 587)

使用Python发送HTML电子邮件当使用Python发送文本消息时,所有内容均被视为简单文本。即使您在文本消息中包含HTML标签,它也将显示为简单文本,并且HTML标签不会根据HTML语法进行格式化。但是,Python提供了将HTML消息作为实际HTML消息发送的选项。

发送电子邮件时,可以指定Mime版本,内容类型和字符集来发送HTML电子邮件。
示例代码

以下是将HTML内容作为电子邮件发送的示例 -

#!/usr/bin/python3

import smtplib

message = """From: From Person <from@fromdomain.com>
To: To Person <to@todomain.com>
MIME-Version: 1.0
Content-type: text/html
Subject: SMTP HTML e-mail test

This is an e-mail message to be sent in HTML format

<b>This is HTML message.</b>
<h1>This is headline.</h1>
"""

try:
  smtpObj = smtplib.SMTP('localhost')
  smtpObj.sendmail(sender, receivers, message)     
  print "Successfully sent email"
except SMTPException:
  print "Error: unable to send email"

以上就是Python SMTP发送电子邮件的示例的详细内容,更多关于Python SMTP发送电子邮件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
分享一下Python 开发者节省时间的10个方法
Oct 02 Python
Python利用turtle库绘制彩虹代码示例
Dec 20 Python
使用requests库制作Python爬虫
Mar 25 Python
python3解析库pyquery的深入讲解
Jun 26 Python
python 读取目录下csv文件并绘制曲线v111的方法
Jul 06 Python
Python3 Tkinter选择路径功能的实现方法
Jun 14 Python
Python实现微信小程序支付功能
Jul 25 Python
python GUI库图形界面开发之PyQt5线程类QThread详细使用方法
Feb 26 Python
python 实现分组求和与分组累加求和代码
May 18 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
利用Python多线程实现图片下载器
Mar 25 Python
Python绘制散乱的点构成的图的方法
Apr 21 Python
python两个list[]相加的实现方法
Sep 23 #Python
python matplotlib库的基本使用
Sep 23 #Python
15个应该掌握的Jupyter Notebook使用技巧(小结)
Sep 23 #Python
Python读取多列数据以及用matplotlib制作图表方法实例
Sep 23 #Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 #Python
python中如何打包用户自定义模块
Sep 23 #Python
python使用matplotlib绘制折线图的示例代码
Sep 22 #Python
You might like
第九节 绑定 [9]
2006/10/09 PHP
认识并使用PHP超级全局变量
2010/01/26 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
使用php判断网页是否gzip压缩
2013/06/25 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
PHP多进程简单实例小结
2019/11/09 PHP
setAttribute 与 class冲突解决
2008/02/17 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
实例讲解js验证表单项是否为空的方法
2016/01/09 Javascript
Javascript的动态增加类的实现方法
2016/10/20 Javascript
jQuery实现弹幕效果
2017/02/17 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
VUE使用vuex解决模块间传值问题的方法
2017/06/01 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
修改layui的后台模板的左侧导航栏可以伸缩的方法
2019/09/10 Javascript
解决在Vue中使用axios用form表单出现的问题
2019/10/30 Javascript
如何在 ant 的table中实现图片的渲染操作
2020/10/28 Javascript
[03:08]TI9战队档案 - Vici Gaming
2019/08/20 DOTA
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
python3个性签名设计实现代码
2018/06/19 Python
Flask之flask-script模块使用
2018/07/26 Python
Python 访问限制 private public的详细介绍
2018/10/16 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
详解pandas DataFrame的查询方法(loc,iloc,at,iat,ix的用法和区别)
2019/08/02 Python
Python3爬虫中Ajax的用法
2020/07/10 Python
Belle Maison倍美丛官网:日本千趣会旗下邮购网站
2016/07/22 全球购物
印度首选时尚目的地:Reliance Trends
2018/01/17 全球购物
eDreams葡萄牙:全球最大的在线旅行社之一
2019/04/15 全球购物
2014年教师培训的自我评价
2014/01/03 职场文书
采购助理岗位职责
2014/02/16 职场文书
购房协议书范本
2014/04/11 职场文书
廉洁自律个人总结
2015/02/14 职场文书
银行招聘自荐信
2015/03/06 职场文书
Java Shutdown Hook场景使用及源码分析
2021/06/15 Java/Android