亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用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'] = '拆分?jǐn)?shù)據(jù)通知'

    body = f"尊敬的{employee_name},您的拆分?jǐn)?shù)據(jù)已經(jīng)準(zhǔn)備好,請查收附件。"
    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'] = '拆分?jǐn)?shù)據(jù)通知'

    body = f"尊敬的{employee_name},您的拆分?jǐn)?shù)據(jù)已經(jīng)準(zhǔn)備好,請查收附件。"
    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)文章

最新評論