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 171976 fois
 

Réactions à cet article

Réaction n°11 

par kun le 21/08/2006 @ 11:19

bonjour

j'ai installé le sendmail1.7 sur Windows 2003. Je utilise la fonction de php: mail() à appeller sendmail.exe. Dans le fichier php.ini, j'ajoute les lignes suivants:

[mail function]
;SMTP = localhost
sendmail_from = me@localhost.com
sendmail_path = c:sendmailsendmail.exe -t

et je n'arrive pas envoyer le email, et j'ai vu le message: "Aucun paramètre indiquant la liste des destinataires n'a été détecté... L'outil va être fermé."

pourriez-vous m'aider à résoudre cette problème? Merci!!

[réponse de damien, le 21/08/2006 à 11h48]

Ma réponse va être courte car SendMail n'est pas prévu pour l'utilisation que vous essayez d'en faire : ce logiciel n'est pas un serveur SMTP mais simplement un client d'envoi de messages qui peut être utilisé soit en mode GUI (interface graphique avec l'utilisateur) soit en mode batch.

Ce qu'il vous faut, c'est installer un serveur SMTP ou configurer votre PHP.ini pour y déclarer l'adresse du serveur SMTP de votre fournisseur d'accès.

Désolé de ne pas pouvoir vous aider davantage... pas ma faute


Réaction n°10 

par Will le 18/08/2006 @ 13:57

Bonjour,

j'essaye de faire un batch avec sendmail, mais je n'arrive pas a le faire fonctionner avec des variables. Est ce possible ou pas?

voici un exemple:

cd
c:
cd program files
cd Dipisoft
cd SendMail


cmd /c "date /t

set subject=Server start %date% %time%
set SMTPserver=XXXX

set sender=%COMPUTERNAME%
set recipient=toto@toto.com
set body=C:\Program Files\DipiSoft\SendMail\body.txt

sendmail.exe /m:"%body%" /u:"%recipient%" /t:"%subject%" /s:"%SMTPserver%" /e:"%sender%"

Je n'ai meme pas de message d'erreur...

Merci

William

[réponse de damien, le 18/08/2006 à 20h12]   Attention, cette réponse fait référence à une ancienne syntaxe de SendMail

Les variables sont gérées par le DOS (enfin l'émulation) et non par SendMail qui n'en reçoit que le contenu. Le problème vient en fait de 2 erreurs que tu as commises dans ton batch ; après correction, tu verras que ça fonctionne nettement mieux. La première erreur est qu'il ne faut pas utiliser le slash (/) en dehors de l'appel des paramètres, or, ce signe est présent dans le titre du message (la date en contient). La seconde erreur vient du fait qu'il ne faut pas utiliser les double-quote dans les paramètres.

Exemple qui fonctionne (en tout cas avec un autre titre que celui que tu définis dans ta variable) :

sendmail.exe /m:%body% /u:%recipient% /t:%subject% /s:%SMTPserver% /e:%sender%

Attention aussi à l'expéditeur : certains smtp (celui de Free notamment) n'acceptent pas d'envoyer des messages dont l'expéditeur n'appartient pas à leur "domaine"... Pour Free, par exemple, il faut donc que l'expéditeur contienne toujours @free.fr (même si l'adresse n'existe pas portnawak)...


Réaction n°9 

par FredH le 20/06/2006 @ 18:18

Bonjour,
Est-il possible de préciser le port d'accès au serveur SMTP? (port d'accès différent de 25)
Merci

[réponse de damien, le 21/06/2006 à 09h41]

Je n'y ai malheureusement pas pensé (idem dans Pang v2.5 bêta 5), il n'est par conséquent pas possible de stipuler un autre port que celui utilisé par défaut. Je fais la modif dès que possible et je vous préviens dès que la prochaine release est dispo.


Réaction n°8 

par lamycassebonbon le 15/06/2006 @ 10:56

slt j arrive pa a faire marcher send mail ='( je suis sur un serveur qui utilise microsoft exchange et je n ai pas tous les droits accés que faire ^^ languelangue erreur: "statut:connecting to smtp serveur" pas ma faute

[réponse de damien, le 15/06/2006 à 13h15]

SendMail ne s'appuie pas sur Exchange, il faut simplement le configurer en lui indiquant le nom du serveur SMTP. Je vous conseille donc de vous rapprocher de votre admin messagerie.


Réaction n°7 

par Jecome le 26/05/2006 @ 03:21

Merçi pour ta réponse.sourire Vivement la version 1.6.6 alors, pour voir les évolutions coucou D'ailleurs tous les logiciels de ce site son super !
Encore bravo cligne PS: Comment fait-on pour avoir certaines version en béta ?
J'ai vu que qq'un en avait une de Pang sourire

[réponse de damien, le 26/05/2006 à 10h09]

Encore merci pour ces compliments !

En fait, la prochaine release de SendMail sera la v1.7 car elle contiendra d'autres petites évolutions.

Pour ce qui est des béta, je ne les diffuse pas car je teste moi-même mes créations durant plusieurs semaines avant de les diffuser. La seule exception jusqu'alors est Pang 2.5 beta 5 (qu'il est possible de télécharger via le lien direct que j'ai posté dans la news du 03/05/2006) car je n'avais pas la possibilité d'en tester toutes les fonctionnalités (analyses de certaines bases de données)...


Réaction n°6 

par Jecome le 24/05/2006 @ 20:00

Parfait !! C'est exactement ce que je cherchais !

Par contre, ce qui serait super pratique, c'est de pouvoir générer une ligne de commande (ou script) via l'interfaçe graphique ! Comme çà, plus aucun soucis de syntaxe ! En ajoutant, une case pour le log (l'option /l).

Et la possibilité de le minimiser serait la bienvenue aussi coucou
Mais encore une fois, ce logiciel est super !

Merci à toi et que çà dure !!! sourire

[réponse de damien, le 25/05/2006 à 12h59]

Merci pour les compliments et heureux de voir que le soft te convient en partie. Pas de problème pour ce qui est de la possibilité de minimiser la fenêtre (c'est déjà fait dans la v1.6.6 qui n'est pas encore diffusée).

S'agissant de la génération de la ligne de commande, c'est effectivement une bonne idée mais je ne vois pas trop (faut dire que je viens de me lever après une soirée un peu festive !sourire) comment mettre ça en œuvre : en mode GUI, tu saisis directement le corps du message alors qu'en mode ligne de commande, tu désignes le nom du fichier contenant le corps du message...

Mais je vais me pencher sur la question !

PS.: bien sur que ça va durer ! ;)


Réaction n°5 

par encouragement le 13/04/2006 @ 16:07

Salut,

Juste pour te souhaiter un encouragement, ton soft sendmail fonctionne a merveille, je l’utilise pour m’envoyer les log de mes backup sur plusieurs serveurs windows, il est possible de le faire en linux mais pas en windows par contre avec sendmail c’est possible encore une foi bon boulot.

[réponse de damien, le 14/04/2006 à 10h41]

Merci pour cet encouragement bien sympathique !

Pour info, la prochaine version de SendMail renverra une valeur dans l'ERRORLEVEL qui pourra ainsi être traitée dans les scripts qui l'utilisent...

Par ailleurs, SendMail changera certainement de nom, celui-ci étant déjà utilisé pour d'autres logiciels commerciaux. Si tu as des idées, elles seront les bienvenues !


Réaction n°4 

par koo le 30/03/2006 @ 14:12

hello
tout d'abord merci pour tous ces petits programmes coucou

je suis en train de tester sendmail et pang, mais je n'arrive pas vraiment a bien comprendre la syntaxe de sendmail.
par exemple, avec la syntaxte suivante:
sendmail /u:user1@test.com user2@test.com /t:c'est le sujet /m:c:\boot.ini /f:c:\boot.ini /e:emetteur@toto.com /s:smtp.free.fr
ca ne marche pas super.
mes question:
1: est ce que le ' peut poser un probleme?
2: comment on fait un .ini par défaut? pour l'utilisation de /ud ou /dg
3 comment on peut utiliser/installer le smtp local (ossmtp.dll)? on met ce fichier dans system32 et on utilise l'argument /s:localhost?
4 à quoi sert le /@  puisque j'utilise /u:adresse@domaine.com
5 peut-on avoir un exemple de .ini?
heu tout plein de questions je sais, mais bon.. comme ca c'est dit coucou

[réponse de damien, le 31/03/2006 à 10h48]   Attention, cette réponse fait référence à une ancienne syntaxe de SendMail

Je reconnais que les articles de mon site sont assez pauvres en explications sur le fonctionnement des logiciels. Il faudrait que je trouve un peu de temps pour rédiger de vrais manuels d'utilisation (ou de bonnes âmes pour s'en charger ?!), mais je me demande si ce ne serait pas du temps de perdu car au final, personne ne prend la peine de les consulter ces manuels !

Pour ce qui est de SendMail, je pense que les infos contenues dans la boite "A propos de" sont pas mal explicites...

Dans l'exemple que tu soumets, il y a deux erreurs : une dans la syntaxe utilisée pour séparer les destinataires (le séparateur à utiliser est la virgule). L'autre vient du fait que tu ne précises pas le paramètre /@ (contenant le suffixe ajouté systématiquement à l'adresse des destinataires), c'est donc la valeur par défaut qui sera ajoutée (ce qui donnera par conséquent user1@test.com@maboite.com et user2@test.com@maboite.com).

Dans ton cas, je te conseille donc soit de ne pas indiquer le suffixe dans l'adresse (mais l'indiquer dans le paramètre destiné à cet effet), soit d'initialiser le paramètre /@ à vide. Cela donne respectivement ceci :

  • sendmail /u:user1, user2 /t:c'est le sujet /m:c:boot.ini /f:c:boot.ini /e:emetteur@toto.com /s:smtp.free.fr /@:test.com
  • sendmail /u:user1@test.com user2@test.com /t:c'est le sujet /m:c:boot.ini /f:c:boot.ini /e:emetteur@toto.com /s:smtp.free.fr /@:

Quant à tes questions, voici mes réponses :

  1. non, les ' et les " ne posent pas de problème. Seule la présence de / dans le titre est à proscrire.
  2. les principaux paramètres du fichier .ini peuvent être paramétré via l'interface graphique de SendMail. Pour ce qui est des destinataires et groupes par défaut, il faut effectivement les renseigner via un éditeur de texte.
  3. il y a une légère méprise : le fichier OSSMTP.DLL permet d'envoyer les mails à un serveur SMTP. Ce n'est pas un serveur SMTP ! Si tu souhaites utiliser ton poste comme serveur SMTP, il te faudra installer un logiciel spécifique ; tu pourras alors effectivement faire un /s:localhost.
  4. je pense avoir répondu à la question un peu plus haut.
  5. j'en colle un ci-dessous...

Dans la prochaine version de SendMail, je pense que je n'ajouterai plus le suffixe systématiquement : cela ne sera fait que s'il n'y a pas de @ dans la désignation des destinataires.

Voilà, j'espère que ça répond à tes interrogations. A noter que la prochaine version de Pang (que je diffuserai très prochainement) intègre directement la possibilité d'envoyer des mails. Par ailleurs, j'ai totalement revu le "test d'accessibilité base Oracle" : il est à présent possible de tester tous types de bases de données (Oracle, mySQL, PostgreSQL, Access, SQL Server, Informix, Sybase, etc...).

Exemple de fichier .ini :

[Configuration]
NbDest=25
ServeurSMTP=smtp.maboite.com
Suffixe=maboite.com
GroupesParDéfaut=*admins
DestinatairesParDéfaut=info, webmaster
Emetteur=Sendmail


Réaction n°3 

par jpo le 23/01/2006 @ 16:54

Bonjour,
L'utilisation en ligne de commande (batch) est impeccable, mais y-a-t-il un moyen de shunter la fenêtre précisant que le message ***** a bien été envoyé à n destinataires en n envois afin d'utiliser sendmail dans des batchs de nuit.....
Merci

[réponse de damien]

Tout d'abord, merci de l'intérêt que vous portez à mon site et aux produits qui y sont proposés.

Pour ce qui est de votre question, il suffit simplement d'ajouter le paramètre /l (L minuscule) : les éventuels messages d'erreurs et/ou d'information seront dirigés dans le fichier .log...


Réaction n°2 

par m2nis le 14/12/2005 @ 07:46

Autant pour moi...

? / A propos de ...
ou
<F1>

[réponse de damien]

J'aime bien les gens qui font les questions et les réponses ! sourire