首页 > IT职业 > IT职场 > 软件测试学习教程——Python SMTP发送邮件
Python SMTP 发送邮件
SMTP ( Simple Mail Transfer Protocol )即简单邮件传输协议 , 它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。 Python 的 smtplib 提供了一种很方便的途径发送电子邮件。它对 smtp 协议进行了简单的封装。
Python 创建 SMTP 对象语法如下:
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
参数说明:
host: 主机的 ip 地址,这个是可选参数。
port: 指定 SMTP 服务使用的端口号,一般情况下 SMTP 端口号为 25 。
local_hostname: 如果 SMTP 在你的本机上,你只需要指定服务器地址为 localhost 即可。
SMTP 对象使用 sendmail 方法发送邮件,语法如下:
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
参数说明:
from_addr: 邮件发送者地址。
to_addrs: 字符串列表,邮件发送地址。
msg: 发送消息
实例 1 : 使用 Python 发送 文本 格式的 邮件
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = '********@163.com'
receivers = ['********@qq.com'] # 接收邮件,可设置为你的邮箱
# 三个参数:第 1 个文本内容,第 2 个设置文本格式,第 3 个设置编码
message = MIMEText('Python 邮件发送测试 ...', 'plain', 'utf-8')
message['From'] = Header(" 教程 ", 'utf-8')
message['To'] = Header(" 测试 ", 'utf-8')
subject = 'Python SMTP 邮件测试 '
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message.as_string())
print " 邮件发送成功 "
except smtplib.SMTPException:
print "Error: 无法发送邮件 "
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
from email.mime.text import MIMEText
from email.header import Header
sender = ' ********@163.com '
receivers = [' ******** @qq.com'] # 接收邮件,可设置为你的邮箱
mail_msg = """
<p>Python 邮件发送测试 ...</p>
<p><a href="http://www.baidu.com"> 这是一个链接 </a></p>
"""
message = MIMEText(mail_msg, 'html', 'utf-8')
message['From'] = Header(" 教程 ", 'utf-8')
message['To'] = Header(" 测试 ", 'utf-8')
subject = 'Python SMTP 邮件测试 '
message['Subject'] = Header(subject, 'utf-8')
try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message.as_string())
print " 邮件发送成功 "
except smtplib.SMTPException:
print "Error: 无法发送邮件 "
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2657434/ ,如需转载,请注明出处,否则将追究法律责任。