Застрял в маленькой проблеме 2 дня. Я пытаюсь отправить несколько писем, используя свой Outlook, нескольким людям. Вот что я пытаюсь сделать:
- Разбить файл excel на несколько файлов с названиями компаний
- Прикрепите Excel к электронному письму и отправьте. Электронное письмо выбирается из основного списка идентификаторов электронной почты, хранящегося в Excel.
Проблема: Я получаю следующий код ошибки во время работы программы. Я могу разбить большой Excel на несколько более мелких, но отправляется только первый Excel, а затем я получаю это сообщение об ошибке.
(- 2147352567, «Произошло исключение.», (4096, «Microsoft Outlook») ',' Элемент был перемещен или удален. ', Нет, 0, -2147221238), Нет)
#code
import win32com.client as win32
outlook = win32.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
file_path = r'C:\Users\ABC\Documents\Email\Email.xlsx'
df1 = pd.read_excel(file_path, sheet_name = 'Master excel')
df2 = pd.read_excel(file_path, sheet_name = 'Email list')
df11 = df1['Co name'].unique()
list_carrier = list(df11)
path = r'C:\Users\ABC\Documents\Python\Email\np\\'
for i in list_carrier:
dfa = df1[df1['Co Name']==i]
wb = Workbook()
path_1=path+i+".xlsx"
writer = pd.ExcelWriter(path_1, engine='openpyxl', mode='W')
writer.wb = wb
dfa.to_excel(writer, sheet_name="sheet1")
writer.save()
for i in list_carrier:
email = df2.loc[df2['Co Name'] == i, 'Email'].item()
mail.cc = 'abc@gmail.com; xyz@gmail.com'
mail.To = email
mail.Subject = f" {i} - File for testing"
mail.Body = """\
Hi,
sending test mail.
Regards, """
path_1=path+i+".xlsx"
mail.Attachments.Add(path_1)
mail.Send()