【发布时间】:2016-07-20 00:49:49
【问题描述】:
我正在尝试使用主题中的关键字回复电子邮件,但我需要通过 Outlook 完成所有操作。我当前的代码运行良好,但如果它可以直接回复而不是创建新消息会更好。
希望这是问这个问题的正确地方:)
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()
【问题讨论】:
-
我发现使用 message.htmlbody 比使用 message.body 更容易,尤其是在格式化方面。