![](/img/trans.png)
[英]How to send email using python in outlook with recipient as microsoft mail?
[英]how to send outlook mail to multiple users with different content using python automation
我在這里輸入圖像描述需要自動將 Outlook 郵件發送給每個用戶具有不同內容的多個收件人,我附上了我編寫的數據集和代碼。為了更好地理解我附上了數據集,因為我必須發送僅將他們的信息作為電子郵件正文郵寄給相應的人。 在我的代碼中,for 循環不起作用,只執行一次並為第一個收件人發送郵件。 請找到隨附的代碼和數據,並建議如何操作。
'''
import win32com.client as win32
#import os,datetime,schedule,time,pathlib
import numpy as np
import pandas as pd
import smtplib
import csv
from string import Template
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
dtest = pd.read_csv('details.csv')
dt1 = dtest
de = pd.read_csv('email_name.csv')
de_l = dt1['Email_id']
list_c = list(de_l)
#print(list_c)
for i in list_c:
dt2 = dtest[dtest['Email_id']==i]
outlook=win32.Dispatch('outlook.application')
body='''\
<html>
<head></head>
<body>
<p>Hello All,<br>
<p> Please submit your timesheet by eod.<br>
<body> '''+ dt2.to_html()+''' </br></body>
<font color ='blue'>
<br>Thanks</>
</font>
<br></br>
<font color ='red'>
please note this is an automated mail do not reply<t1>
</font>
</p>
</body>
</style>
</html>
'''
mail=outlook.CreateItem(0)
mail.Subject = ' -testing email notification'
mail.To = i
mail.HTMLBody = body
From= 'vnistala@xyz.com'
mail.send()
'''
這應該讓您了解如何解決問題。
# Outlook-Mailing
# https://stackoverflow.com/questions/69987277/how-to-send-outlook-mail-to-multiple-users-with-different-content-using-python-a
import pandas as pd
import win32com.client
import time
path = r'd:\Python\mailing.csv'
df = pd.read_csv(path, sep=';', encoding='cp1252')
print(df)
for i in df.index:
outlook = win32com.client.Dispatch('outlook.application')
mail = outlook.CreateItem(0)
mail.Subject = 'Python Mail'
#mail.HTMLBody = '<h3>This is HTML Body</h3>'
print(df['Name'][i], df['Email_id'][i])
mail.To = df['Email_id'][i]
mail.HTMLBody = '''\
<html>
<head></head>
<body>
<p>Hello ''' + df['Name'][i] + ''',<br>
<p> Please submit your timesheet by eod.<br>
<body> ''' + str(df['Math'][i]) + ''' </br></body>
<font color ='blue'>
<br>Thanks</>
</font>
<br></br>
<font color ='red'>
please note this is an automated mail do not reply<t1>
</font>
</p>
</body>
</style>
</html>
'''
#mail.Body = "This is the normal body"
#mail.Attachments.Add('c:\\sample.xlsx')
#mail.CC = 'somebody@company.com'
mail.Send()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.