50 votes

envoi de courrier à partir d'un fichier Batch

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 ?

2 votes

Je suis confus. Il demande comment envoyer un email à partir d'un fichier batch. En quoi ce n'est pas une question de programmation ?

0 votes

Lot "damned it" et non bash, oubliez mon commentaire

0 votes

En quoi est-ce offensant ? Expliquez-vous !

38voto

Colin Pickard Points 23922

Blat :

blat -to user@example.com -server smtp.example.com -f batch_script@example.com -subject "subject" -body "body"

0 votes

Si vous voulez envoyer des emails à plusieurs adresses, utilisez une commande comme celle-ci blat -to "user1@example.com", "user2@example.com"

21voto

Philibert Perusse Points 1737

Vous pouvez également utiliser un script Power Shell :

$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 = "script@mycompany.com"
$objMailMessage.To.Add("you@yourcompany.com")
$objMailMessage.Subject = "eMail subject Notification"
$objMailMessage.Body = "Hello world!"

$smtp.send($objMailMessage)

1 votes

Upvoted. Mais si vous ne voulez pas faire un .ps1 , vous pouvez l'appeler directement depuis le lot

1 votes

La question portait sur BATCH, pas sur powershell. Poweshell ne supporte que W7 et plus

8voto

RossFabricant Points 7745

bmail . Il suffit d'installer l'EXE et d'exécuter une ligne comme celle-ci :

bmail -s myMailServer -f Sender@foo.com -t receiver@foo.com -a "Production Release Performed"

0 votes

Je ne peux pas installer Bamil pour des raisons de sécurité. Dites-moi s'il existe un autre moyen de résoudre mon problème.

0 votes

Avez-vous essayé d'autres clients de messagerie en ligne de commande ? Une recherche sur Google permet de trouver de nombreux outils disponibles gratuitement.

5voto

laurie Points 1917

Le moyen le plus simple est d'utiliser une application tierce, comme indiqué par d'autres personnes.

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 lot script.

Voir les exemples ici http://www.paulsadowski.com/WSH/cdo.htm

3voto

Keng Points 10618

Nous utilisons le blat pour faire cela 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 user@example.com -server smtp.example.com -f batch_script@example.com -subject "subject" -body "body" -attach c:\temp\file.txt

Ou vous pouvez mettre ce fichier dans le corps du texte

blat c:\temp\file.txt -to user@example.com -server smtp.example.com -f batch_script@example.com -subject "subject"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X