欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python實現(xiàn)批量發(fā)送個性化郵件

 更新時間:2023年11月01日 07:41:56   作者:qwerrt9  
在現(xiàn)代工作環(huán)境中,我們經(jīng)常需要向多個收件人發(fā)送個性化的郵件,因此本文小編為大家整理了Python實現(xiàn)批量發(fā)送個性化郵件的示例代碼,希望對大家有所幫助

前言

在現(xiàn)代工作環(huán)境中,我們經(jīng)常需要向多個收件人發(fā)送個性化的郵件。通過使用Python編程語言,我們可以自動化這個過程,從Excel文件中讀取收件人和相關(guān)數(shù)據(jù),并發(fā)送定制的郵件。

首先,導(dǎo)入所需的庫

import pandas as pd
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
import os
from email.header import Header

然后,設(shè)置發(fā)件人郵箱和密碼

sender_email = 'your_email@example.com'
sender_password = 'your_password'

接下來,設(shè)置SMTP服務(wù)器和端口號(根據(jù)你使用的郵件服務(wù)提供商)

smtp_server = 'smtp.example.com'
smtp_port = 587

創(chuàng)建SMTP連接并登錄到郵箱

server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()  # 開啟TLS加密
server.login(sender_email, sender_password)

讀取原始Excel文件

df = pd.read_excel('path_to_excel_file.xlsx')

獲取唯一的員工姓名列表

employee_names = df['員工姓名'].unique()

獲取員工姓名和對應(yīng)的郵箱地址,假設(shè)這些信息存儲在一個字典中

employee_emails = {
    '張三': 'zhangsan@example.com',
    '李四': 'lisi@example.com',
    '王五': 'wangwu@example.com',
    # 添加更多員工和郵箱信息
}

遍歷員工數(shù)據(jù)并發(fā)送郵件

for employee_name in employee_names:
    employee_data = df[df['員工姓名'] == employee_name]  # 創(chuàng)建員工的數(shù)據(jù)

    # 生成員工的 Excel 文件
    employee_data_filename = f'{employee_name}.xlsx'
    employee_data.to_excel(employee_data_filename, index=False)

    # 創(chuàng)建郵件
    msg = MIMEMultipart()
    msg['From'] = sender_email
    msg['To'] = employee_emails.get(employee_name, '')  # 根據(jù)員工姓名獲取郵箱
    msg['Subject'] = '拆分數(shù)據(jù)通知'

    body = f"尊敬的{employee_name},您的拆分數(shù)據(jù)已經(jīng)準備好,請查收附件。"
    msg.attach(MIMEText(body, 'plain'))

    # 添加附件
    with open(employee_data_filename, 'rb') as file:
        part = MIMEApplication(file.read(), Name=os.path.basename(employee_data_filename))
    part.add_header('Content-Disposition', 'attachment', filename=Header(os.path.basename(employee_data_filename), 'utf-8').encode())
    msg.attach(part)

    # 發(fā)送郵件
    server.sendmail(sender_email, employee_emails.get(employee_name, ''), msg.as_string())

    # 刪除生成的員工數(shù)據(jù)文件
    os.remove(employee_data_filename)

# 退出SMTP連接
server.quit()

最后,關(guān)閉與SMTP服務(wù)器的連接。

總結(jié)

通過上述Python腳本,我們可以批量發(fā)送個性化的郵件。我們首先設(shè)置發(fā)件人郵箱和密碼,然后指定SMTP服務(wù)器和端口號。接下來,我們讀取包含員工信息的Excel文件,并獲取唯一的員工姓名列表和對應(yīng)的郵箱地址。然后,我們遍歷員工數(shù)據(jù),并為每個員工創(chuàng)建郵件,附帶相應(yīng)的附件。最后,我們通過SMTP服務(wù)器發(fā)送郵件,并在發(fā)送完成后刪除生成的員工數(shù)據(jù)文件。

完整代碼

import pandas as pd
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
import os
from email.header import Header

# 設(shè)置發(fā)件人郵箱和密碼
sender_email = 'liuchunlin202205@163.com'
sender_password = '授權(quán)碼'

# 設(shè)置SMTP服務(wù)器和端口(QQ郵箱的SMTP服務(wù)器和端口)
smtp_server = 'smtp.163.com'
smtp_port = 25

# 創(chuàng)建SMTP連接
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()  # 開啟TLS加密

# 登錄郵箱
server.login(sender_email, sender_password)

# 讀取原始 Excel 文件
df = pd.read_excel('C:\\Users\\liuchunlin2\\Desktop\\測試數(shù)據(jù)\\員工.xlsx')

# 獲取唯一的員工姓名列表
employee_names = df['員工姓名'].unique()

# 獲取員工姓名和對應(yīng)的郵箱地址,假設(shè)這些信息存儲在一個字典中
employee_emails = {
    '劉備': '2823028760@qq.com',
    '孫權(quán)': '2823028760@qq.com',
    '曹操': '2823028760@qq.com',
    # 添加更多員工和郵箱信息
}

# 遍歷員工數(shù)據(jù)并發(fā)送郵件
for employee_name in employee_names:
    # 創(chuàng)建員工的數(shù)據(jù)
    employee_data = df[df['員工姓名'] == employee_name]

    # 生成員工的 Excel 文件
    employee_data_filename = f'{employee_name}.xlsx'
    employee_data.to_excel(employee_data_filename, index=False)
    employee_data_filename = f'{employee_name}.xlsx'

    # 創(chuàng)建郵件
    msg = MIMEMultipart()
    msg['From'] = sender_email
    msg['To'] = employee_emails.get(employee_name, '')  # 根據(jù)員工姓名獲取郵箱
    msg['Subject'] = '拆分數(shù)據(jù)通知'

    body = f"尊敬的{employee_name},您的拆分數(shù)據(jù)已經(jīng)準備好,請查收附件。"
    msg.attach(MIMEText(body, 'plain'))

    # 添加附件
    with open(employee_data_filename, 'rb') as file:
        part = MIMEApplication(file.read(), Name=os.path.basename(employee_data_filename))
    part.add_header('Content-Disposition', 'attachment', filename=Header(os.path.basename(employee_data_filename), 'utf-8').encode())
    msg.attach(part)

    # 發(fā)送郵件
    server.sendmail(sender_email, employee_emails.get(employee_name, ''), msg.as_string())

    # 刪除生成的員工數(shù)據(jù)文件
    os.remove(employee_data_filename)

# 退出SMTP連接
server.quit()

到此這篇關(guān)于使用Python實現(xiàn)批量發(fā)送個性化郵件的文章就介紹到這了,更多相關(guān)Python發(fā)送郵件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python+moviepy實現(xiàn)音頻/視頻提取器

    Python+moviepy實現(xiàn)音頻/視頻提取器

    這篇文章主要為大家詳細介紹了如何使用Python和wxPython構(gòu)建的音頻/視頻提取器應(yīng)用程序,允許用戶從視頻文件中提取音頻,或者從音頻文件中截取特定時間段,需要的可以參考下
    2024-10-10
  • 使用pyinstaller打包PyQt4程序遇到的問題及解決方法

    使用pyinstaller打包PyQt4程序遇到的問題及解決方法

    今天小編就為大家分享一篇使用pyinstaller打包PyQt4程序遇到的問題及解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python并發(fā)concurrent.futures和asyncio實例

    Python并發(fā)concurrent.futures和asyncio實例

    這篇文章主要介紹了Python并發(fā)concurrent.futures和asyncio實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • Python實現(xiàn)在matplotlib中兩個坐標軸之間畫一條直線光標的方法

    Python實現(xiàn)在matplotlib中兩個坐標軸之間畫一條直線光標的方法

    這篇文章主要介紹了Python實現(xiàn)在matplotlib中兩個坐標軸之間畫一條直線光標的方法,涉及Python操作matplotlib模塊繪圖的相關(guān)技巧,需要的朋友可以參考下
    2015-05-05
  • Anaconda配置pytorch-gpu虛擬環(huán)境的圖文教程

    Anaconda配置pytorch-gpu虛擬環(huán)境的圖文教程

    這篇文章主要介紹了Anaconda配置pytorch-gpu虛擬環(huán)境步驟整理,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • Python函數(shù)屬性和PyC詳解

    Python函數(shù)屬性和PyC詳解

    這篇文章主要介紹了Python函數(shù)屬性和PyC,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2021-10-10
  • 在Python中給Nan值更改為0的方法

    在Python中給Nan值更改為0的方法

    今天小編就為大家分享一篇在Python中給Nan值更改為0的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • 三步實現(xiàn)Django Paginator分頁的方法

    三步實現(xiàn)Django Paginator分頁的方法

    這篇文章主要介紹了三步實現(xiàn)Django Paginator分頁的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • 詳解四種Python中基本形態(tài)學(xué)濾波的實現(xiàn)

    詳解四種Python中基本形態(tài)學(xué)濾波的實現(xiàn)

    最基礎(chǔ)的形態(tài)學(xué)操作有四個,分別是腐蝕、膨脹、開計算和閉計算。這篇文章主要介紹了這四種形態(tài)學(xué)濾波的實現(xiàn),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-04-04
  • Python腳本實現(xiàn)自動發(fā)帶圖的微博

    Python腳本實現(xiàn)自動發(fā)帶圖的微博

    這篇文章主要介紹了Python腳本實現(xiàn)自動發(fā)帶圖的微博的相關(guān)資料,需要的朋友可以參考下
    2016-04-04

最新評論