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自带的http模块详解
Nov 06 Python
Python使用smtp和pop简单收发邮件完整实例
Jan 09 Python
Python实现发送与接收邮件的方法详解
Mar 28 Python
对python使用http、https代理的实例讲解
May 07 Python
python利用smtplib实现QQ邮箱发送邮件
May 20 Python
python tornado微信开发入门代码
Aug 24 Python
用Anaconda安装本地python包的方法及路径问题(图文)
Jul 16 Python
浅谈pytorch、cuda、python的版本对齐问题
Jan 15 Python
pytorch实现seq2seq时对loss进行mask的方式
Feb 18 Python
python实现微信打飞机游戏
Mar 24 Python
selenium+超级鹰实现模拟登录12306
Jan 24 Python
python使用BeautifulSoup 解析HTML
Apr 24 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
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
菜鸟修复电子管记
2021/03/02 无线电
PHP中exec与system用法区别分析
2014/09/22 PHP
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
JS焦点图切换,上下翻转
2011/05/12 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
css配合jquery美化 select
2013/11/29 Javascript
node.js中的http.response.addTrailers方法使用说明
2014/12/14 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
JavaScript比较两个对象是否相等的方法
2015/02/06 Javascript
JavaScript实现动态添加,删除行的方法实例详解
2015/07/02 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
vue父子组件的嵌套的示例代码
2017/09/08 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
在vue中解决提示警告 for循环报错的方法
2018/09/28 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
js中Generator函数的深入讲解
2019/04/07 Javascript
layer父页获取弹出层输入框里面的值方法
2019/09/02 Javascript
微信小程序返回上一级页面的实现代码
2020/06/19 Javascript
[43:57]LGD vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
简单上手Python中装饰器的使用
2015/07/12 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
Python操作mysql数据库实现增删查改功能的方法
2018/01/15 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python目录和文件处理总结详解
2019/09/02 Python
python实现两个一维列表合并成一个二维列表
2019/12/02 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
python语言实现贪吃蛇游戏
2020/11/13 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
大学毕业感言50字
2014/02/07 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书