Ответить по электронной почте powershell - PullRequest
0 голосов
/ 15 ноября 2018

Привет еще раз сообществу 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()
   }
}

Не отправляйте электронное письмо.

Это решено в ответе

1 Ответ

0 голосов
/ 15 ноября 2018

Метод reply создает MailItem, предварительно заполненный необходимыми свойствами на основе исходной почты.

Если вы сохраняете MailItem, созданный методом reply, в переменную, вы можете использовать метод 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"
...