軟體測試學習教程——Python SMTP傳送郵件

千鋒教育官方發表於2019-09-18

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=" 這是一個連結 </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部落格 ” ,連結:http://blog.itpub.net/69914734/viewspace-2657434/,如需轉載,請註明出處,否則將追究法律責任。

相關文章