Eks6666 发表于 2023-12-19 23:32

批量发送不同内容的邮件给不同的收件人

from openpyxl import load_workbook
import win32com.client as win32

wb = load_workbook("邮件地址.xlsx")
ws = wb.active
address = {}
for i in range(2,ws.max_row+1):
    dept = ws["A"+ str(i)].value
    to_add = ws["B"+ str(i)].value
    cc_add = ws["C"+ str(i)].value
    address =


def Send_mail(to_add, cc_add,file_path,dept):
    '''
    传入参数说明:
    to_add,收件人地址
    cc_add,抄送地址
    file_path,附件路径
    dept,部门名称
    '''
    outlook = win32.Dispatch('Outlook.Application') # 调用windows outlook应用
    mail = outlook.CreateItem(0) # 创建邮件
    mail.to = to_add #收件人
    mail.cc = cc_add #抄送人
    mail.Subject = "{}年假情况".format(dept) #主题
    mail.Attachments.Add(file_path) #添加附件。若有多个附件,则多调用几次即可
    mail.Body = '''Dear All,\n这是{}的年假情况,请查收!谢谢。\n\nBest regards!\n人事部 小李'''.format(dept)#正文内容
    mail.Send() #发送邮件

#发送邮件到各部门
for dept in address.keys():   
    to_add = address
    cc_add = address
    file_path = os.getcwd() + '\\年假_按部门\\年假情况_{}.xlsx'.format(dept)   
    Send_mail(to_add, cc_add,file_path,dept)
   
print("邮件发送完成。")

sai609 发表于 2023-12-20 13:18

群发邮件,对方能看到群发邮箱地址的发送顺序?
敢问一下:
你们对外群发邮件,是按部门发,
还是按领导层级,从上至下而发?

妈咪她亲我 发表于 2023-12-20 00:06

专业发垃圾箱{:1_918:}

cxn1ce 发表于 2023-12-20 01:10

哈哈学习了

yann66 发表于 2023-12-20 01:39

学习了

学习代码


handsome1234 发表于 2023-12-20 07:04

经测试,可用

hao6988456 发表于 2023-12-20 07:32

学习了,感谢大佬分享

blindcat 发表于 2023-12-20 07:52

调用outlook发件

FruitBaby 发表于 2023-12-20 08:07

认真学习下

CRG_44 发表于 2023-12-20 08:15

不错不错,值得学习一波

allennany 发表于 2023-12-20 08:18

不错,不错
谢谢
页: [1] 2 3
查看完整版本: 批量发送不同内容的邮件给不同的收件人