我试图通过outlook向3个不同的人(使用python 3(发送3封电子邮件,其中包含pdf文件。在键12中,我有2个值,所以当我运行它时;secNum";变量为12,代码仅将电子邮件发送到test2@gmail.com而不是test1@gmail.com.
如何使用Python 3将电子邮件发送给密钥12中的两个人?
# -*- coding: cp1255 -*-
# encoding = utf8
import os,re,subprocess,time,win32com.client as win32
secNum = input()
dict1 = {'12': ['joe','zeelo' ]
'14': 'steeve'}
dict2 = {'12':'test1@gmail.com','test2@gmail.com',
'14':'test1@gmail.com'}
newDate = '27_06'
rootdir = r'F:desktopProject'
def data(listName):
return listName[secNum]
for rootdir, dirs, files in os.walk(rootdir):
for subdir in dirs:
folderPath = os.path.join(rootdir, subdir)
match = re.search('report'+ ' ' + secNum ,folderPath)
if match:
match2 = re.search('2022.June.'+ newDate ,folderPath)
if match2:
for fname in os.listdir(folderPath):
if fname.endswith('.pdf'): # -------
filePath = os.path.join(folderPath,fname)
print (filePath)
if secNum:
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = ' report:' +' ' + secNum
mail.To = data(dict2)
attachment = mail.Attachments.Add(filePath)
mail.HTMLBody = 'hi ' + data(dict1) + '<br> this is report date: <br/>' + newDate
mail.Send()
使用MailItem.Repients属性,该属性返回代表Outlook项目的所有收件人的Recipients
集合。Add
方法在Recipients
集合中创建一个新的收件人。收件人的名称可以是表示收件人的显示名称、别名或完整SMTP电子邮件地址的字符串。
To
字段也可以用于指定收件人——您只需要创建一个由分号分隔的电子邮件地址字符串。