python 群發郵件 親測可用

2021-10-09 14:03:20 字數 1774 閱讀 8905

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...