日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python安装email模块_Python使用SMTP模块、email模块发送邮件

發布時間:2024/10/14 python 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python安装email模块_Python使用SMTP模块、email模块发送邮件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、smtplib模塊:

主要通過SMTP類與郵件系統進行交互。使用方法如下:

1.實例化一個SMTP對象:

s = smtplib.SMTP(郵件服務地址,端口號)

s = smtplib.SMTP_SSL(郵件服務地址,端口號)

2.登陸郵件,權限驗證:

s.login(用戶名,密碼)

3.發送郵件:

s.sendmail(發件人郵箱,收件人郵箱,發送內容)

4.斷開連接:

s.close()

二、email模塊:

email模塊:支持發送的郵件內容為純文本、HTML內容、圖片、附件。email模塊中有幾大類來針對不同的郵件內容形式,常用如下:

MIMEText:(MIME媒體類型)內容形式為純文本、HTML頁面。

MIMEImage:內容形式為圖片。

MIMEMultupart:多形式組合,可包含文本和附件。

每一類對應的導入方式:

from email.mime.text import MIMEText

from email.mime.image import MIMEImage

from email.mime.multipart import MIMEMultipart

三、MIMEText:

MIMEText(msg,type,chartset)

msg:文本內容

type:文本類型默認為plain(純文本)

發送HTML格式的時候,修改為html,但同時要求msg的內容也是html的格式。

chartset:文本編碼,中文為“utf-8”

# 構造TEXT格式的消息

msg = MIMEText("hello.text","plain","utf-8")

msg["Subject"] = "xxxxx"

msg["From"] = "xxxx"

msg["To"] = "xxxx"

#發送以上構造的郵件內容要使用as_string將構造的郵件內容轉換為string形式。

s.sendmail("xxx","xxx",msg.as_string)

四、MIMEImage、MIMEMultipart:

msg = MIMEMultipart()

#實例化一個文本對象

msg_sub = MIMEText("hello.text","plain","utf-8")

#將text消息添加到MIMEMultipart中,作為郵件正文。

msg.attach(msg_sub)

#圖片作為附件

import os

img_datas = open(os.getcwd()+ "/reports/xxxx.png","rb").read()

msg_img = MIMEImage(img_data)

msg_img.add_header('Content-Disposition','attachment', filename = "xxxx.png"?)

msg_img.add_header('Content-ID','<0>')

#將圖片添加到MIMEMultiplart中,作為附件發送。

msg.attach(mag_img)

源代碼如下:

發送文本郵件:

1 importsmtplib2 from email.mime.text importMIMEText3

4 sender = 'xxxx@qq.com' #發送人郵箱

5 passwd = 'lkugmgywydhfff' #發送人郵箱授權碼

6 receivers = 'xxxx@qq.com' #收件人郵箱

7

8 subject = 'python發郵件測試' #主題

9 content = '這是我使用python smtplib模塊和email模塊自動發送的郵件' #正文

10

11 msg = MIMEText(content,'plain','utf-8')12 msg['Subject'] =subject13 msg['From'] =sender14 msg['TO'] =receivers15

16 try:17 s = smtplib.SMTP_SSL('smtp.qq.com',465)18 s.login(sender,passwd)19 s.sendmail(sender,receivers,msg.as_string())20 print('發送成功')21

22 exceptException:23 print('發送失敗')

發送HTML郵件:

1 importsmtplib2 from email.mime.text importMIMEText3 from email.header importHeader4

5 sender = 'xxxx@qq.com' #發件郵箱

6 passwd = 'lkugmgywydhfff' #發送人郵箱授權碼

7 receivers = 'xxxx@qq.com' #收件郵箱

8

9 subject = 'python發郵Html郵件測試' #主題

10

11 content = """#內容,HTML格式12

Python 郵件發送測試...

13

這是一個鏈接

14 """

15

16 msg = MIMEText(content,'html','utf-8')17 #msg['Subject'] = subject

18 msg['Subject'] = Header(subject,'utf-8')19 #msg['From'] = sender

20 msg['From'] = Header('大傻子','utf-8')21 #msg['To'] = receivers

22 msg['To'] = Header('二愣子','utf-8')23 try:24 s = smtplib.SMTP_SSL('smtp.qq.com',465)25 s.login(sender,passwd)26 s.sendmail(sender,receivers,msg.as_string())27 print('Send Success')28

29 except:30 print('Send Failure')

發送圖片郵件:

1 importsmtplib2 from email.mime.image importMIMEImage3 from email.mime.text importMIMEText4 from email.mime.multipart importMIMEMultipart5

6 sender = 'xxxx@qq.com'

7 passwd = 'lkugmgywydhfff'

8 receivers = 'xxxx@qq.com'

9 subject = 'python發郵帶img的郵件測試' #主題

10

11 #創建一個帶附件的實例

12 msg =MIMEMultipart()13 msg['Subject'] =subject14 msg['From'] =sender15 msg['To'] =receivers16

17 #創建正文

18 msg.attach(MIMEText('使用python smtplib模塊和email模塊自動發送郵件測試','plain','utf-8'))19

20 #創建圖片附件

21 importos22 img_file = open(os.getcwd()+"/a4.jpg",'rb').read()23 msg_img =MIMEImage(img_file)24 msg_img.add_header('Content-Disposition','attachment', filename = "a4.jpg")25 msg_img.add_header('Content-ID', '<0>')26 msg.attach(msg_img)27

28 try:29 s = smtplib.SMTP_SSL('smtp.qq.com',465)30 s.set_debuglevel(1) #輸出發送郵件詳細過程

31 s.login(sender,passwd)32 s.sendmail(sender,receivers,msg.as_string())33 print('Send Succese')34

35 except:36 print('Send Failure')

發送帶附件的郵件:

1 importsmtplib2 from email.mime.text importMIMEText3 from email.mime.multipart importMIMEMultipart4 from email.header importHeader5

6 sender = 'xxxxxx@qq.com'  #發件郵箱

7 passwd = 'lkugmgywydhfff'  # 郵箱授權碼

8 receivers = 'xxxxxx@qq.com'  #收件郵箱

9

10 subject = 'python發帶附件的郵件測試' #主題

11 #創建一個帶附件的實例

12 msg =MIMEMultipart()13 msg['Subject'] =subject14 msg['From'] =sender15 msg['To'] =receivers16

17 #創建正文,將文本文件添加到MIMEMultipart中

18 msg.attach(MIMEText('使用python smtplib模塊和email模塊自動發送郵件測試','plain','utf-8'))19

20 #構造附件1,傳送當前目錄下 文件

21 att1 = MIMEText(open('testdata.xlsx','rb').read(),'base64','utf-8') #rb以二進制方式讀取

22 #att1["Content-Type"] = 'application/octet-stream'

23 #filename為附件名稱,可以任意寫,寫什么名字,郵件中顯示什么名字

24 att1["Content-Disposition"] = 'attachment; filename = "testdata.xlsx"'

25 #將附件添加到MIMEMultipart中

26 msg.attach(att1)27

28 #構造附件2

29 att2 = MIMEText(open('db.cfg','rb').read(),'base64','utf-8')30 #att2["Content-Type"] = 'application/octet-stream'

31 att2["Content-Disposition"] = 'attachment; filename = "db.cfg"'

32 #將附件添加到MIMEMultipart中

33 msg.attach(att2)34

35 try:36 s = smtplib.SMTP_SSL('smtp.qq.com',465)37 s.set_debuglevel(1) #輸出發送郵件詳細過程

38 s.login(sender,passwd)39 s.sendmail(sender,receivers,msg.as_string())40 print('Send Succese')41

42 except:43 print('Send Failure')

總結

以上是生活随笔為你收集整理的python安装email模块_Python使用SMTP模块、email模块发送邮件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。