软件测试学习教程——【se】Python SMTP发送邮件

有些话、适合烂在心里 提交于 2019-11-30 01:00:07

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: 无法发送邮件"

实例2:使用Python发送HTML格式的邮件

#!/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: 无法发送邮件"

 

尾注: 如果你对软件测试感兴趣,欢迎来访!

关注作者:千锋教育官方博客 更多免费视频教程、学习工具获取方式: 千锋软件测试①群:722498357

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!