Python自動化辦公之郵件傳送全過程詳解

2022-09-21 10:30:10 字數 3650 閱讀 4492

使用python實現自動化郵件傳送,可以讓你擺脫繁瑣的重複性業務,可以節省非常多的時間。

操作前配置(以較為複雜的qq郵箱舉例,其他郵箱操作類似)

單擊設定-賬號,滑倒下方協議處,開啟imap/smtp程式設計客棧協議(imap,即internet message accessprotocol(網際網路郵件訪問協議),可以通過這種協議從郵件伺服器上獲取郵件的資訊、**郵件等。imap與pop類似,都是一種郵件獲取協議。)

(ps.開啟需要驗證)

記住埠號,後續寫**傳送郵件時候需要:

生成授權碼,前期配置完成

我們首先來傳送乙個簡單的郵件:

smtp.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]

引數說明:

這裡要注意一下:第三個引數,msg是字串,表示郵件。我們知道郵件一般由標題,發信人,收件人,郵件內容,附件等構成,傳送郵件的時候,要注意msg的格式。這個格式就是smtp協議中定義的格式。

import smtplib

from email.mime.text import mimetext

##輸入發件人郵箱名稱

email_name = '你的郵箱'

# 輸入使用者授權碼

passwd = '你的授權碼'

# 收件人郵箱

msg_to = '想要發給誰'

# 郵件的正文

content = "我想吃饅頭"

# 設定郵件

msg = mimetext(content)

msg['subject']='你想吃什麼'

#設定發件人

msg['from']= '你隔壁的小王'

# 這個引數設定要發給誰

msg['to'] = msg_to

#連線伺服器

s= smtplib.smtp_ssl('smtp.qq.com',465)

# 登陸我的郵箱

s.login(email_name,passwd)

# 傳送郵箱

s.sendmail(email_name,msg_to,msg.as_string())

print("傳送成功")

傳送成功,我們在接收的郵箱裡收到了這封郵件。

怎麼傳送帶附件的郵件:

傳送帶附件的郵件,首先要建立mimemultipart()例項,然後構造附件,如果有多個附件,可依次構造,最後利用smtplib.smtp傳送。

import smtplib

from email.mime.text import mimetext

from email.mime.multipart import mimemultipart

##輸入發件人郵箱名稱

email_name = '***'

# 輸入使用者授權碼

passwd = '***'

# 收件人郵箱

msg_to = '***'

# 郵件的正文

content = "我想吃饅頭"

# 設定郵件

content_part = mimetext(content)

#設定附件內容物件

msg = mimemultipart()

msg['subject']='你想吃什麼'

#設定發件人

msg['from']= '你隔壁的小王'

# 這個引數設定要發給誰

msg['to'] = msg_to

#新增附件內容

msg.attach(content_part)

#*********************構造附件***********

# 文字型別的附件

att1 = mimetext(open("./data/學習目標.txt",'rb').read(),'plain','utfwww.cppcns.com-8')

# 新增頭資訊,我告訴伺服器,我現在是乙個附件

att1['content-type']='application/octet-stream'

att1.add_header("content-disposition",'attachment',filename=('gbk',"",'學習目標.txt'))

# 把內容新增到郵件中

msg.attach(att1)

# 附件

att2 = mimetext(open("小豬豬.gif",'rb').read(),'plain','utf-8')

# 新增頭資訊,我告訴伺服器,我現在是乙個附件

att2['content-type']='application/octet-stream'

att2.add_header("content-disposition",'attachment',filename=('gbk',"",'小豬豬.gif'))

# 把內容新增到郵件中

msg.attach(att2)

#連線伺服器

s= smtplib.smtp_ssl('smtp.qq.com',465)

# 登陸我的郵箱

s.login(email_name,passwd)

# 傳送郵箱

s.sendmail(email_name,msg_to,msg.as_string())

print("傳送成功")

可以看到附件傳送成功,但是我們在工作中發郵件都是批量發,還涉及到抄送人,那麼我們應該怎麼做那?

#抄送人設定

acc_to = ['***]

# 這個引數設定要發給誰

msg['to'] = ';'.join(msg_to)

#設定抄送人

msg['cc'] = ';'.join(acc_to)

只需要我們對抄送人進行設定即可

是不是一下就實現批量了

帶郵件的傳送:

# 郵件正文

content ="""

程式設計客棧;

哈哈哈這是結尾

"""image_path =

# 這是發件人的郵箱名稱

email_name ='***'

# 這是是使用者授權碼,qq郵箱有。 其他郵箱一般直接寫你的密碼

passwd = '***'

# 收件人郵箱 多人傳送

msg_to = ['***]

# 抄送人

acc_to = [***]

from_name ='***'

subject ='自動化辦公開始啦'

att_file=['./data/學習目標.txt','評論詞雲圖.png','自動化辦公.ipynb','小豬豬.gif','***.jpg']

send_email(email_name = email_name

,passwd=passwd

,msg_to=msg_to

,acc_to=acc_to

,content=content

,image_html=true

,www.cppcns.comimage_path = image_path

,subject=subject

,from_name = from_name

,att_file=att_file

)傳送成功,是不是簡單又有趣,能大大的增大大家的工作效率,大家快試試把,最後還是想說,python np!

python自動化辦公 郵件收發

一 安裝郵件庫 pip install pyemail 二 郵件介面 這裡以qq郵箱來介紹 需要開啟qq郵箱的設定 賬戶裡smtp服務,接下來會通過傳送簡訊驗證來獲得授權碼,有了授權碼後就可以在 裡新增了 步驟如下 傳送簡訊後會生成授權碼 導入庫import smtplib from email.m...

python自動化辦公(一)

os模組簡介os是pyhon標準庫,可以實現和作業系統有關的操作,例如建立,移動,複製檔案和資料夾,檔案路徑和名稱處理等等 注意 有些指令是windows,mac,linux通用,有些只在mac,linux下可用獲取當前python程式執行路徑方法 import os print os.gecwd ...

python辦公自動化1 7 1 8 1 9

from tempfile import temporaryfile f temporaryfile w 表示寫入及讀取檔案 f.write hello 尹老師!f.seek 0 表示回到檔案的開頭位置 data f.readlines print data f.close 臨時資料夾 from t...