国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中使用smtplib和email模塊發(fā)送郵件實例

2020-02-23 05:19:53
字體:
供稿:網(wǎng)友

SMTP模塊

這么多已定義的類中,我們最常用的的還是smtplib.SMTP類,就具體看看該類的用法:
smtp實例封裝一個smtp連接,它支持所有的SMTP和ESMTP操作指令,如果host和port參數(shù)被定義,則smtp會在初始化期間自動調(diào)用connect()方法,如果connect()方法失敗,則會觸發(fā)SMTPConnectError異常,timeout參數(shù)設(shè)置了超時時間。在一般的調(diào)用過程中,應(yīng)該遵connetc()、sendmail()、quit()步驟。

SMTP模塊主要方法

下面我們來看看該類的方法:
代碼如下:
SMTP.set_debuglevel(level)
設(shè)置輸出debug調(diào)試信息,默認不輸出調(diào)試信息。
SMTP.docmd(cmd[, argstring])
發(fā)送一個command到smtp服務(wù)器,
SMTP.connect([host[, port]])
連接到指定的smtp服務(wù)器,默認是本機的25端口。也可以寫成hostname:port的形式。
SMTP.helo([hostname])
使用helo指令向smtp服務(wù)器確認你的身份。
SMTP.ehlo([hostname])
使用ehlo指令向esmtp服務(wù)器確認你的身份。
SMTP.ehlo_or_helo_if_needed()
如果在以前的會話連接中沒有提供ehlo或者helo指令,這個方法調(diào)用ehlo()或者helo()。
SMTP.has_extn(name)
判斷指定的名稱是否在smtp服務(wù)器上。
SMTP.verify(address)
判斷郵件地址是否在smtp服務(wù)器上存在。
SMTP.login(user, password)
登陸需要驗證的smtp服務(wù)器,如果之前沒有提供ehlo或者helo指令,則會先嘗試ESMTP的ehlo指令。
SMTP.starttls([keyfile[, certfile]])
使smtp連接運行在TLS模式,所有的smtp指令都會被加密。
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
發(fā)送郵件,該方法需要一些郵件地址和消息。
SMTP.quit()
終止smtp會話并且關(guān)閉連接。

經(jīng)過搜索學習發(fā)現(xiàn)網(wǎng)上大多都是用smtp類的sendmail這個方法來發(fā)郵件,那就先看看這個例子:

使用sendmail發(fā)送郵件
代碼如下:
import smtplib
import time
from email.message import Message
from time import sleep
import email.utils
import base64

smtpserver = 'smtp.gmail.com'
username = 'username@gmail.com'
password = 'password '

from_addr = 'from@gmail.com'
to_addr = 'tooooooo@qq.com'
cc_addr = 'ccccccccc@qq.com'

time = email.utils.formatdate(time.time(),True)

message = Message()
message['Subject'] = 'Mail Subject'
message['From'] = from_addr
message['To'] = to_addr
message['Cc'] = cc_addr
message.set_payload('mail content '+time)
msg = message.as_string()

sm = smtplib.SMTP(smtpserver,port=587,timeout=20)
sm.set_debuglevel(1)
sm.ehlo()
sm.starttls()
sm.ehlo()
sm.login(username, password)

sm.sendmail(from_addr, to_addr, msg)
sleep(5)
sm.quit()

Email模塊

如果想在郵件中攜帶附件、使用html書寫郵件,附帶圖片等等,就需要使用email模塊及其子模塊。下面來看看email包,email包是用來管理email信息的,它包括MIME和其他基于RFC 2822的消息格式。email包的主要特征是在它內(nèi)部解析和生成email信息是分開的模塊來實現(xiàn)的。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东乡县| 定结县| 沁源县| 封丘县| 白水县| 上林县| 连平县| 瓦房店市| 玉树县| 乡城县| 黄骅市| 阳新县| 盐亭县| 台北市| 屏南县| 利津县| 龙山县| 益阳市| 都匀市| 西乌| 布尔津县| 离岛区| 金川县| 永安市| 化德县| 泽库县| 浪卡子县| 孝昌县| 喀什市| 青海省| 奉贤区| 岑溪市| 探索| 南阳市| 建水县| 三都| 杭锦旗| 寿光市| 孝义市| 和硕县| 广南县|