Python SMTP發(fā)送郵件
SMTP(Simple Mail Transfer Protocol)即簡(jiǎn)單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來(lái)控制信件的中轉(zhuǎn)方式。Python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對(duì)smtp協(xié)議進(jìn)行了簡(jiǎn)單的封裝。
Python創(chuàng)建 SMTP 對(duì)象語(yǔ)法如下:
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
參數(shù)說(shuō)明:
host: 主機(jī)的ip地址,這個(gè)是可選參數(shù)。
port: 指定 SMTP 服務(wù)使用的端口號(hào),一般情況下 SMTP 端口號(hào)為25。
local_hostname: 如果 SMTP 在你的本機(jī)上,你只需要指定服務(wù)器地址為 localhost 即可。
SMTP 對(duì)象使用 sendmail 方法發(fā)送郵件,語(yǔ)法如下:
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
參數(shù)說(shuō)明:
from_addr: 郵件發(fā)送者地址。
to_addrs: 字符串列表,郵件發(fā)送地址。
msg: 發(fā)送消息
實(shí)例 1 : ? 使用 Python 發(fā)送 文本 格式的 郵件
#!/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'] ?# 接收郵件,可設(shè)置為你的郵箱
# 三個(gè)參數(shù):第1個(gè)文本內(nèi)容,第2個(gè)設(shè)置文本格式,第3個(gè)設(shè)置編碼
message = MIMEText('Python 郵件發(fā)送測(cè)試...', 'plain', 'utf-8')
message['From'] = Header("教程", 'utf-8')
message['To'] = ?Header("測(cè)試", 'utf-8')
subject = 'Python SMTP 郵件測(cè)試'
message['Subject'] = Header(subject, 'utf-8')
try:
????smtpObj = smtplib.SMTP('localhost')
????smtpObj.sendmail(sender, receivers, message.as_string())
????print "郵件發(fā)送成功"
except smtplib.SMTPException:
print "Error: 無(wú)法發(fā)送郵件"
實(shí)例2: 使用Python發(fā)送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'] ?# 接收郵件,可設(shè)置為你的郵箱
mail_msg = """
Python 郵件發(fā)送測(cè)試...
"""
message = MIMEText(mail_msg, 'html', 'utf-8')
message['From'] = Header("教程", 'utf-8')
message['To'] = ?Header("測(cè)試", 'utf-8')
subject = 'Python SMTP 郵件測(cè)試'
message['Subject'] = Header(subject, 'utf-8')
try:
????smtpObj = smtplib.SMTP('localhost')
????smtpObj.sendmail(sender, receivers, message.as_string())
????print "郵件發(fā)送成功"
except smtplib.SMTPException:
print "Error: 無(wú)法發(fā)送郵件"
?
尾注: 如果你對(duì)軟件測(cè)試感興趣,歡迎來(lái)訪!
關(guān)注作者:千鋒教育官方博客 更多免費(fèi)視頻教程、學(xué)習(xí)工具獲取方式: 千鋒軟件測(cè)試①群:722498357
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
