Nous avons un script pour sauvegarder les fichiers. Une fois l'opération de sauvegarde terminée, nous aimerions envoyer un rapport sous forme de notification par e-mail à certaines de nos adresses e-mail.
Comment cela pourrait-il être fait?
Blat :
blat -to [email protected] -server smtp.example.com -f [email protected] -subject "subject" -body "body"
Vous pouvez également utiliser un script 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 est livré avec une commande intégrée pour cela . Donc, en cours d'exécution directement à partir d'un .bat
fichier:
powershell -ExecutionPolicy ByPass -Command Send-MailMessage ^
-SmtpServer server.address.name ^
-To [email protected] ^
-From [email protected] ^
-Subject Testing ^
-Body 123
[~ # ~] nb [~ # ~] -ExecutionPolicy ByPass
n'est nécessaire que si vous n'avez pas configuré d'autorisations pour exécuter PS à partir de CMD
Aussi pour ceux qui cherchent à l'appeler depuis PowerShell, déposez tout avant -Command
[inclus] et `
sera votre personnage d'échappement (pas ^
)
bmail . Installez simplement l'EXE et exécutez une ligne comme celle-ci:
bmail -s myMailServer -f [email protected] -t [email protected] -a "Production Release Performed"
Le moyen le plus simple consiste à utiliser une application tierce comme mentionné par d'autres
Si ce n'est pas une option, j'ai écrit un simple utilitaire sendmail en utilisant vbscript & CDO que j'ai appelé à partir d'un script batch
Voir les exemples ici http://www.paulsadowski.com/WSH/cdo.htm
Vous pouvez également utiliser sendmail . Je l'utilise dans ce hook Subversion pour envoyer des notifications par e-mail: hook post-commit
Nous utilisons blat pour le faire tout le temps dans notre environnement. Je l'utilise également pour me connecter à Gmail avec Stunnel . Voici les paramètres pour envoyer un fichier
blat -to [email protected] -server smtp.example.com -f [email protected] -subject "subject" -body "body" -attach c:\temp\file.txt
Ou vous pouvez mettre ce fichier en tant que corps
blat c:\temp\file.txt -to [email protected] -server smtp.example.com -f [email protected] -subject "subject"
Il existe plusieurs méthodes pour gérer ce problème.
Mon conseil est d'utiliser la puissante application console Windows freeware 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