再次感谢StackOverflow的共同之处,我将询问方法“ .reply()”。这是我正在尝试的代码:
function Unread ($correo) {
if(($correo -eq $null) -or ($correo.Unread.ToString() -like "False")){
$Noleido = $false
}else{
$Noleido = $true
return $Noleido
}
}
$body = "Bla bla bla"
$firma = "I am here"
#$cuerpo = "A test ps"
$subject = "Re: automated reply"
$Outlook = New-Object -comObject Outlook.Application
$OutlookFolders = $Outlook.Session.Folders.Item($buzon1).Folders
#Map la bandeja de entrada.
$bandeja_de_entrada=$OutlookFolders.Item("INBOX_FOLDER")
#Creamos el objeto que hace referencia a la bandeja de entrada y los mensajes que contiene.
$all_mail=$bandeja_de_entrada.Items
foreach ($mail in $all_mail){
$flag1 = Unread($mail)
if($flag1 -eq $true){
#$mail.to = ""
$mail.body =" $cuerpo" +"$firma"
$mail.subject = $subject
$mail.reply()
}
}
不发送电子邮件。
解决了一个问题
答案 0 :(得分:0)
方法reply
根据原始邮件创建一个预填充了必要属性的MailItem。
如果将通过reply
方法创建的MailItem保存到变量,则可以使用方法send
实际发送答复。
将脚本修改为如下所示的内容可能会起作用。
$body = "Bla bla bla"
$firma = "I am here"
$subject = "A test ps"
$Outlook = New-Object -comObject Outlook.Application
$OutlookFolders = $Outlook.Session.Folders.Item($buzon1).Folders
#Map la bandeja de entrada.
$bandeja_de_entrada=$OutlookFolders.Item("INBOX_FOLDER")
#Creamos el objeto que hace referencia a la bandeja de entrada y los mensajes que contiene.
$all_mail=$bandeja_de_entrada.Items
foreach ($mail in $all_mail){
#$mail.to = ""
$reply = $mail.reply()
$reply.body = " $cuerpo $firma"
$reply.subject = $subject
$reply.send()
}
如果您想包含原始消息而不是覆盖原始消息,则可以将$reply.body
行更改为类似的内容;
$reply.body = $reply.body + " $cuerpo $firma"