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 : 06/07/2020 @ 18:32
Catégorie : - Aide à l'administration
Page lue 156306 fois
 

Réactions à cet article

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


Réaction n°22 

par sindiz le 05/09/2007 @ 11:12

Bonjour,

2 questions avec cet utilitaire vachement pratique et simple à mettre en oeuvre

+ Tous les accents de mon corps de message arrivent sous forme d'étoile (d*tail au lieu de détail) ???

+ Je cherche à mettre une adresse en copie. Avec la balise /U, je peux séparer n destinataires par une virgule mais ils doivent être tous dans le même domaine. Comment peut-on faire s'ils n'appartiennent pas au même domaine ??

Merci

[réponse de damien, le 05/09/2007 à 20h14]

Pour le problème d'accent, je viens de faire plusieurs tests et je n'ai constaté aucune anomalie. Je précise que le fichier contenant le corps du message avait été créé sous Windows et non sous DOS (où le mappage des caractères accentués est différent), ce qui pourrait expliquer votre problème. Mais il peut aussi s'agir de la configuration du serveur SMTP ou du client de messagerie utilisé pour la réception du mail. Dans la prochaine version, ce désagrément pourra être évité car il sera en théorie possible de spécifier le "charset" à utiliser...

Concernant le second point que vous évoquez, il est effectivement possible de spécifier plusieurs destinataires mais rien n'oblige à ce qu'ils appartiennent pas au même domaine. Cette contrainte ne s'applique que si vous spécifiez le domaine par le paramètre /@ et que vous omettez le domaine de chaque adresse. En revanche, si vous faites spécifiez des adresses complètes, vous êtes totalement libre de "panacher" la liste des destinataires.


Réaction n°21 

par jeremy le 04/05/2007 @ 10:07

Bonjour,

voici la synthxe simple que j'ai utilisé pour envoyer un mail en ligne de commande

sendmail.exe /m:C:\Program Files\Dipisoft\SendMail\body.txt /u:mail /t:test /s:192.168.1.244 /e:adresse_mail

merci a damen pour l'aide

bonne journee

jeremy.

[réponse de damien, le 04/05/2007 à 10h19]

Eh oui, ça fonctionne mieux quand on ne met pas les guillemets ! D'ailleurs, on voit bien qu'ils sont absents dans les exemples donnés dans la boite "A propos de...". sifflote

Merci de ton retour. coucou


Réaction n°20 

par jeremy le 03/05/2007 @ 15:14

Bonjour,

j'ai cette synthaxe mais ca n'envoie pas les mail et je ne vois pas pourquoi

sendmail.exe /m:"C:Program FilesDipisoftSendMailbody.txt" /u:"mail" /t:"test" /s:"192.168.1.244" /e:"jeremy.maunoury@metal.axe-group.com"

merci d'avance et bonne journee

[réponse de damien, le 03/05/2007 à 19h24]

Première chose : quelque soit le paramètre, il ne faut pas utiliser les guillemets. Ils seront pris en compte dans une prochaine version mais ce n'est pas le cas pour l'instant.

Ensuite, l'adresse du destinataire ne contenant pas le domaine (@quelquechose...), le contenu du paramètre /@ y est ajouté. Et en l'absence de ce dernier, la valeur par défaut est récupérée dans le fichier de configuration. Peut-être est-il correctement configuré mais je n'en sais rien vu de chez moi ! cligne

Par ailleurs, êtes vous sur d'avoir un serveur SMTP installé à l'adresse indiquée dans paramètre /s, qu'il n'y a pas de firewall pour vous y interdire l'accès et qu'il accepte bien les connexions non authentifiées.

Enfin, je terminerai par ceci : sans plus d'informations sur la nature du problème (message d'erreur) et le contexte (OS, logiciels, versions, etc) dans lequel vous utilisez le logiciel, je ne suis pas en mesure de vous aider davantage. Je n'ai pas encore reçu la boule de cristal commandée chez Surcouf le mois dernier ! cligne


Réaction n°19 

par lsd889 le 23/04/2007 @ 12:44

Merci pour ce retour rapide ...

J'avais pourtant été dans l'aide ... mais j'avais fais l'impasse sur ce paramètre ...

Bonne continuation

[réponse de damien, le 23/04/2007 à 13h05]

Personne n'est parfait ! cligne

Bonne continuation à vous aussi. Ah, un dernier conseil : inscrivez-vous à ma newsletter, vous ferez ainsi partie des premiers informés quand la prochaine version sortira... sourire


Réaction n°18 

par lsd889 le 23/04/2007 @ 12:07

Bonjour;
Merci pour ce soft bien pratique ...

Je l'utilise principalement en ligne de commande
Est t-il possible de desactiver le popup:
"attention" le message XX a été envoyé a x destinataires

Merci à vous,
Olivier

[réponse de damien, le 23/04/2007 à 12h27]

Bien sûr ! Il suffit pour cela de diriger les notifications et messages d'erreurs dans le fichier log en ajoutant un /l (lettre L) dans la ligne de commande.

Au passage, merci pour le compliment et même si SendMail ne fait pas partie des 3 logiciels Dipisoft inscrits pour le concours "Logithèque d'Or", vous pouvez quand même voter pour IPScan32, WakeOnLan ou DipiView (il y a un lien dans les nouvelles). cligne