
■ メール送信
死活監視ツールをpowerShellで頑張って作ります。
死活監視って、毎日やらないと意味がない業務なんですけど、暇な時はともかく
忙しい時は煩わしくてかなわない...
ならば、pingを打って通らなかった時だけ管理者にメールを通知してやればいい。
powerShellには「send-mailmessage」なるメール送信のコマンドがあるようなので
試してみました。
# エンコード
$encoding = [System.Text.Encoding]::UTF8
# メールアドレス(送信者)
[System.String]$fromAddress = "システム管理者 <******@k**az***.co.jp>"
# メールアドレス(受信者)
[System.String]$toAddress = "システム部 <******@testCom*.co.jp>"
# メールサーバ
[System.String]$serverAddress = "10.2**.1.*4"
# コマンド実行
send-mailmessage -from $fromAddress -to $toAddress -SmtpServer $serverAddress -Encoding $encoding -subject "件名" -Body "本文"
注意点はエンコードの指定です。
パラメータ -Encoding で設定するんですけど省略も可能です(省略時はASCIIになる)。
エンコードがASCIIだと全角文字は全滅状態(文字化けする)なので、送信先のメールサーバ
で使えるエンコードを指定してやります。
ベンダーによると、私の会社のメールサーバだとEUCかshift-jisらしい。
んで、指定できるエンコードを調べてみると...
-Encoding
本文と件名に使用されるエンコードを指定します。有効な値は、ASCII、UTF8、UTF7、UTF32、Unicode、BigEndianUnicode、Default、および OEM です。ASCII が既定値です。
参考URL:http://technet.microsoft.com/ja-jp/library/dd347693
え?これだけ?
この辺りの知識が乏しいので、どれを使えばいいのか分からん。
とりあえず、UTF8 にしたら動いたのでこれにしてみます。
外部に出るメールなら真面目に調べるんですけど、自社内(のさらに自部署)で完結するメールだし届けばいいか。
では、本日はここまで。
投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク


