una transporte reglas regla que online office microsoft flujo exchange php email powershell outlook powershell-v2.0

php - transporte - Cómo restringir el botón de votación a la dirección ''To'' y no enviarlo a ''Cc'' en outlook a través de powershell?



reglas de transporte exchange online (1)

Dado que los botones de votación (= la información sobre qué votar) son parte del correo, como el texto y el tema, no es posible hacerlos visibles para algunos de los destinatarios. Outlook (o mejor, el servidor, muy probablemente Exchange) enviará el mismo correo electrónico a todos los destinatarios, independientemente de si están dirigidos a To , Cc o Bcc .

Eso es por diseño, como se indica en RFC2822 (Formato de mensaje de Internet) :

Los campos de destino especifican los destinatarios del mensaje. Cada campo de destino puede tener una o más direcciones, y cada una de las direcciones indica los destinatarios del mensaje. La única diferencia entre los tres campos es cómo se usa cada uno.

Simplemente puede enviar dos correos con el mismo contenido, a excepción de los botones:

param( [string]$username, [string]$username1, ) $Outlook = New-Object -ComObject Outlook.Application $Mail1 = $Outlook.CreateItem(0) $Mail2 = $Outlook.CreateItem(0) $Mail1.To = "$username1" $Mail2.To = "$username" $Mail1.Subject = "SUBJECT" $Mail1.Body = "--content--" $Mail2.Subject = "SUBJECT" $Mail2.Body = "--content--" $mail1.VotingOptions = "Approve;Reject" $Mail1.Send() $Mail2.Send()

Para aclarar las cosas para los destinatarios, puede agregar un texto a los correos, indicando que este correo también se envía a $username .

Powershell Script [script1.ps1] -:

param( [string]$username, [string]$username1, ) $Outlook = New-Object -ComObject Outlook.Application $Mail = $Outlook.CreateItem(0) $Mail.To = "$username1" $Mail.Cc = "$username" $Mail.Subject = "SUBJECT" $Mail.Body = "--content--" $mail.VotingOptions = "Approve;Reject" $Mail.Send()

Código Php -:

<?php $connection = oci_connect("username","password","db_name"); $lname = $_SESSION[''lead_name'']; $main_query=oci_parse($connection,"SELECT * FROM TABLE WHERE FIELD= ''$lname''"); oci_execute($main_query,OCI_DEFAULT); while($res = oci_fetch_array($main_query)) { $mail= $res[''USERNAME'']; } $_SESSION[''mail_id'']=$mail; $cc = $_SESSION[''mail'']; $username = $cc; $username1 = $_SESSION[''mail_id'']; $psScriptPath = "C://xampp//htdocs//Website_LMS//Powershell//script1.ps1"; $query = shell_exec("powershell -command $psScriptPath -username ''$username''< NUL -username1 ''$username1''< NUL"); oci_close($connection); ?>

Powershell Script se usa para enviar correos electrónicos a Outlook. Todos estos parámetros username, username1 se envían desde el script php a través del comando shell exec. Estas dos son direcciones de correo electrónico.

Ahora quiero usar el botón de votación para aprobar o rechazar una licencia que se activa en las direcciones de correo electrónico mencionadas. Quiero que el botón de votación se envíe a nombredeusuario1 solo es decir, direcciones "a" y no a direcciones "cc". Quiero implementar esto a través de powershell.