簡體   English   中英

如何使用python自動化向具有不同內容的多個用戶發送Outlook郵件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM