ファイルをバックアップするスクリプトがあります。バックアップ操作が終了したら、レポートをメール通知として一部のメールアドレスに送信します。
これはどのように行うことができますか?
Blat :
blat -to [email protected] -server smtp.example.com -f [email protected] -subject "subject" -body "body"
Powershellスクリプトを使用することもできます。
$smtp = new-object Net.Mail.SmtpClient("mail.example.com")
if( $Env:SmtpUseCredentials -eq "true" ) {
$credentials = new-object Net.NetworkCredential("username","password")
$smtp.Credentials = $credentials
}
$objMailMessage = New-Object System.Net.Mail.MailMessage
$objMailMessage.From = "[email protected]"
$objMailMessage.To.Add("[email protected]")
$objMailMessage.Subject = "eMail subject Notification"
$objMailMessage.Body = "Hello world!"
$smtp.send($objMailMessage)
PowerShellには組み込みコマンドが付属しています 。したがって、.bat
ファイルから直接実行する場合:
powershell -ExecutionPolicy ByPass -Command Send-MailMessage ^
-SmtpServer server.address.name ^
-To [email protected] ^
-From [email protected] ^
-Subject Testing ^
-Body 123
[〜#〜] nb [〜#〜]-ExecutionPolicy ByPass
は、CMDからPSを実行する権限を設定していない場合にのみ必要です。
また、powershell内から呼び出す場合は、-Command
[包括的]の前にすべてをドロップすると、`
がエスケープ文字(^
ではなく)になります
bmail 。 EXEをインストールして、次のような行を実行するだけです。
bmail -s myMailServer -f [email protected] -t [email protected] -a "Production Release Performed"
最も簡単な方法は、他の人が述べたようにサードパーティのアプリケーションを使用することです
それがオプションではない場合、バッチスクリプトから呼び出したvbscriptとCDOを使用して簡単なsendmailユーティリティを作成しました。
こちらの例をご覧ください http://www.paulsadowski.com/WSH/cdo.htm
sendmailを使用することもできます。私はこのSubversionフックでそれを使用して電子メール通知を送信しています: post-commit hook
私たちは環境で常にこれを行うためにblatを使用しています。 Stunnel でGmailに接続するためにも使用します。ファイルを送信するためのパラメータは次のとおりです
blat -to [email protected] -server smtp.example.com -f [email protected] -subject "subject" -body "body" -attach c:\temp\file.txt
または、そのファイルを本文として入れることができます
blat c:\temp\file.txt -to [email protected] -server smtp.example.com -f [email protected] -subject "subject"
この問題を処理する方法は複数あります。
私のアドバイスは、強力なWindowsフリーウェアコンソールアプリケーション SendEmail を使用することです。
sendEmail.exe -f [email protected] -o message-file=body.txt -u subject message -t [email protected] -a attachment.Zip -s smtp.gmail.com:446 -xu gmail.login -xp gmail.password