En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de cookies pour vous proposer des contenus et services adaptés.
Mentions légales.

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

Réactions à cet article

Réaction n°64 

par   atauvent le 14/12/2010 @ 11:39

Bonjour,

tout d'abord merci pour cette outil bien pratique et simple d'utilisation.j'envoi des mails d'information via sendmail, tout fonctionne, mais les caractères accentués sont remplacé par des points d'interrogation. Le client de messagerie utilisé pour la réception des mail est Outlook 2007 et 2010.

Merci d'avance de votre réponse.

Antoine

[réponse de damien, le 14/12/2010 à 13h32]

Il s'agit d'un problème de Charset que le serveur SMTP ne reconnaît pas. Dans la version actuelle il n'y a rien à faire qui puisse régler ça mais je travaille activement à la prochaine version de SendMail qui permettra entre autres de spécifier le type d'encodage souhaité, donc plus de soucis avec les accents. cligne

Pour tester la dernière bêta, me contacter.


Réaction n°63 

par hhgrouik26 le 02/12/2010 @ 16:48

En effet j'ai vu que les mots de passe se trouvait dans l'.ini.

Bon c'est pas plus grave que de le mettre dans le bat, mais je pense que ça serais pas mal de pouvoir le faire par bat aussi si on veut.

Par contre je crois que j'ai trouvé un bug sur l'authentification pop3:

Quand on saisi une adresse pop "pop.laposte.net" par exemple il n'y a pas d'ajout de ce paramètre dans le fichier ini de sendmail.

Par conséquent, un fois la fenetre graphique de sendmail fermé, mon batch marche plus. et en relançant sendmail, on s'aperçoit qu'il n'y a plus rien dans le champs pop.

J'ai donc utilisé l'authentification par login est ça fonctionne bien.

[réponse de damien, le 02/12/2010 à 19h24]

Il s'agissait d'une bêta préparée vite fait (spécialement pour toi) alors effectivement elle contient quelques bugs. La sauvegarde de l'adresse du serveur pop était bien effectuée mais à l'ouverture de SendMail je ne lisais pas la bonne entrée du fichier .ini. Donc forcément, le champ apparaissait vide dans la fenêtre de configuration et à la validation par le bouton OK, la valeur précédemment stockée était écrasée par une valeur nulle... c'est ballot hein !

Et puis côté password il y avait aussi un bug puisque ce dernier était écrit en clair dans le fichier de conf. Seconde erreur de ma part.

Je te propose donc une nouvelle bêta (même lien que précédemment mais b4 au lieu de b3) corrigeant ces anomalies et j'attends ton retour. Attention, ton password étant actuellement en clair dans le fichier ini, rends-toi dans la fenêtre de configuration pour le ressaisir.


Réaction n°62 

par   hhgrouik26 le 02/12/2010 @ 11:58

Ca J'ai testé la bêta avec authentification.

J'ai essayé avec l'authentification par login et par pop et les 2 fonctionnent très bien!

Par contre, a quoi sert l'authentification "pain"?

Sinon une question, si j'ai bien compris, on est donc obligé de saisir le type d'authentification, le login et mot de passe, dans option de l'interface graphique de sendmail?

Pas moyen de saisir cela dans un batch avec des paramètre à la suite de sendmail?  (bon ok pas top pour le password en clair dans le batch!)

Un grand merci à toi! pour tout le temps que tu passe à programmer et dont tu fait profiter aux autres, ton innovation et ta réactivitécool

[réponse de damien, le 02/12/2010 à 13h57]

Déjà, ce n'est pas "pain" mais "plain"... sourire Il s'agit d'un des modes d'authentification proposés par le composant OSSMTP. Je t'avouerais que je n'en sais pas plus, mais dans la mesure où le composant le proposait, je n'avais aucune raison de ne pas le faire figurer. Si tu veux en savoir plus sur le sujet j'ai trouvé quelques infos ici.

Concernant les infos login/password, oui il faut les définir via la fenêtre de configuration de l'appli. L'appli n'est pas conçue pour attendre ces informations en paramètre de la ligne de commande. Je pense que ce n'est pas judicieux côté sécurité... maintenant, tu vas me dire que dans la mesure où les infos sont dans le fichier de conf, quiconque a accès à l'appli peut l'utiliser sans avoir connaissance du login/password et c'est peut-être pire finalement... je ne sais pas trop, donc si tu vois une justification pour que je l'ajoute, fais m'en part ! ;)

A noter que je bosse en ce moment sur l'internationalisation de l'appli (via l'ajout de fichiers de langues comme pour une partie de mes autres applis récentes). Par la même occasion, je projette aussi une grosse refonte de la gestion de la ligne de commande ET de l'interface... l'évolution sera conséquente et la migration vers la nouvelle version nécessitera une adaptation de tous les scripts qui utilisent la version actuelle... pas ma faute


Réaction n°61 

par   hhgrouik26 le 26/11/2010 @ 09:46

Bonjour, et merci encore pour tous ces soft super!

J'ai mis en place un script pour envoyer des mails grâce à sendmail.
J'ai fait tout mes teste sur la connexion internet de mon boulot et ça marche bien sur une ligne ADSL Oléane avec le smtp de Oléane.

Puis j'ai voulus le mettre en place sur la machine qui enverra les mails qui utilise une autre ligne ADSL, mais cette fois de Orange et toujours avec le smtp de Oléane. Et là ça ne fonctionne plus!

J'ai scanné les trame d'échange entre le poste et le serveur SMTP et apparemment il semblerai que le FAI me refuse l'accès.
J'ai lu qu'il y avait des serveurs smtp de certains FAI où il faut utiliser l'authentification.

Question: comment fait-on avec sendmail pour gérer l'authentification?

Merci.

[réponse de damien, le 26/11/2010 à 13h04]

Je vais faire court : cette version ne permet pas de faire du SMTP authentifié. En revanche la prochaine offre cette fonctionnalité mais n'est pas encore finalisée. Sauf que je n'ai pas encore trouvé comment implémenter SSL...


Réaction n°60 

par   jeantous le 18/11/2010 @ 14:40

Bonjour, je suis un peu débutant, donc comment fait-t-ont pour configurer ce logiciel ? sendmail, est-ce-que je suis obligé de passer par le smtp de mon fournisseur ? car au dela de 100 emails par jours, je suis bloqué par le FAI.

Merci de votre réponse.

[réponse de damien, le 18/11/2010 à 19h23]

Comment faire ? Tout simplement en choisissant "Configuration" dans le menu "Options" (ou en pressant la touche F3).

Tu devras au minimum renseigner l'adresse de ton serveur SMTP (utiliser celui de ton FAI n'est pas une obligation) et le port, 25 en principe. Attention quand même à propos du serveur SMTP : certains FAI n'autorisent pas l'utilisation d'autres SMTP que le leur. Il me semble qu'il y a un réglage à faire quand on est chez Free justement...

En ce qui concerne les autres réglages :

  • le suffixe est utilisé dans le cas où tu as la flemme de spécifier des adresses complètes dans la liste des destinataires : si tu mets, "toto" tout court par exemple, l'appli détectera qu'il n'y a pas de @xxx.yyy et ajoutera alors le suffixe que tu auras défini.
  • nombre de destinataires par envoi : quand tu adresses un mail à plusieurs personnes, cette valeur sera utilisée pour l'envoyer en plusieurs lots selon la taille de la liste. Si tu mets 20 et que tu envoies un mail à 22 personnes, SendMail enverra en fait 2 mails : un aux 20 premiers destinataires et le second aux 2 dernières. Contrairement à ce que dit le message d'erreur quand tu laisses ce champ vide, la valeur doit être supérieure ou égale à 1 et non strictement supérieure.
  • enfin, tu peux définir des destinataires par défaut si tu le souhaites (voir même des groupes si tu utilises l'appli dans un contexte où il y a un annuaire ActiveDirectory).

Ça répond à ta question ?


Réaction n°59 

par   Fabnou le 05/10/2010 @ 06:28

Bonjour j'utilise SendMail (vraiment super pour l'exécution en ligne de commande).

par contre quand j'envoi un mail, l'heure de l'envoi n'est pas la bonne:

dans mon pays (Nouvelle-Calédonie) nous sommes en GMT+11 et le serveur sur lequel SendMail est installé est configuré comme tel, mais les mails envoyés sont en GMT+0.

y a t-il quelques choses a faire pour résoudre ce problème?

Cordialement.

[réponse de damien, le 04/10/2010 à 07h03]

Pour être honnête, je t'avouerais que je ne m'étais jamais penché sur le sujet de la date/heure d'envoi. Je viens donc de faire quelques tests et contrairement à ce que je pensais au premier abord, à savoir que l'horodatage du message devait être assuré par le serveur SMTP, il n'en est rien : les mails sont horodatés par le PC depuis lequel ils sont émis. Je trouve ça surprenant car du coup on peut "tricher" mais bon, c'est comme ça...

Donc une question simple se pose : ton PC est-il bien à l'heure ?! sourire


Réaction n°58 

par   malko06 le 27/09/2010 @ 16:57

Bonjour,

Existe-t-il ou va-t-il exister une fonction permettant l'envoi d'une confirmation de lecture (accusé de réception) ?

Sous Unix je crois que c'est avec -Ndsn mais il est déjà utilisé (ahhh la casse sous windows...)

Merci

[réponse de damien, le 28/09/2010 à 07h03]

La version actuelle ne permet pas de configurer la demande d'accuser de réception. Mais étant donné que le composant que j'utilise permet cette option, cela signifie donc que l'ajout de la fonctionnalité à la prochaine version de SendMail est tout à fait envisageable.

Je me l'ajoute à la TODO list. cligne


Réaction n°57 

par Lsda26 le 22/07/2010 @ 16:36

Pas de problème! Je vais chercher de mon coté.

Par contre est-ce que sendmail.exe+MV50xxxx.dll (placés dans le même répertoire) peut fonctionner tous seul ou bien est-on obligé de l'installer.

Car sur mon poste où j'ai installé sendmail, mon batch fonctionne bien et sur le poste ou le batch devra tourner et ou je n'ai pas fait l'installation (juste un répertoire avec sendmail.exe+.dll+le batch, il ne fonctionne pas.

[réponse de damien, le 23/07/2010 à 06h46]

Pour que l'appli fonctionne sans l'avoir installée, il te faut les fichiers suivants :

  • sendmail.exe
  • msvbvm50.dll
  • vb5fr.dll
  • mscomctl.ocx : à déclarer par un regsvr32 mscomctl.ocx
  • ossmtp.dll : à déclarer par un regsvr32 ossmtp.dll

Tu peux au choix laisser les DLL/OCX dans le dossier de l'exécutable ou les placer dans System32 (ou SysWOW64 sous Vista/Win7 en 64 bits). Personnellement, je préfère les mettre dans System32 mais bon, chacun fait comme il veut...


Réaction n°56 

par Lsda26 le 22/07/2010 @ 15:17

Ca y est c'est nickel, ca fonctionne bien!
J'avais oublier de copier les 2 dernières lignes:
:ajoutefic
 set listefichiers=%listefichiers%,%fic%

Évidemment ça fonctionne mieux avec! sourire
J'utilisais la commande suivant pour copier les fichiers à envoyer dans un autre répertoire:
for /f "tokens=1-3 delims=/ " %%a in ('date/t') do set MMDDYY=%%b-%%a-%%c
xcopy %source%*.ba2 %dest% /D:%MMDDYY% /y

Tout fonctionne nickel, mais est-ce possible d'extraire la liste des fichiers  à mettre en pièce jointe d'un répertoire contenant d'autre fichier, de dates différentes, en utilisant la commande dir?
du genre dir /T:W *.ba2 | find %date%

Ca pourrait eviter de copier dans un autre répertoire les fichiers "du jour" à envoyer

[réponse de damien, le 22/07/2010 à 16h18]

Oui, c'est très certainement possible mais bon, je suis au taf là et je n'ai pas trop le temps de faire des recherches...


Réaction n°55 

par Lsda26 le 22/07/2010 @ 14:39

merci pour ton aide!

Apparemment, quand j'execute ton script, il me dit:
"Le système ne peut pas trouver le nom de fichier de commandes -ajoutefic"

j'étais partis sur un script bien tordu qui fonctionne pas evidement!!!

[réponse de damien, le 22/07/2010 à 14h47]

Je viens de faire un copier/coller du code dans un fichier .bat et ça fonctionne nickel sous Windows XP SP3... pas ma faute

T'es sûr que tu n'as pas foiré la manip ?

[réponse de damien, le 22/07/2010 à 14h54]

Idem sous Windows7, ça fonctionne sans erreur.