小小千想和您聊一聊

当前位置: 首页> 技术分享> 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: 无法发送邮件"

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

上一篇:HTML5工具初识之网页编辑器

下一篇:CentOS 7 修改网卡设置

QQ技术交流群

千锋软件测试官方①群
858327674

加入群聊