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 相关文章推荐
Django中对通过测试的用户进行限制访问的方法
Jul 23 Python
Python实现批量检测HTTP服务的状态
Oct 27 Python
django1.8使用表单上传文件的实现方法
Nov 04 Python
Python处理XML格式数据的方法详解
Mar 21 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
pytorch实现特殊的Module--Sqeuential三种写法
Jan 15 Python
python numpy数组中的复制知识解析
Feb 03 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
python thrift 实现 单端口多服务的过程
Jun 08 Python
Python绘制词云图之可视化神器pyecharts的方法
Feb 23 Python
python工具dtreeviz决策树可视化和模型可解释性
Mar 03 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
如何实现给定日期的若干天以后的日期
2006/10/09 PHP
Symfony学习十分钟入门经典教程
2016/02/03 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
php之可变变量的实例详解
2017/09/12 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
2017/10/11 PHP
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
如何实现JavaScript动态加载CSS和JS文件
2020/12/28 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
不使用script导入js文件的几种方法
2016/10/27 Javascript
jQuery解析返回的xml和json方法详解
2017/01/05 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
javascript 判断一个对象为数组的方法
2017/05/03 Javascript
vue项目中使用axios上传图片等文件操作
2017/11/02 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
JavaScript设计模式之原型模式分析【ES5与ES6】
2018/07/26 Javascript
解决vue脚手架项目打包后路由视图不显示的问题
2018/09/20 Javascript
基于vue实现滚动条滚动到指定位置对应位置数字进行tween特效
2019/04/18 Javascript
layui实现三级联动效果
2019/07/26 Javascript
js 判断当前时间是否处于某个一个时间段内
2019/09/19 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
JavaScript中如何调用Java方法
2020/09/16 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
python运用pygame库实现双人弹球小游戏
2019/11/25 Python
比驿:全球酒店比价网
2018/06/20 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
五一手机促销方案
2014/03/08 职场文书
《画》教学反思
2014/04/14 职场文书
校本教研活动总结
2014/07/01 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
公司授权委托书格式范文
2014/10/02 职场文书
业务员岗位职责
2015/02/03 职场文书