Python SMTP发送电子邮件的示例

作者:次第花开 时间:2023-09-26 17:57:24 

简单邮件传输协议(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"

来源:https://www.yiibai.com/python_network_programming/python_smtp.html

标签:Python,SMTP,电子邮件
0
投稿

猜你喜欢

  • Python测试框架pytest介绍

    2023-08-03 01:47:59
  • 对Matlab中共轭、转置和共轭装置的区别说明

    2023-12-23 00:47:22
  • python的Jenkins接口调用方式

    2022-02-23 11:26:23
  • Python实现的随机森林算法与简单总结

    2021-07-10 20:59:54
  • DOM 精简知识教程

    2013-07-18 07:28:33
  • 纯JavaScript 实现flappy bird小游戏实例代码

    2024-05-11 09:05:57
  • [翻译]标记语言和样式手册 Chapter 1 清单

    2008-01-15 10:26:00
  • IE7兼容模式与兼容视图

    2010-06-28 18:48:00
  • Django+boostrap 美化admin后台的操作

    2022-02-26 16:16:21
  • tensorflow实现从.ckpt文件中读取任意变量

    2023-01-04 15:39:40
  • Django查找网站项目根目录和对正则表达式的支持

    2023-04-09 15:50:37
  • 亲自教你使用 ChatGPT 编写 SQL JOIN 查询示例

    2024-01-14 18:54:01
  • 科讯商业版中用到的ajax空间与分页函数

    2024-04-17 10:05:45
  • asp如何验证字符串是否包含有效字符?

    2009-11-08 19:02:00
  • FileUpload上传图片预览不变形

    2010-08-05 21:25:00
  • K-means聚类算法介绍与利用python实现的代码示例

    2023-07-29 11:08:55
  • Python 语言实现六大查找算法

    2022-11-09 14:41:30
  • Win7 x64 IIS运行ASP+Access故障完美解决方法(转)

    2012-03-27 18:30:35
  • Python使用turtle模块绘制爱心图案

    2022-07-31 06:46:26
  • 在pycharm中实现删除bookmark

    2021-03-18 07:57:24
  • asp之家 网络编程 m.aspxhome.com