
30 人にメールを送信する方法を見つける必要があります。CC は不要です。各人がメールを受信し、このメールが自分宛てのものであるように見えるようにしたいのです。Outlook を使用して、「宛先」を空のままにして、BCC にそれらのメール アドレスのみを入力することはできます。これは良い解決策ですが、自動化する必要があります。同じことを実行するために、send-mailmessage powershell コマンドを使用する方法が見つかりません。それに近い方法は、自分自身に送信してから全員に BCC するか、-to 引数を使用して 1 通ずつメールを送信するループを実行することです。どちらも私には適していません。何かできる方法はありますか?
答え1
デイビッドに同意します。
私の調査によると、-To パラメータは必須パラメータであり、スパムエンジンになるのを防ぐのに役立つ可能性があります。したがって、Powershell の要件に応じて、独自の電子メールアドレスなどを入力することができます。[メールアドレス]「宛先」フィールドに入力します。
答え2
要求されたアクションは、コマンドレット Send-MailMessage を使用しては利用できませんが、.net クラスを使用してnet.mail
目的を達成できます。スクリプトに組み込むことができる以下のものを参照してください。
$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)