1.先開通郵件的pop3/smtp/imap,拿到授權密碼,注意,不是郵箱密碼
2.相關**,裡面涉及到的資料庫和郵件,都是相對路徑下的,可根據**自行建立和維護
#!pip install pyemail
import smtplib # smtp 簡單郵件傳輸協議
from email.mime.text import mimetext
from email.header import header
import pandas as pd
from email.mime.multipart import mimemultipart
mail_host = 'smtp.163.com' # smtp伺服器ip,如果是163,可能是smtp.163.com
mail_user = '***[email protected]' # 使用者名稱
mail_pass = '******' # 密碼 授權密碼,非郵箱密碼
sender = '***[email protected]' # 發件人郵箱與mail_user要一致
# 定義傳送郵件函式,引數為郵箱聯絡人分組
def sendmail(group):
data = group.reset_index(drop=true)
receiver = data.loc[0,'郵箱'] #收件人從dataframe取
excels = data['公司'].to_list()
#建立乙個帶附件的郵件例項
msg = mimemultipart()
msg['from'] = sender
msg['to'] = receiver
msg['subject'] = header('成本會計一課', 'utf-8')
#郵件正文內容
msg.attach(mimetext('hello everybody……', 'plain', 'utf-8'))
# 構造附件
for file in excels:
msg_xlsx = mimetext(open(r'郵件集合/'+file+'.xlsx', 'rb').read(), 'base64', 'utf-8')
msg_xlsx.add_header('content-disposition', 'attachment', filename=file+'.xlsx')
msg.attach(msg_xlsx)
#傳送郵件
try:
smtpobj = smtplib.smtp_ssl(mail_host, 465) #465 是smtp 埠號
smtpobj.login(mail_user, mail_pass)
smtpobj.sendmail(sender, receiver, msg.as_string())
print('郵件傳送成功:'+receiver)
except smtplib.smtpexception:
print('error: 無法傳送郵件receiver:'+receiver)
# 使用函式
df1 = pd.read_excel('公司與郵箱資料.xlsx', sheet_name=0,converters = )
python 自動群發郵件
生活中我們經常傳送郵件,那麼我們能不能用python寫乙個自動傳送郵件的功能呢?答案是肯定的!開始實現功能之前我們需要開啟我們郵箱的 imap smtp功能,我們先了解一下什麼是imap smtp。smtp的全稱是 mail transfer protocol 即簡單郵件傳輸協議。它是一組用於從源位...
Python群發郵件 練習
我的python 學習筆記,練習題 在輸入乙個收件郵箱結束後,彈出輸入框詢問使用者是否需要繼續輸入郵箱,如果需要輸入收件郵箱,按其他按鍵繼續 如果不再需要輸入收件郵箱,那直接按n退出,開始傳送郵件。from email import encoders encoders 編碼器 from email....
用Python實現群發郵件
用python實現 郵件 要實現用python 郵件功能,需要用到 email 和 smtplib 這兩個模組.前者用來構建郵件內容 後者用來傳送郵件 匯入模組 import smtplib from email.mime.text import mimetext 定義變數 發件人資訊 發件郵箱,q...