SendMail // Envoi de mails doté d'un mode 'scriptable'

sendmail01.pngsendmail02.png
français anglais allemand   (pour contribuer, rendez-vous sur la page des fichiers de langues)

Avec un tel nom, il n'est pas bien difficile d'imaginer la fonction principale de SendMail... Mais cet outil est bien plus qu'un simple logiciel d'envoi de mails !

Une des principales caractéristiques de SendMail est qu'il peut être utilisé soit en mode interface graphique, soit en mode script. Je suppose qu'il n'est pas utile que je m'étende sur le premier, le second nécessite en revanche quelques explications : SendMail est "scriptable", ce qui signifie que l'on peut aussi l'utiliser en mode "ligne de commande", grâce à une syntaxe complexe.

Il est par conséquent possible d'utiliser SendMail en complément d'autres outils qui permettent d'exécuter des traitements externes. C'est le cas de LanAlertCenter (que vous pouvez aussi trouver sur ce site) mais aussi de nombreux outils du commerce, dans divers domaines.

Codes erreurs (ErrorLevel) retournés lors de l'utilisation en mode ligne de commande :

  • 0 : message envoyé avec succès
  • 1 : erreur dans les paramètres passés par l'utilisateur
  • 2 : erreur d'accès à l'ActiveDirectory
  • 3 : erreur de destinataire (groupes vides)
  • 4 : erreur de pièce jointe (introuvable)
  • 5 : erreur d'envoi du message (OSSMTP)

Une autre particularité de cet outil est qu'il permet d'envoyer des mails soit à des destinataires désignés manuellement, soit aux membres de groupes globaux de l'ActiveDirectory. Cette dernière possibilité est pratique puisqu'elle peut ainsi éviter d'avoir recours à la création de listes de distribution.

Cet outil n'aurait pas été complet s'il n'avait pas permis à l'utilisateur de pouvoir joindre des fichiers, cette fonctionnalité est par conséquent présente !

Enfin, je tiens à préciser que SendMail utilise le composant OSSMTP développé par OstroSoft que je remercie vivement.

ATTENTIONcet outil ne doit pas être utilisé pour effectuer du spam !

Télécharger Télécharger ce logiciel (version installeur)
Télécharger Télécharger ce logiciel (version portable ZIP) Note importante aux utilisateurs des versions portables

Date de création : 21/02/2005 @ 14:26
Dernière modification : 31/03/2024 @ 12:52
Catégorie : - Aide à l'administration
Page lue 180052 fois
 

Réactions à cet article

Réaction n°32 

par Steph le 17/06/2008 @ 13:46

Bonjour,

Merci beaucoup pour votre sympathique logiciel.

J'avoue que j'ai quand même un petit soucis pour le faire fonctionner correctement: lorsque je l'utilise en mode graphique, pas de problèmes, l'envoi des mails se fait correctement.

Lorsque je le fais en mode ligne de commande depuis une fenêtre DOS, pas de problèmes non plus, les mails arrivent correctement à leur destinataire.

En revanche, lorsque j'essaie de l'intégrer à un script Perl, et que la même ligne de commande est passée en faisant un qx($ligne_de_commande), je n'ai aucun message d'erreur, sauf que l'envoi des mails ne se fait pas: ils n'arrivent jamais à leur destinataire.

C'est pareil lorsque je fais un exec($ligne_de_commande) ou un $tmp=`$ligne_de_commande`;

Avez-vous une idée de la raison de ce disfonctionnement ?

J'avoue que cela me rendrait un très grand service de pouvoir automatiser mes envois de mail et j'y arrive pas triste

Merci d'avance pour votre aide,

Stéphane

[réponse de damien, le 17/06/2008 à 14:02]   Attention, cette réponse fait référence à une ancienne syntaxe de SendMail

Alors là, je n'en ai aucune idée : ne connaissant pas du tout Perl je suis bien incapable de vous aider... pas ma faute

Peut-être s'agit-il d'un problème de path ? Y a-t-il un moyen de voir si l'exe s'est bien lancé (gestionnaire de tâches, par exemple) ? Si vous lancez un autre exe que le mien, il se passe quelque chose ?

Si vous pouvez me donner des indications (package, script, etc.) pour monter rapidement un environnement qui me permette de tester ce mode de fonctionnement, je suis preneur... En d'autres termes, aidez-moi à vous aider ! sourire

[réponse complémentaire de damien, le 17/06/2008 à 14h58]

Je viens tout juste d'installer ActivePerl (une version 5.8.8.822 dispo sur Clubic car impossible de télécharger depuis le site officiel) et de tester une ligne de commande toute simple :

perl -e "exec 'sendmail /u:damien@dipisoft.com /t:test /m:message.txt'"

Eh ben ça fonctionne : j'ai bien reçu le message...

Es-tu sur que le fichier de configuration (sendmail.ini) a bien été configuré ?


Réaction n°31 

par Romrik le 08/06/2008 @ 11:44

Bonjour

Cet utilitaire est très utile
Vous dites que le corps en html est prévu
Quand le serait-il ? fin d'année 2008 ? été 2008 ?

Cordialement

[réponse de damien, le 09/06/2008 à 15h00]

Non seulement c'est prévu mais cette fonctionnalité est quasiment prête. Il ne reste qu'à terminer les autres modifs en cours (authentification notamment).

Le problème est que j'ai pas mal d'autres choses en cours sur d'autres softs donc je ne me hasarderai pas à avancer une date... Peut-être le mois de juillet sera-t-il calme et me permettra d'avancer un peu ? Je l'espère. cligne


Réaction n°30 

par Fabien le 08/04/2008 @ 13:46

Bonjour,

Serait-il envisageable de supporter des fichiers html pour alimenter le corps de mail dans une évolution prochaine ou cela restera-t-il réservé à des produits plus "lourds" ?

[réponse de damien, le 08/04/2008 à 15h56]

Non seulement c'est prévu, mais c'est même quasiment développé. De mémoire, il me restait encore quelques petites modifs et des tests à effectuer.

Ça fait un moment que je n'ai pas remis le nez dans cette appli, il va me falloir un peu de temps pour reprendre là où je m'étais arrêté... cligne


Réaction n°29 

par dweezil le 07/04/2008 @ 16:29

Bonjour,

j'utilise votre logiciel pour tester rapidement un serveur smtp, mais si il fonctionne correctement en local (envoi a partir de la machine ou est installer le serveur) il ne fonctionne pas lorsque j'envoie un mail a partir d'une autre machine du réseaux (aucun popup de confirmation) alors que le serveur smtp est bien accessible et que l'envoir de mail via telnet ou outlook fonctionne .... mais pourquoi donc :_(

cordialement

[réponse de damien, le 07/04/2008 à 19h02]

Rien dans l'appli ne peut expliquer le problème. Il faut donc chercher du côté de la config (l'adresse IP ou le nom DNS du serveur SMTP est peut-être erronée, tout simplement) ou du côté du firewall/antivirus (pc et serveur). Comme je l'ai déjà dit, certains de ces outils filtrent l'utilisation du port TCP 25 et seuls les logiciels "autorisés" peuvent l'utiliser...

Merci de m'informer des suites.


Réaction n°28 

par vince le 07/02/2008 @ 14:14

Bonjour,

A la recherche d'un 'sendmail' pour windows, votre logiciel semble bien correspondre, félicitation.

Une petite suggestion pour l'utilisateur en ligne de commande que je suis : Serait il possible que le corps du message soit passé en paramettre directement, sans passer par un fichier ?

Vincent

[réponse de damien, le 07/02/2008 à 18h49]

Oui c'est possible, j'ajouterai cette option dans la prochaine version mais elle n'est pas prête de sortir... j'ai entrepris des modifications il y a déjà fort longtemps mais rien n'est encore terminé. pas ma faute


Réaction n°27 

par titem32 le 19/11/2007 @ 14:01

bonjour,

j'ai oublié des infos :

le client est un windows serveur 2003

et mon server mail est un exchange 2003

merci

titem32

[réponse de damien, le 19/11/2007 à 20h12]

Que les choses soient claires : mon appli ne communique pas avec Exchange mais avec le serveur SMTP. C'est la même machine qui assure les deux fonctions ?


Réaction n°26 

par titem32 le 19/11/2007 @ 13:55

Bonjour,

je n'arrive pas à envoyer de mail à partir d'un script : voici mes parametres.

sendmail /e:source@mail.com /u:destination@mail.com /t:test /s:xxx.xxx.xxx.xxx

A partir du serveur j'arrive à envoyer un mail en telnet ou à partir du GUI.

Help me please.

merci
Johnny

[réponse de damien, le 19/11/2007 à 20h07]

Le paramètre /m spécifiant le nom du fichier contenant le corps du message n'est pas optionnel : il est obligatoire... A part ça, que se passe t'il exactement ? Y a t'il un message d'erreur ?

Quand vous dites que ça fonctionne à partir du GUI, vous parlez de la même appli mais en mode fenêtré ou d'un autre logiciel ?


Réaction n°25 

par jeromoreau le 14/11/2007 @ 15:24

Bonjour,

Merci pour votre superbe petit utilitaire, fort pratique. Mais ... il y a un mais ... je n'arrive pas bien à l'utiliser.
Il faut dire que je suis vraiment nul en programmation.
Avec un chemin spécifique et un seul fichier à envoyer, pas de soucis.
Mais j'aimerais bien envoyer tous les fichiers d'un répertoire spécifique.
Bref, j'au fait un batch de ce type :

SendEmail -f adresse_envoyeur@anywhere.fr -t xxxx@xxx.fr -u test -m message_du_mail -s smtp.free.fr -a %Userprofile%\Mes documents\Mes fichiers reçus\jeromoreau\3221467187\*.*

Mais cela ne fonctionne pas !!! Pourquoi ?
J'ai du copier sendemail à la racine de C: Comment lui indiquer un autre chemin pour qu'il le trouve? Car je veux ensuite excécuter ce .bat avec le planificateur de tâches.

Merci pour ton aide.

[réponse de damien, le 14/11/2007 à 19h44]   Attention, cette réponse fait référence à une ancienne syntaxe de SendMail

Ne cherche pas plus longtemps : cette version de SendMail ne permet pas d'utiliser des jokers dans les noms de fichiers à joindre. C'est une fonctionnalité à laquelle je n'avais pas pensé, mais je l'ajouterai dans la prochaine... pas ma faute

En attendant, si tu veux joindre plusieurs fichiers, je te conseille de revoir ton fichier batch : il est facile d'utiliser 7-Zip (et certainement d'autres outils de compression, mais celui-ci est gratuit et pratique) en mode ligne de commande. Alors compresse le contenu du répertoire et tu n'auras qu'un seul fichier à envoyer ! cligne

Sinon la syntaxe que tu utilises dans ton exemple est incorrecte : les paramètres doivent être précédés d'un slash ( / ) et non d'un tiret ; et ceux qui sont accompagné d'une valeur sont suivis des deux-points. Par ailleurs, de mémoire, le paramètre adresse de l'expéditeur est /e: et le /t: est utilisé pour définir le sujet du message et non le destinataire... Revois la syntaxe indiquée dans la boite "A propos de...". Voici la version corrigée :

Sendmail /e:adresse_envoyeur@anywhere.fr /u:xxxx@xxx.fr /t:test /m:message.txt /s:smtp.free.fr /a:%Userprofile%\Mes documents\Mes fichiers reçus\jeromoreau\3221467187\fichier.txt

[réponse complémentaire de damien, le 15/11/2007 à 12h51]

En fait, j'ai compris une chose : ce n'est pas mon soft que tu utilises mais le SendEmail, développé par Brandon Zehm.

Je suis donc désolé de ne pouvoir t'aider... coucou


Réaction n°24 

par liolio le 25/09/2007 @ 19:36

Bonjour,J'utilise sendmail 1.8 pour envoyer des mail en automatique. Pour ce j'ai créé une tache sous (XP, pro) qui s'execute toute les 10 mm. Sauf que le programme ne fonctionne que si la seccion est ouverte. le programme sendmail est lance dans un batch. Commentpuis je faire pour le lancer comme un service windows?Merci

[réponse de damien, le 26/09/2007 à 11h00]

Cet outil n'est pas prévu pour fonctionner en service. Il existe cependant des outils tiers qui permettent d'exécuter une appli standart en mode service, mais je n'ai pas de nom en tête...

Pour info, j'ai déplacé votre contribution dans le "livre d'or" vers l'article correspondant à SendMail... portnawak


Réaction n°23 

par Alf31fr le 21/09/2007 @ 14:42

Bonjour,

Tout d'abord bravo pour votre programme ... Cela faisait longtemps que je cherchais un outil de ce type (Simple, efficace, en ligne de commande et interface graphique). Seul petit bemol à mon enthousiasme débordant, l'envoi de mail ne fonctionne pas sur un server 2003 que j'utilise (alors qu'il fonctionne bien sur les autres). Le fichier de log n'est pas non plus créé lors de l'erreur.

Le message d'erreur est le suivant :
"Run-time error '429' : ActiveX component can´t create object"

Pouvez-vous me venir en aide ?

Merci d'avance.

-Alf31fr-

[réponse de damien, le 21/09/2007 à 15h12]

Ce genre de dysfonctionnement n'est en principe pas évident à résoudre car il peut être la conséquence de plusieurs problèmes. déconcerté

Est-ce que l'appli a été correctement installée (par l'installeur d'origine) ou a t'elle été simplement copiée à partir du répertoire d'install d'une autre machine ?

Si SendMail a été installé "normalement", le problème peut venir d'un conflit avec une des DLLs utilisées. Je vous conseille de vérifier les versions des fichiers ossmtp.DLL, msvbvm50.dll et vb5fr.dll (toutes les 3 dans system32) avec celles d'une des autres machines sur laquelle le programme fonctionne. S'il y a une différence, je vous invite à récupérer les fichiers de l'autre machine pour les placer dans le répertoire de SendMail sur la machine qui pose problème. Il faudra alors "déclarer" ossmtp.dll dans la base de registre (en ouvrant une invite DOS dans le dossier de l'appli puis en exécutant : regsvr32.exe ossmtp.dll)...

Une autre explication peut-être le blocage de sécurité : vérifiez que le port et/ou l'appli ne sont pas bloqués par le firewall et/ou un éventuel antivirus.

Merci de me tenir au courant. cligne