從Python發(fā)送郵件方式了解其易用特點(diǎn)
Python編程語言已經(jīng)出現(xiàn),就憑借其簡(jiǎn)單易用,功能強(qiáng)大等特點(diǎn)優(yōu)勢(shì)在開發(fā)領(lǐng)域中占據(jù)著比較重要的地位。那么它究竟能給我們帶來哪些便利之處呢?接下來就讓我們一起從Python發(fā)送郵件的方式來看看這一編程語言的應(yīng)用特點(diǎn)。#t#
不過在介紹Python發(fā)送郵件的實(shí)現(xiàn)方法之前,先讓我們一起看看這一語言的主要特點(diǎn):
簡(jiǎn)單————Python是一種代表簡(jiǎn)單主義思想的語言。閱讀一個(gè)良好的Python程序就感覺像是在讀英語一樣,盡管這個(gè)英語的要求非常嚴(yán)格!Python的這種偽代碼本質(zhì)是它最大的優(yōu)點(diǎn)之一。它使你能夠?qū)W⒂诮鉀Q問題而不是去搞明白語言本身。
易學(xué)————就如同你即將看到的一樣,Python極其容易上手。前面已經(jīng)提到了,Python有極其簡(jiǎn)單的語法。
免費(fèi)、開源————Python是FLOSS(自由/開放源碼軟件)之一。簡(jiǎn)單地說,你可以自由地發(fā)布這個(gè)軟件的拷貝、閱讀它的源代碼、對(duì)它做改動(dòng)、把它的一部分用于新的自由軟件中。FLOSS是基于一個(gè)團(tuán)體分享知識(shí)的概念。這是為什么Python如此優(yōu)秀的原因之一——它是由一群希望看到一個(gè)更加優(yōu)秀的Python的人創(chuàng)造并經(jīng)常改進(jìn)著的。
高層語言————當(dāng)你用Python語言編寫程序的時(shí)候,你無需考慮諸如如何管理你的程序使用的內(nèi)存一類的底層細(xì)節(jié)。
可移植性————由于它的開源本質(zhì),Python已經(jīng)被移植在許多平臺(tái)上(經(jīng)過改動(dòng)使它能夠工作在不同平臺(tái)上)。如果你小心地避免使用依賴于系統(tǒng)的特性,那么你的所有Python程序無需修改就可以在下述任何平臺(tái)上面運(yùn)行。這些平臺(tái)包括Linux、Windows、FreeBSD、Macintosh、Solaris、OS/2、Amiga、AROS、AS/400、BeOS、OS/390、z/OS、Palm OS、QNX、VMS、Psion、Acom RISC OS、VxWorks、PlayStation、Sharp Zaurus、Windows CE甚至還有PocketPC和Symbian!
解釋性————這一點(diǎn)需要一些解釋。一個(gè)用編譯性語言比如C或C++寫的程序可以從源文件(即C或C++語言)轉(zhuǎn)換到一個(gè)你的計(jì)算機(jī)使用的語言(二進(jìn)制代碼,即0和1)。這個(gè)過程通過編譯器和不同的標(biāo)記、選項(xiàng)完成。當(dāng)你運(yùn)行你的程序的時(shí)候,連接/轉(zhuǎn)載器軟件把你的程序從硬盤復(fù)制到內(nèi)存中并且運(yùn)行。而Python語言寫的程序不需要編譯成二進(jìn)制代碼。你可以直接從源代碼 運(yùn)行 程序。在計(jì)算機(jī)內(nèi)部,Python解釋器把源代碼轉(zhuǎn)換成稱為字節(jié)碼的中間形式,然后再把它翻譯成計(jì)算機(jī)使用的機(jī)器語言并運(yùn)行。事實(shí)上,由于你不再需要擔(dān)心如何編譯程序,如何確保連接轉(zhuǎn)載正確的庫(kù)等等,所有這一切使得使用Python更加簡(jiǎn)單。由于你只需要把你的Python程序拷貝到另外一臺(tái)計(jì)算機(jī)上,它就可以工作了,這也使得你的Python程序更加易于移植。
面向?qū)ο?mdash;———Python既支持面向過程的編程也支持面向?qū)ο蟮木幊獭T?ldquo;面向過程”的語言中,程序是由過程或僅僅是可重用代碼的函數(shù)構(gòu)建起來的。在“面向?qū)ο?rdquo;的語言中,程序是由數(shù)據(jù)和功能組合而成的對(duì)象構(gòu)建起來的。與其他主要的語言如C++和Java相比,Python以一種非常強(qiáng)大又簡(jiǎn)單的方式實(shí)現(xiàn)面向?qū)ο缶幊獭?/p>
可擴(kuò)展性————如果你需要你的一段關(guān)鍵代碼運(yùn)行得更快或者希望某些算法不公開,你可以把你的部分程序用C或C++編寫,然后在你的Python程序中使用它們。
可嵌入性————你可以把Python嵌入你的C/C++程序,從而向你的程序用戶提供腳本功能。
豐富的庫(kù)————Python標(biāo)準(zhǔn)庫(kù)確實(shí)很龐大。它可以幫助你處理各種工作,包括正則表達(dá)式、文檔生成、單元測(cè)試、線程、數(shù)據(jù)庫(kù)、網(wǎng)頁瀏覽器、CGI、FTP、電子郵件、XML、XML-RPC、HTML、WAV文件、密碼系統(tǒng)、GUI(圖形用戶界面)、Tk和其他與系統(tǒng)有關(guān)的操作。記住,只要安裝了Python,所有這些功能都是可用的。這被稱作Python的“功能齊全”理念。除了標(biāo)準(zhǔn)庫(kù)以外,還有許多其他高質(zhì)量的庫(kù),如wxPython、Twisted和Python圖像庫(kù)等等。
概括————Python確實(shí)是一種十分精彩又強(qiáng)大的語言。它合理地結(jié)合了高性能與使得編寫程序簡(jiǎn)單有趣的特色。
今天打算在客戶端程序中加入發(fā)送郵件,自己湊SMTP最簡(jiǎn)單也最直接,搞了半天倒弄不多了,但一用gmail和163的服務(wù)器一試,結(jié)果就拋533,郁悶。因?yàn)樗鼈円褂肨LS方式發(fā)送命令,那我就用Python搞了個(gè)測(cè)試代碼,Python發(fā)送郵件的實(shí)現(xiàn)就太容易了,比C++簡(jiǎn)單很多倍。。。
- import smtplib
- handle = smtplib.SMTP('smtp.gmail.com', 25)
- handle.ehlo()
- handle.starttls()
- handle.ehlo()
- handle.login('username@domain', '*******')
- msg = "To: username@domain\r\nFrom: username@domain\r
\nSubject: test \r\n\r\n test mail\r\n"- handle.sendmail('from@domain','to@domain', msg)
- handle.close()
以上就是我們對(duì)Python發(fā)送郵件的相關(guān)方式的介紹。