Send-MailMessage -To "一郎<ichiro@hoge.co.jp>" ` |
構文自体あまり難しいところはないが、Encodingが気に入らない。
通常のコマンドレットのEncodingパラメータは<string>となっているのに、ここでは<Encoding>となっている。
Stringで指定して自動的にキャストもしてくれない。しかもデフォルトがASCIIだと。
仕方がないのでEncodingクラスのスタティックプロパティを指定する。
コマンドプロンプトで[System.Text.Encoding]::Defaultと打つとわかるがシステムのDefaultは通常SJIS。
こんな指定が必要ならSmtpClientクラスを使うのと大差無い。
$smtpClient = new-Object Net.Mail.SmtpClient "MailServer.hoge.co.jp" |
ちなみに、Powershellからのメール送信はウィルス対策ソフトにブロックされたりするので要注意。
会社などで設定変更できない場合は、Powershell.exeをコピーしてメジャーなメールソフトの名前にリネームして使うと送れたりする。
(それが許されるかどうかは会社のポリシー次第だろう)
0 件のコメント:
コメントを投稿