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单链表实现代码实例
Nov 21 Python
python处理PHP数组文本文件实例
Sep 18 Python
Python单链表的简单实现方法
Sep 23 Python
python使用xlrd模块读写Excel文件的方法
May 06 Python
使用Python的urllib和urllib2模块制作爬虫的实例教程
Jan 20 Python
django项目运行因中文而乱码报错的几种情况解决
Nov 07 Python
python2与python3共存问题的解决方法
Sep 18 Python
pandas 缺失值与空值处理的实现方法
Oct 12 Python
pytorch制作自己的LMDB数据操作示例
Dec 18 Python
如何使用python实现模拟鼠标点击
Jan 06 Python
Python3.9.1中使用split()的处理方法(推荐)
Feb 07 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
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
如何使用PHP往windows中添加用户
2006/12/06 PHP
四个PHP非常实用的功能
2015/09/29 PHP
验证坐标在某坐标区域内php代码
2016/10/08 PHP
php文件上传、下载和删除示例
2020/08/28 PHP
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
JavaScript中的字符串操作详解
2013/11/12 Javascript
基于javascript的JSON格式页面展示美化方法
2014/07/02 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
jQuery选择器源码解读(二):select方法
2015/03/31 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
微信JS-SDK自定义分享功能实例详解【分享给朋友/分享到朋友圈】
2016/11/25 Javascript
javascript基础知识讲解
2017/01/11 Javascript
Js利用console计算代码运行时间的方法示例
2017/09/24 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
python 文件和路径操作函数小结
2009/11/23 Python
Python使用cx_Oracle调用Oracle存储过程的方法示例
2017/10/07 Python
python中列表和元组的区别
2017/12/18 Python
Python使用正则表达式获取网页中所需要的信息
2018/01/29 Python
Python爬虫使用脚本登录Github并查看信息
2018/07/16 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
python 二维数组90度旋转的方法
2019/01/28 Python
Python实现FTP文件传输的实例
2019/07/07 Python
Python单元测试模块doctest的具体使用
2020/02/10 Python
Django 实现图片上传和下载功能
2020/12/31 Python
西班牙购买行李箱和背包网站:Maletas Greenwich
2019/10/08 全球购物
电子商务个人职业生涯规划范文
2014/02/12 职场文书
小学二年级评语
2014/04/21 职场文书
技校毕业生自荐书
2014/05/23 职场文书
教师辞职信范文
2015/02/28 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
童年读书笔记
2015/06/26 职场文书
Python多个MP4合成视频的实现方法
2021/07/16 Python