- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
exemple de .bat pour envoyer des mails
bonjour,
j'ai besoin d'envoyer des mails depuis mon pc en smtp
mon bat
telnet smtp.sfr.fr 465
helo djedje
mail from: <xxxxxxxxxxxxxxx@sfr.fr>
rcpt to: <xxxxxxxxxxxxxxx@sfr.fr>
data
essai d'envoi d'e-mail
.
pause
quit
mon bat s'arrête au telnet
EDIT CM : Pour votre sécurité, merci de ne pas divulguer vos informations personnelles.
Résolu !
Solutions approuvées
- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
Bonsoir @eric et magalima01 ,
Pour utiliser Telnet, passer par le port 587
Je n'ai pas testé en batch mais en entrant les commandes à la main ça fonctionne.
Sinon j'utilise un petit utilitaire "mailsend" (le bien nommé)
--> https://sourceforge.net/projects/mailsend.mirror/files/1.19/
Ci dessous un batch qui fonctionne (respecter les espaces - ne pas en mettre là où il n'y en a pas)
set sujet="essai d'envoi de mail"
set corps="Ceci est le corps du mail"
set dest=adresse_destinataire
set exp=adresse_expéditeur
set mdp=mot_de_passe_associé_à_votre_adresse_d_expéditeur
mailsend -t %dest% -f %exp% -ssl -port 465 -auth -smtp smtp.sfr.fr -sub %sujet% -M %corps% -user %exp% -pass %mdp%
pause
- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
Bonsoir pour quoi vouloir envoyer des mails avec un fichier.bat ? Un programme de courrier électronique ne vous convient pas ?
Votre fichier ne risque pas de marcher, c'est bien plus compliqué. Il faut un programme d'envoi d'email en smtp :
Si vous souhaitez envoyer un email depuis votre fichier de commandes . bat, c'est très facile car le programme wdPostMan traitera automatiquement les scripts email créés dans le répertoire Out de votre répertoire de mail. Les scripts Email sont des fichiers plein texte avec une extension wdmail.
https://fr.watchdirectory.net/wdhelp/plugins/wdopAutoRunBatEmail_fr.html
https://www.reddit.com/r/sysadmin/comments/j6uji2/a_filebat_to_send_a_basic_email/?tl=fr
https://www.reddit.com/r/Batch/comments/nm7ueh/sending_email_with_batch_file/?tl=fr
https://learn.microsoft.com/fr-fr/answers/questions/4948299/envoi-de-mails-en-mode-batch
Et il y a bien d'autres réponses sur le net.
- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
Bonjour @eric et magalima01
j'ai besoin d'envoyer des mails depuis mon pc en smtp
Pourquoi pas, même si les scripts Windows je n'y touche pas, ça m'arrive d'en générer quotidiennement dans des scripts Linux
- de manière générale je préfère utiliser tout simplement la commande "mail" (qui est faite pour ça)
- mais bien souvent, même sur un poste Linux, l'agent de mail n'est pas installé ou configuré, et donc il faut (comme ton script) tenter de communiquer avec un service SMTP distant et re-simuler tout le dialogue via la commande "telnet" (personnellement je l'ai fait aussi, mais pas dans un simple script, mais par programme, du fait de la nécessite de bibliothèque de chiffrement que j'évoque plus loin)
mon bat
telnet smtp.sfr.fr 465
helo djedje [...]mon bat s'arrête au telnet
Moi ça me parait normal (en tous cas au vu du comportement du "telnet" sous Linux)
- La communication SMTP sur le port 465 est censée se faire sur un canal chiffré SSL à ma connaissance
- et en général les commandes "telnet" ne le font pas de base (parfois il y a une option pour l'obtenir, parfois il faut changer d'outil en ligne de commande... pour ma part j'ai opté pour le faire par programme comme dit plus haut).
Ce genre de discussion semble en plein dans ton problème https://serverfault.com/questions/1039943/send-test-mail-using-telnet-via-smtps-465-port
À+
Digiclient NC → parti de sa planète disparue, pour une nouvelle terre d'accueil ♥
LaBox THD 4K (V3) - Connexion FttLA à 1000↓↑40 Mbit/s
- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
Bonsoir @eric et magalima01 ,
Pour utiliser Telnet, passer par le port 587
Je n'ai pas testé en batch mais en entrant les commandes à la main ça fonctionne.
Sinon j'utilise un petit utilitaire "mailsend" (le bien nommé)
--> https://sourceforge.net/projects/mailsend.mirror/files/1.19/
Ci dessous un batch qui fonctionne (respecter les espaces - ne pas en mettre là où il n'y en a pas)
set sujet="essai d'envoi de mail"
set corps="Ceci est le corps du mail"
set dest=adresse_destinataire
set exp=adresse_expéditeur
set mdp=mot_de_passe_associé_à_votre_adresse_d_expéditeur
mailsend -t %dest% -f %exp% -ssl -port 465 -auth -smtp smtp.sfr.fr -sub %sujet% -M %corps% -user %exp% -pass %mdp%
pause
- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
Encore un détail, la ligne de commande (de mailsend à %mdp%) est sur une seule ligne, il n'y a pas de retour à la ligne au milieu de la commande.
- Marquer comme nouveau
- Ajouter aux favoris
- S'abonner à ce post
- S'abonner au fil RSS de ce post
- Imprimer
- Signaler
Bonjour @eric et magalima01, et bienvenue sur la Communauté SFR 🙂
Les échanges précédents apportent déjà des éléments très utiles pour comprendre pourquoi votre script s’arrête dès l’ouverture de la session telnet.
D’un côté, @jnq35 a rappelé que la méthode utilisée n’est pas la plus simple, car un .bat ne gère pas nativement tout le dialogue SMTP. En pratique, la plupart des solutions reposent sur un utilitaire dédié qui prend en charge l’authentification et le chiffrement, ce qui rejoint les différentes ressources qu’il a partagées.
Par ailleurs, l’analyse de @Ryry éclaire bien le comportement du port 465. Ce port nécessite une connexion chiffrée en SSL dès le début de la session, et telnet ne gère pas cela. Il est donc logique que la commande se bloque avant même d’accepter les instructions SMTP. Ce point explique à lui seul la limite rencontrée dans votre script.
Enfin, @TagadaTsoinTsoin a proposé deux pistes concrètes selon votre manière de procéder. Lorsque Telnet est utilisé manuellement, passer par le port 587 permet d’obtenir une communication lisible, puisqu’elle débute sans couche SSL. Et pour automatiser l’envoi en batch, l’outil "mailsend" constitue effectivement une approche beaucoup plus fiable. Un exemple de commande fonctionnelle a été donné et montre comment intégrer l’expéditeur, le mot de passe, le corps du message et le serveur SMTP SFR.
Concrètement, la suite dépend surtout de votre objectif :
- si l’idée est de comprendre pourquoi telnet bloque, le comportement du port 465 fournit déjà la réponse ;
- si l’objectif est d’automatiser réellement l’envoi depuis un .bat, un utilitaire comme mailsend devient une solution cohérente, car il gère le chiffrement et l’authentification.
Si vous faites quelques tests avec l’une ou l’autre des méthodes, un petit retour permettra à la communauté de vous accompagner pour finaliser la solution.
Belle journée à vous 🙂