Python - baixar anexo do email

02/03/2021

0

Bom dia, fiz o curso de python e estou avançando um pouco estou tentando criar um script para baixar um anexo de um email que recebo uma vez ao dia.Porem nao estou conseguindo acessar as mensagens o retorno que recebo e uma lista vazia nao encontrei conteudo desse tipo na plataforma, terminei o curso de python ate POO; se puderem me ajudar agradeço
Jonas Vieira

Jonas Vieira

Responder

Posts

02/03/2021

Jonas Vieira

Bom dia, fiz o curso de python e estou avançando um pouco estou tentando criar um script para baixar um anexo de um email que recebo uma vez ao dia.Porem nao estou conseguindo acessar as mensagens o retorno que recebo e uma lista vazia nao encontrei conteudo desse tipo na plataforma, terminei o curso de python ate POO; se puderem me ajudar agradeço

segue o cod que eu ja tentei
import win32com.client
import os
from datetime import datetime, timedelta
outlook = win32com.client.Dispatch(''outlook.application'')
mapi = outlook.GetNamespace("MAPI")
inbox = mapi.GetDefaultFolder(6)
messages = inbox.Items
received_dt = datetime.now() - timedelta(days=1)
received_dt = received_dt.strftime(''%m/%d/%Y %H:%M %p'')
messages = messages.Restrict("[ReceivedTime] >= ''" + received_dt + "''")
messages = messages.Restrict("[SenderEmailAddress] = ''contact@codeforests.com''")
messages = messages.Restrict("[Subject] = ''Sample Report''")
outputDir = r"C:\\\\attachment"
try:
for message in list(messages):
try:
s = message.sender
for attachment in message.Attachments:
attachment.SaveASFile(os.path.join(outputDir, attachment.FileName))
print(f"attachment from saved")
except Exception as e:
print("error when saving the attachment:" + str(e))
except Exception as e:
print("error when processing emails messages:" + str(e))


ele me retorna uma lista vazia na hora de mostrar as mensagens
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar