Enviar correos electrónicos con powershell solo con BCC

Enviar correos electrónicos con powershell solo con BCC

Necesito encontrar una manera de enviar correos electrónicos a 30 personas, no los quiero CC, quiero que cada uno de ellos reciba el correo tal como parece, este correo es solo para él. Sé que puedo usar Outlook y dejar el "para" vacío y solo poner esas direcciones de correo en BCC. Esta es una buena solución, pero la necesito automatizada. No puedo encontrar una manera de usar el cmd powershell send-mailmessage para hacer lo mismo. Lo más cerca que puedo es enviármelo a mí mismo y luego hacer CCO a todos, o ejecutar un bucle enviando 1 correo tras otro con el argumento -to. ambos no son buenos para mí. ¿Hay alguna forma de que pueda hacerlo?

Respuesta1

De acuerdo con David.

Según mi investigación, el parámetro -To es un parámetro obligatorio, lo que puede ayudar a evitar que se convierta en un motor de spam. Entonces, para sus requisitos de Powershell, puede intentar ingresar su propia dirección de correo electrónico o algo como "[correo electrónico protegido]" en el campo Para.

Respuesta2

Las acciones solicitadas no están disponibles usando el cmdlet Send-MailMessage, sin embargo puedes usar la clase .net net.mailpara lograr lo que deseas. Consulte lo siguiente que podría incorporar a su guión.

$SMTPserver = "<SMTP Endpoint>"
$fromAddress = "[email protected]"
$subject = "<Subject>"
$emailbody = "<body of email>"
$bccAddresses = @("[email protected]","[email protected]","[email protected]")

$mailer = new-object Net.Mail.SMTPclient($SMTPserver)
$msg = new-object Net.Mail.MailMessage

Foreach ($emailAddress in $bccAddresses){
    $msg.bcc.add($emailAddress)
}

$msg.Subject = $Subject
$msg.Body = $emailbody
$msg.From = $fromAddress


$mailer.send($msg)

información relacionada