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: 无法发送邮件”
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!