Senden Sie E-Mails mit Powershell nur mit BCC

Senden Sie E-Mails mit Powershell nur mit BCC

Ich muss einen Weg finden, E-Mails an 30 Personen zu senden. Ich möchte sie nicht in CC setzen, sondern sie alle sollen die Mail erhalten, da es so aussieht, als sei diese Mail nur für ihn bestimmt. Ich weiß, dass ich Outlook verwenden und das „An“-Feld leer lassen und nur diese Mailadressen in BCC setzen kann. Das ist eine gute Lösung, aber ich brauche eine Automatisierung. Ich kann keine Möglichkeit finden, dasselbe mit dem Powershell-Befehl „send-mailmessage“ zu tun. Am nächsten komme ich dem, indem ich es an mich selbst sende und dann alle in BCC setze oder eine Schleife laufen lasse, die eine Mail nach der anderen mit dem Argument „-to“ sendet. Beides ist für mich nicht gut. Gibt es eine Möglichkeit, das zu tun?

Antwort1

Stimme David zu.

Nach meinen Recherchen ist der Parameter -To ein erforderlicher Parameter, der verhindern kann, dass es zu einer Spam-Engine wird. Für Ihre Anforderungen an Powershell könnten Sie also versuchen, Ihre eigene E-Mail-Adresse oder etwas wie " einzugeben.[email geschützt]" im Feld „An“.

Antwort2

Die angeforderten Aktionen sind mit dem Cmdlet Send-MailMessage nicht verfügbar. Sie können jedoch die .net-Klasse verwenden, net.mailum das gewünschte Ergebnis zu erzielen. Nachfolgend finden Sie Informationen dazu, was Sie in Ihr Skript integrieren können.

$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)

verwandte Informationen