Ich versuche, auf E-Mails mit einem Schlüsselwort im Betreff zu antworten, aber ich muss alles durch Outlook tun. Mein aktueller Code funktioniert anständig, aber es wäre besser, wenn er direkt antworten könnte, anstatt eine neue Nachricht zu erstellen.Antworten auf E-Mail über Outlook in Python
Hoffentlich ist dies der richtige Ort, fragen diese :)
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
o = win32com.client.Dispatch("Outlook.Application")
inbox = outlook.GetDefaultFolder(6)
def check_mail():
global message
messages = inbox.Items
message = messages.GetLast()
if (message.subject.find('@Bot') != -1 and message.unread and whtlist.find(message.SenderName)!= -1):
return 1
else:
return 0
def Read_mail():
global message
global ACTIVE
body_content = message.body
print(bcolors.WARNING+'\n______________________________________________________________________\n'+bcolors.OKGREEN)
print (body_content)
print(bcolors.WARNING+'\n______________________________________________________________________\n'+bcolors.OKGREEN)
for att in message.Attachments:
break
try:
att.SaveAsFile(os.getcwd() + '\\new.xlsx')
print(os.getcwd())
except :
print(bcolors.WARNING+'No Attachment Found'+bcolors.OKGREEN)
message.unread=False
Msg = o.CreateItem(0)
Msg.To = message.SenderEmailAddress
print(bcolors.FAIL+'Reply sent to: {}'.format(message.SenderEmailAddress+bcolors.OKGREEN))
Msg.Subject = 'Autoreply'
Msg.Body = 'I see you {}.\n\nTesting\n-Bot'.format(message.SenderName)
Msg.Send()
Ich habe es einfacher gefunden, die message.htmlbody, anstatt message.body, vor allem für die Formatierung verwenden. – flyingmeatball
Ich hoffe, es hilft http://stackoverflow.com/questions/31433633/reply-to-email-using-python-3-4 –