ITPub博客

首页 > IT职业 > IT职场 > 软件测试学习教程——Python SMTP发送邮件

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

原创 IT职场 作者:千锋教育官方 时间:2019-09-18 16:14:02 0 删除 编辑

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


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69914734/viewspace-2657434/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
千锋IT职业教育——做真实的自己 用良心做教育

注册时间:2019-03-28

  • 博文量
    140
  • 访问量
    92335