怎麼使用python傳送郵件呢?首先我們要使用到下面的模組
python內建對smtp的支援,可以傳送純文字郵件、html郵件以及帶附件的郵件。
python對smtp支援有smtplib和email兩個模組,email負責構造郵件,smtplib負責傳送郵件。
注意:使用前需要開啟smtp服務
我們這以163郵箱為例
import smtplib #傳送郵件模組
from email.mime.text import mimetext #定義郵件內容
from email.header import header #定義郵件標題
#傳送郵箱伺服器
smtpserver='smtp.163.com'
#傳送郵箱使用者名稱密碼
user='***@163.com'
password='…'
#傳送和接收郵箱
sender='***@163.com'
receive='***@126.com'
#傳送郵件主題和內容
subject='web selenium 自動化測試報告'
content='
'#html郵件正文
msg=mimetext(content,'html','utf-8')
msg['subject']=header(subject,'utf-8')
msg['from']='***@163.com'
msg['to'] = '***[email protected]'
#ssl協議埠號要使用465
smtp = smtplib.smtp_ssl(smtpserver, 465)
#helo 向伺服器標識使用者身份
smtp.helo(smtpserver)
#伺服器返回結果確認
smtp.ehlo(smtpserver)
#登入郵箱伺服器使用者名稱和密碼
smtp.login(user,password)
print("開始傳送郵件...")
smtp.sendmail(sender,receive,msg.as_string())
smtp.quit()
print("郵件傳送完成!")
上面只實現了郵件的傳送,那要傳送附件怎麼辦呢?接下來就是傳送帶附件形式的郵箱實現
import smtplib #傳送郵件模組
from email.mime.text import mimetext #定義郵件內容
from email.mime.multipart import mimemultipart #用於傳送附件
#傳送郵箱伺服器
smtpserver='smtp.163.com'
#傳送郵箱使用者名稱密碼
user='***@163.com'
password='123456'
#傳送和接收郵箱
sender='***@163.com'
receives=['***[email protected]','***[email protected]']
#傳送郵件主題和內容
subject='web selenium 附件傳送測試'
content='
'send_file=open(r"e:\python_script\logo.png",'rb').read()
att=mimetext(send_file,'base64','utf-8')
att["content-disposition"]='attachment;filename="logo.png"'
#構建傳送與接收資訊
msgroot=mimemultipart()
msgroot.attach(mimetext(content, 'html', 'utf-8'))
msgroot['subject']=subject
msgroot['from']=sender
msgroot['to'] = ','.join(receives)
msgroot.attach(att)
#ssl協議埠號要使用465
smtp = smtplib.smtp_ssl(smtpserver, 465)
#helo 向伺服器標識使用者身份
smtp.helo(smtpserver)
#伺服器返回結果確認
smtp.ehlo(smtpserver)
#登入郵箱伺服器使用者名稱和密碼
smtp.login(user,password)
print("start send email...")
smtp.sendmail(sender,receives,msgroot.as_string())
smtp.quit()
print("send end!")
html傳送郵件 Python傳送郵件(三十)
簡單郵件傳輸協議 smtp 是一種協議,用於在郵件伺服器之間傳送電子郵件和路由電子郵件。python提供smtplib模組,該模組定義了乙個smtp客戶端會話物件,可用於使用smtp或esmtp偵聽器守護程式向任何網際網路機器傳送郵件。這是乙個簡單的語法,用來建立乙個smtp物件,稍後將演示如何用它...
python 傳送郵件
coding utf 8 import smtplib from email.mime.text import mimetext from email.header import header 檔案形式的郵件 def email file mail host smtp.qq.com 郵箱伺服器 ma...
python 傳送郵件
smtp mail transfer protocol 即簡單郵件傳輸協議,它是一組用於由源位址到目的位址傳送郵件的規則,由它來控制信件的中轉方式。python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議進行了簡單的封裝。直接貼 coding utf 8 import smt...