簡單郵件傳輸協議(SMTP)是一種協議,用于處理在電子郵件服務器之間發送電子郵件和路由電子郵件。Python提供了smtplib模塊,該模塊定義了一個SMTP客戶端會話對象,該對象可用于將郵件發送到具有SMTP或ESMTP偵聽器守護程序的任何Internet計算機。
SMTP對象具有一個稱為sendmail的實例方法,該方法通常用于完成郵件的發送工作。它需要三個參數-
- sender- 具有發件人地址的字符串。
- receivers- 字符串列表,每個接收者一個。
- message- 以各種RFC中指定的格式格式化為字符串的消息。
Python SMTP示例
這是使用Python腳本發送一封電子郵件的簡單方法。示例代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#!/usr/bin/python3 import smtplib sender = 'from@fromdomain.com' receivers = [ 'to@todomain.com' ] message = """From: From Person <from@fromdomain.com> To: To Person <to@todomain.com> Subject: SMTP e-mail test This 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" |
在這里,已經在郵件中放置了一個基本電子郵件,使用三重引號,請注意正確設置標題的格式。電子郵件需要一個“發件人”,“收件人”和“主題”標頭,并以空白行與電子郵件正文分開。
要發送郵件,需要使用smtpObj連接到本地計算機上的SMTP服務器。然后,調用sendmail方法與消息,發件人地址和目標地址一起用作參數(即使發件人和收件人地址位于電子郵件本身之內,但它們并不總是用于路由郵件)。
如果您不在本地計算機上運行SMTP服務器,則可以使用smtplib客戶端與遠程SMTP服務器通信。除非您使用Webmail服務(例如gmail或Yahoo! Mail),否則您的電子郵件提供商必須已向您提供了可以提供它們的外發郵件服務器詳細信息,如下所示-
1
|
mail = smtplib.SMTP( 'smtp.gmail.com' , 587 ) |
使用Python發送HTML電子郵件當使用Python發送文本消息時,所有內容均被視為簡單文本。即使您在文本消息中包含HTML標簽,它也將顯示為簡單文本,并且HTML標簽不會根據HTML語法進行格式化。但是,Python提供了將HTML消息作為實際HTML消息發送的選項。
發送電子郵件時,可以指定Mime版本,內容類型和字符集來發送HTML電子郵件。
示例代碼
以下是將HTML內容作為電子郵件發送的示例 -
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/usr/bin/python3 import smtplib message = """From: From Person <from@fromdomain.com> To: To Person <to@todomain.com> MIME-Version: 1.0 Content-type: text/html Subject: SMTP HTML e-mail test This 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發送電子郵件的示例的詳細內容,更多關于Python SMTP發送電子郵件的資料請關注服務器之家其它相關文章!
原文鏈接:https://www.yiibai.com/python_network_programming/python_smtp.html