亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python如何實現(xiàn)郵件功能

 更新時間:2020年05月27日 15:01:09   作者:Python  
在本篇文章里小編給大家分享的是關(guān)于Python實現(xiàn)郵件功能的方法,有需要的朋友們可以學習參考下。

用Python的smtplib就可以簡單的實現(xiàn)郵件功能。什么是SMTP?郵件功能怎么實現(xiàn)?

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。

python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對smtp協(xié)議進行了簡單的封裝。

Python創(chuàng)建 SMTP 對象語法如下:

import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

參數(shù)說明:

host: SMTP 服務器主機。 你可以指定主機的ip地址或者域名如: runoob.com,這個是可選參數(shù)。

port: 如果你提供了 host 參數(shù), 你需要指定 SMTP 服務使用的端口號,一般情況下 SMTP 端口號為25。

local_hostname: 如果 SMTP 在你的本機上,你只需要指定服務器地址為 localhost 即可。

Python SMTP 對象使用 sendmail 方法發(fā)送郵件,語法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])

參數(shù)說明:

from_addr: 郵件發(fā)送者地址。

to_addrs: 字符串列表,郵件發(fā)送地址。

msg: 發(fā)送消息

這里要注意一下第三個參數(shù),msg 是字符串,表示郵件。我們知道郵件一般由標題,發(fā)信人,收件人,郵件內(nèi)容,附件等構(gòu)成,發(fā)送郵件的時候,要注意 msg 的格式。這個格式就是 smtp 協(xié)議中定義的格式。

分享給大家供大家參考。具體實現(xiàn)方法如下:

import smtplib, socket
fromaddr = a@b.com
toaddrs = ["c@d.com",   "e@f.com"]
msg = open("multimsg.eml", "r").read()
try:
 server = smtplib.SMTP('10.0.0.1')
 result = server.sendmail(fromaddr, toaddrs, msg)
 server.quit()
 if result:
  for r in result.keys():
   print "Error sending to", r
   rt = result[r]
   print "Code", rt[0], ":", rt[1]
except (smtplib.SMTPException, socket.error), arg:
 print "SMTP Server could not send mail", arg

實例補充:

python實現(xiàn)發(fā)送郵件功能

'''套接字是為特定的網(wǎng)絡協(xié)議(例如TCP/IP,ICMP/IP,UDP/IP等),允許程序和接受并進行連接,要在python 中建立具有TCP和流套接字的簡單服務器,需要使用socket模塊,利用該模塊包含的函數(shù)和類定義,可生成通過網(wǎng)絡通信的程序,分為六步服務端的一些方法:
1.  何為套接字
內(nèi)核中套接字是一層一層進行抽象展示的,把共性的東西抽取出來,這樣對外提供的接口可以盡量的統(tǒng)一,Socket函數(shù)中的三個參數(shù)其實就是把抽象的socket具體化的條件,famil參數(shù)決定了圖中所示的第二層通信域,type決定了第三層的通信模式,protocol
決定了第四層真正的通信協(xié)議。
首先了解這個內(nèi)容是是在哪個層?是如何通信的
http://www.cnblogs.com/wangcq/p/3520400.html,看了以方法,大體服務器和客戶端就分為這幾步
1.創(chuàng)建對象
2.將socket綁定在指定地址上,socket.bing(地址)
3.第3步,綁定后,必須準備好套接字,對端口進行監(jiān)聽 socket.listen(backlog)
4.socket的accept方法等待客戶請求一個連接
5.處理階段
6.傳輸結(jié)束,服務器調(diào)用socket的close方法以關(guān)閉連接
客戶端就為4個步驟:
1.創(chuàng)建socket連接服務器
2.使用socket的connect方法連接服務器 socket.connect((host,port))
3.客戶和服務器通過send和recv方法通信
4.調(diào)用socket的close方法通信
'''
#encoding=utf-8
import socket
t = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
'''創(chuàng)建socket對象,格式socket.socket(family,type),family格式是AF_INET(對于IPV4協(xié)議的TCP和 UDP),type參數(shù),SOCK_STREAM(流套接字,提供面向連接,可靠的數(shù)據(jù)服務,用于TCP)或者 SOCK_DGRAM(數(shù)據(jù)報文套接字提供無無面向連接,不可靠的數(shù)據(jù)服務,用于UDP),SOCK_RAW(raw套接字,較低層的協(xié)議)'''
t.connect(('smtp.126.com', 25)) #建立連接
print "start", t.recv(1024) #使用recv方法通信,傳輸數(shù)據(jù) 
t.send("helo 126.com\r\n") #發(fā)送內(nèi)容
print "111", t.recv(1024) 
t.send("auth login\r\n") #進行郵箱的登錄
print "222", t.recv(1024) #打印在控制臺
t.send("dGVzdG1hbjE5ODA=\r\n") #base64位方式編碼,解碼為:testman1980
print "333", t.recv(1024) #打印在控制臺
t.send("Zm9zdGVyd3UxOTc4\r\n")#base64位方式編碼,解碼為:fosterwu1978
print "444", t.recv(1024) #打印在控制臺
t.send("mail from:<xxx1980@126.com>\r\n") #發(fā)件人 這里不是很清楚同樣在下方的郵件內(nèi)容中,為何還要在一次
print "555", t.recv(1024) #打印在控制臺
t.send("rcpt to:<xxx@qq.com>\r\n") #改變了收件人,但是不明白下方也有一個收件人,下方是否會收到消息,并且優(yōu)先級是怎樣的,明天實驗來看
print "666", t.recv(1024) #打印在控制臺
t.send("data\r\n")  #data的作用目前還沒有發(fā)現(xiàn),明天實踐
print "777", t.recv(1024)  #打印在控制臺
#發(fā)送郵件內(nèi)容
t.send("from:xxx@126.com\r\n") #optional,可偽造別人的發(fā)件記錄
t.send("to:xxx@qq.com\r\n")  #optional,可發(fā)給任何人
t.send("subject:hello!\r\n")
t.send("\r\n") #按照smtp協(xié)議要求,在標題后要發(fā)個空行
t.send("mail test1111!\r\n") #發(fā)送郵件內(nèi)容
t.send(".\r\n")
print "888", t.recv(1024)

到此這篇關(guān)于Python如何實現(xiàn)郵件功能的文章就介紹到這了,更多相關(guān)Python實現(xiàn)郵件功能的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python Celery和RabbitMQ實戰(zhàn)教程

    詳解Python Celery和RabbitMQ實戰(zhàn)教程

    這篇文章主要介紹了詳解Python Celery和RabbitMQ實戰(zhàn)教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python pandas之求和運算和非空值個數(shù)統(tǒng)計

    Python pandas之求和運算和非空值個數(shù)統(tǒng)計

    數(shù)據(jù)處理的過程中經(jīng)常會遇到判斷空值和求和運算的需求,所以下面這篇文章主要給大家介紹了關(guān)于Python pandas之求和運算和非空值個數(shù)統(tǒng)計的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例

    Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作示例

    這篇文章主要介紹了Python爬蟲爬取電影票房數(shù)據(jù)及圖表展示操作,結(jié)合實例形式分析了Python爬蟲爬取、解析電影票房數(shù)據(jù)并進行圖表展示操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2020-03-03
  • Python爬蟲實現(xiàn)獲取動態(tài)gif格式搞笑圖片的方法示例

    Python爬蟲實現(xiàn)獲取動態(tài)gif格式搞笑圖片的方法示例

    這篇文章主要介紹了Python爬蟲實現(xiàn)獲取動態(tài)gif格式搞笑圖片的方法,結(jié)合實例形式分析了Python針對gif格式圖片的爬取、下載等相關(guān)操作技巧,需要的朋友可以參考下
    2018-12-12
  • Django中常遇到的錯誤問題

    Django中常遇到的錯誤問題

    在Django開發(fā)中,設置DEBUG=False時需要配置ALLOWED_HOSTS以防止報錯,此外,如果django-admin.py命令找不到,需添加Django的安裝路徑到系統(tǒng)環(huán)境變量,此文還提供了一些常見Django錯誤的解決方法,如數(shù)據(jù)庫添加中文報錯、信號無法觸發(fā)等問題
    2024-09-09
  • Python中實現(xiàn)ipaddress網(wǎng)絡地址的處理

    Python中實現(xiàn)ipaddress網(wǎng)絡地址的處理

    ipaddress庫提供了處理IPv4與IPv6網(wǎng)絡地址的類。這些類支持驗證,查找網(wǎng)絡上的地址和主機,以及其他常見的操作,本文就來介紹一下這些方法的使用,感興趣的一起來了解一下
    2021-06-06
  • 詳解如何使用Python實現(xiàn)復制粘貼的功能

    詳解如何使用Python實現(xiàn)復制粘貼的功能

    pandas?里面有一個?pd.read_clipboard?函數(shù),可以根據(jù)你復制的內(nèi)容生成DataFrame。本文就利用這個函數(shù)實現(xiàn)復制粘貼的功能,感興趣的可以了解一下
    2023-01-01
  • python測試攻略pytest.main()隱藏利器實例探究

    python測試攻略pytest.main()隱藏利器實例探究

    在Pytest測試框架中,pytest.main()是一個重要的功能,用于啟動測試執(zhí)行,它允許以不同方式運行測試,傳遞參數(shù)和配置選項,本文將深入探討pytest.main()的核心功能,提供豐富的示例代碼和更全面的內(nèi)容,
    2024-01-01
  • python中websockets與主線程傳遞參數(shù)的實現(xiàn)

    python中websockets與主線程傳遞參數(shù)的實現(xiàn)

    本文主要介紹了python中websockets與主線程傳遞參數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-02-02
  • python中Flask?Web?表單的使用方法介紹

    python中Flask?Web?表單的使用方法介紹

    這篇文章主要介紹了python中Flask?Web?表單的使用方法介紹,表單的操作是Web程序開發(fā)中最核心的模塊之一,絕大多數(shù)的動態(tài)交互功能都是通過表單的形式實現(xiàn)的。更多介紹需要的小伙伴可以參考下面文章內(nèi)容
    2022-05-05

最新評論