1

我正在尝试回复 Outlook 电子邮件,就像我们手动回复以前的对话一样。但是下面的代码给出了一些错误:无法发送到收件人地址..我需要知道如何将其发送回给我发送电子邮件的人..

import win32com.client, datetime
from datetime import timedelta    

outlook =win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI") # to trigger outlook application
inbox = outlook.GetDefaultFolder(6) # 6 is used for the index of the folder
messages = inbox.Items  
message = messages.GetLast()# message is treated as each mail in for loop 
for message in messages:                                          
    if message.Subject=="request": # based on the subject replying to email
        #body_content = message.body  
        message.Reply()  
        message.Body = "shortly will be processed!!!"  
        message.Send()  
4

3 回答 3

0

因为 MailItem.Body 是一个字符串并且它是不可调用的。参考文档 我认为@Akhil 的答案中的正确代码是

    rplyall.Body = "your message here" + rplyall.Body
    rplyall.Send()
于 2021-07-30T13:26:05.660 回答
0

继续上面的答案

回复所有:

`rplyall=message.ReplyAll()`

反映以前的对话:

`rplyall.Body="your message here"+rplyall.Body()`

`rplyall.Send()`
于 2019-09-17T13:58:22.357 回答
0

回复是由回复() 返回的 MailItem。所以试试这个:

reply = message.Reply() 
reply.Body = "shortly will be processed!!!" 
reply.Send() 
于 2016-11-17T00:05:55.337 回答