0
respostas

Erro ao rodar código pra enviar e-mails com anexos >> Não encontra o caminho

Estou tentando escrever um código usando as bibliotecas win32com e pandas para enviar e-mail personalizados com anexos únicos e ao tentar rodar o código aparece o seguinte erro "FileNotFoundError: [Errno 2] No such file or directory:"

O caminho do arquivo está correto, o que estou tentando fazer é que ele busque o nome do arquivo na planilha de excel (para cada respectivo e-mail tem um arquivo diferente) e add ao caminho, mas ele está adicionando só a primeira letra da linha da planilha.

import win32com.client
import pandas as pd
import glob

for file in glob.glob(r"C:\Users\User\Documents\EDF\Ponto\*.pdf"):
    print(file)


file = pd.ExcelFile(
    r'C:\Users\User\Documents\Python projetos\excel_file_emails_teste_anexos.xlsx')


df = file.parse('Planilha1')

for index, row in df.iterrows():  # Loops through each row in the dataframe

    email = (row['Email Address'])

    subject = (row['Subject'])

    body = str((row['Email HTML Body']))
    attachment = (row['AttachmentPath'])
    PATH = "C:\\Users\\User\\Documents\\EDF\\Ponto\\"       


    if (pd.isnull(email) or pd.isnull(subject) or pd.isnull(body)):
        continue

    for i in range(len(email)):
       print(file)
       email = email[i]
       attachment = attachment[i]
       attachment1 = PATH + attachment 
       with open(attachment1, 'r') as my_attachment:
          myfile = my_attachment.read()

    olMailItem = 0x0  # Initiates the mail item object

    obj = win32com.client.Dispatch("Outlook.Application")
    newMail = obj.CreateItem(olMailItem) 
    newMail.Subject = subject 
    newMail.HTMLbody = (r"" +
                        body +
                        "") 

    attachment= (r'C:\Users\User\Documents\EDF\Ponto')
    newMail.Attachments.Add(attachment)

    newMail.To = email 
    newMail.display() 

FileNotFoundError: [Errno 2] No such file or directory: 'C:\Users\User\Documents\EDF\Ponto\a'