
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.mail
um 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)