中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python如何實現自動化郵件發送

發布時間:2022-01-10 01:02:55 來源:億速云 閱讀:209 作者:柒染 欄目:開發技術

今天就跟大家聊聊有關Python如何實現自動化郵件發送,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

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

Python如何實現自動化郵件發送

單擊設置-賬號,滑倒下方協議處,開啟IMAP/SMTP協議(IMAP,即Internet Message Access Protocol(互聯網郵件訪問協議),可以通過這種協議從郵件服務器上獲取郵件的信息、下載郵件等。IMAP與POP類似,都是一種郵件獲取協議。)

Python如何實現自動化郵件發送

(ps.開啟需要驗證)

記住端口號,后續寫代碼發送郵件時候需要

Python如何實現自動化郵件發送

Python如何實現自動化郵件發送

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

賬號:3203068752@qq.com

授權碼:iwmha*****ndcei (大家換成自己的,我怕大家把我郵箱發炸了)

端口號:465

123

我們首先來發送一個簡單的郵件

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

參數說明:

from_addr: 郵件發送者地址。

to_addrs: 字符串列表,郵件發送地址。

msg: 發送消息

這里要注意一下第三個參數,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("發送成功")

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

Python如何實現自動化郵件發送

Python如何實現自動化郵件發送

怎么發送帶附件的郵件

發送帶附件的郵件,首先要創建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','utf-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("發送成功")

Python如何實現自動化郵件發送

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

 #抄送人設置
acc_to = ['***]
# 這個參數設置要發給誰
msg['To'] = ';'.join(msg_to)
#設置抄送人
msg['Cc'] = ';'.join(acc_to)

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

Python如何實現自動化郵件發送

是不是一下就實現批量了

帶圖片郵件的發送

# 郵件正文
content ="""
<html>
    <body>
        <h2>今日匯報</h2>
        <img src='cid:imageid' alt='imageid'>
        <p>哈哈哈</p>
        <img src='cid:imageid2' alt='imageid2'>
        這是結尾
    </body>
</html>
"""
 
image_path = {
    "imageid":"小豬豬.png",
    "imageid2":"***.png"
}
 
# 這是發件人的郵箱名稱
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
           ,image_path = image_path
           ,subject=subject
           ,from_name = from_name
           ,att_file=att_file
)

Python如何實現自動化郵件發送

看完上述內容,你們對Python如何實現自動化郵件發送有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

子洲县| 全南县| 老河口市| 丹寨县| 尉氏县| 台前县| 尚义县| 平乐县| 成安县| 稻城县| 离岛区| 驻马店市| 噶尔县| 五台县| 焦作市| 吉首市| 武定县| 渭南市| 长武县| 神木县| 壤塘县| 佛坪县| 米易县| 十堰市| 汤阴县| 东港市| 军事| 若尔盖县| 讷河市| 泾源县| 那坡县| 尚志市| 加查县| 厦门市| 海原县| 电白县| 板桥市| 资兴市| 察哈| 翁牛特旗| 修武县|