Python SMTP發(fā)送電子郵件的示例
簡(jiǎn)單郵件傳輸協(xié)議(SMTP)是一種協(xié)議,用于處理在電子郵件服務(wù)器之間發(fā)送電子郵件和路由電子郵件。Python提供了smtplib模塊,該模塊定義了一個(gè)SMTP客戶(hù)端會(huì)話對(duì)象,該對(duì)象可用于將郵件發(fā)送到具有SMTP或ESMTP偵聽(tīng)器守護(hù)程序的任何Internet計(jì)算機(jī)。SMTP對(duì)象具有一個(gè)稱(chēng)為sendmail的實(shí)例方法,該方法通常用于完成郵件的發(fā)送工作。它需要三個(gè)參數(shù)-
sender- 具有發(fā)件人地址的字符串。 receivers- 字符串列表,每個(gè)接收者一個(gè)。 message- 以各種RFC中指定的格式格式化為字符串的消息。Python SMTP示例
這是使用Python腳本發(fā)送一封電子郵件的簡(jiǎn)單方法。示例代碼:
#!/usr/bin/python3import smtplibsender = ’from@fromdomain.com’receivers = [’to@todomain.com’]message = '''From: From Person <from@fromdomain.com>To: To Person <to@todomain.com>Subject: SMTP e-mail testThis is a test e-mail message.'''try: smtpObj = smtplib.SMTP(’localhost’) smtpObj.sendmail(sender, receivers, message) print 'Successfully sent email'except SMTPException: print 'Error: unable to send email'
在這里,已經(jīng)在郵件中放置了一個(gè)基本電子郵件,使用三重引號(hào),請(qǐng)注意正確設(shè)置標(biāo)題的格式。電子郵件需要一個(gè)“發(fā)件人”,“收件人”和“主題”標(biāo)頭,并以空白行與電子郵件正文分開(kāi)。
要發(fā)送郵件,需要使用smtpObj連接到本地計(jì)算機(jī)上的SMTP服務(wù)器。然后,調(diào)用sendmail方法與消息,發(fā)件人地址和目標(biāo)地址一起用作參數(shù)(即使發(fā)件人和收件人地址位于電子郵件本身之內(nèi),但它們并不總是用于路由郵件)。
如果您不在本地計(jì)算機(jī)上運(yùn)行SMTP服務(wù)器,則可以使用smtplib客戶(hù)端與遠(yuǎn)程SMTP服務(wù)器通信。除非您使用Webmail服務(wù)(例如gmail或Yahoo! Mail),否則您的電子郵件提供商必須已向您提供了可以提供它們的外發(fā)郵件服務(wù)器詳細(xì)信息,如下所示-
mail = smtplib.SMTP(’smtp.gmail.com’, 587)
使用Python發(fā)送HTML電子郵件當(dāng)使用Python發(fā)送文本消息時(shí),所有內(nèi)容均被視為簡(jiǎn)單文本。即使您在文本消息中包含HTML標(biāo)簽,它也將顯示為簡(jiǎn)單文本,并且HTML標(biāo)簽不會(huì)根據(jù)HTML語(yǔ)法進(jìn)行格式化。但是,Python提供了將HTML消息作為實(shí)際HTML消息發(fā)送的選項(xiàng)。
發(fā)送電子郵件時(shí),可以指定Mime版本,內(nèi)容類(lèi)型和字符集來(lái)發(fā)送HTML電子郵件。示例代碼
以下是將HTML內(nèi)容作為電子郵件發(fā)送的示例 -
#!/usr/bin/python3import smtplibmessage = '''From: From Person <from@fromdomain.com>To: To Person <to@todomain.com>MIME-Version: 1.0Content-type: text/htmlSubject: SMTP HTML e-mail testThis is an e-mail message to be sent in HTML format<b>This is HTML message.</b><h1>This is headline.</h1>'''try: smtpObj = smtplib.SMTP(’localhost’) smtpObj.sendmail(sender, receivers, message) print 'Successfully sent email'except SMTPException: print 'Error: unable to send email'
以上就是Python SMTP發(fā)送電子郵件的示例的詳細(xì)內(nèi)容,更多關(guān)于Python SMTP發(fā)送電子郵件的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. xml中的空格之完全解說(shuō)2. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作。”的詭異問(wèn)題……3. msxml3.dll 錯(cuò)誤 800c0019 系統(tǒng)錯(cuò)誤:-2146697191解決方法4. html小技巧之td,div標(biāo)簽里內(nèi)容不換行5. XML入門(mén)的常見(jiàn)問(wèn)題(四)6. ASP中if語(yǔ)句、select 、while循環(huán)的使用方法7. 匹配模式 - XSL教程 - 48. 解決ASP中http狀態(tài)跳轉(zhuǎn)返回錯(cuò)誤頁(yè)的問(wèn)題9. WML語(yǔ)言的基本情況10. CSS3中Transition屬性詳解以及示例分享
