可採用email模組傳送電子郵件附件。傳送乙個未知mime型別的檔案附件其基本思路如下:
1. 構造mimemultipart物件做為根容器
2. 構造mimetext物件做為郵件顯示內容並附加到根容器
3. 構造mimebase物件做為檔案附件內容並附加到根容器
a. 讀入檔案內容並格式化
b. 設定附件頭
4. 設定根容器屬性
5. 得到格式化後的完整文字
6. 用smtp傳送郵件
具體內容參見14章第6節 「email: parsing and composing mails」。傳送乙個未知mime型別的檔案附件例項**如下:
import smtplib
import email.mimemultipart
import email.mimetext
import email.mimebase
import os.path
from = "sender address"
to = "recipients"
file_name = "file name"
server = smtplib.smtp("smtp server address")
server.login("username","password") #僅smtp伺服器需要驗證時
# 構造mimemultipart物件做為根容器
main_msg = email.mimemultipart.mimemultipart()
# 構造mimetext物件做為郵件顯示內容並附加到根容器
text_msg = email.mimetext.mimetext("this is a test text to text mime")
main_msg.attach(text_msg)
# 構造mimebase物件做為檔案附件內容並附加到根容器
maintype, subtype = contype.split('/', 1)
## 讀入檔案內容並格式化
data = open(file_name, 'rb')
file_msg = email.mimebase.mimebase(maintype, subtype)
file_msg.set_payload(data.read( ))
data.close( )
email.encoders.encode_base64(file_msg)
## 設定附件頭
basename = os.path.basename(file_name)
file_msg.add_header('content-disposition',
'attachment', filename = basename)
main_msg.attach(file_msg)
# 設定根容器屬性
main_msg['from'] = from
main_msg['to'] = to
main_msg['subject'] = "attach test "
main_msg['date'] = email.utils.formatdate( )
# 得到格式化後的完整文字
fulltext = main_msg.as_string( )
# 用smtp傳送郵件
try:
server.sendmail(from, to, fulltext)
finally:
server.quit()
python實現傳送郵件
有時我們需要程式在執行出現問題時傳送郵件通知我們,在這裡寫了乙個使用qq傳送的python指令碼,也是綜合了網上的資源 然而網上的案例好像都不能用 搞得,當然只要把主機埠啥的改一下就能使用其他郵箱了,如下 usr bin python coding utf 8 import smtplib from...
Python實現傳送郵件
coding utf 8 引入相關的模組 import smtplib from email.mime.text import mimetext from email.mime.image import mimeimage from email.header import header from e...
python傳送郵件實現
send mail python 傳送郵件的模組 usr bin env python coding utf 8 匯入smtplib和mimetext import smtplib from email.mime.text import mimetext 要發給誰 mailto list qq.co...