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

Réactions à cet article

Réaction n°96 

par Laurent le 04/03/2014 @ 15:15

Bonjour,

Tout d'abord encore bravo pour cet outil vraiment pratique.
Je rencontre un soucis dans l'utilisation de Sendmail en batch planifié sur un serveur Windows 2008 R2 64 bits.
Le même batch appelle plusieurs fois sendmail pour envoyer 5 ou 6 fichiers à différents utilisateurs.... En lancement manuel, le batch fonctionne sans problème et les différents appels de Sendmail se font bien.
En lancement par tache planifiée, seul le 1er sendmail se fait (le mail est envoyé) mais visiblement le programme ne "rend pas la main". On voit clairement le processus bloqué en gestionnaire de taches, et donc le batch ne se continue pas.
En tuant le processus le batch continue jusqu'au prochain Sendmail et au prochain blocage.

Auriez-vous une explication, une piste à suivre, qui ferait que le processus Sendmail*32 ne se termine pas en appel planifié ?

Je précise que c'est un appel planifié administrateur.

Bien cordialement.

[réponse de damien, le 04/03/2014 à 15h37]

As-tu ajouté le paramètre /l (L minuscule) ? Il permet de rediriger le récapitulatif de l'opération dans le fichier de log au lieu de l'afficher dans une boite de dialogue...
D'autre part, s'il s'agit du même mail adressé à plusieurs personnes, plutôt que de lancer SendMail autant de fois que tu as de destinataires tu peux le faire en 1 seul envoi en séparant les adresses par une virgule. L'option /nde permet de définir le nombre de destinataires par mail. Au final, si tu utilises /nde:1, il enverra autant de mails que d'adresses spécifiées mais tu n'auras invoqué SendMail qu'une seule fois. Ce qui permet d'alléger ton batch d'appel.

Réaction n°95 

par SnIpEr le 10/01/2014 @ 08:34

Bonjour, 
J'ai cette erreur qui s'affiche lorsque je veux envoyer un mail :
error 12530 : Must issue a STARTTLS command first. po3sm3365971wjc3 - gsmtp
J(utiliser une adresse gmail :
serveur smtp : smtp.gmail.comPort 587.Authentification LoginUsername : Adresse mail gmail.Password : MDP gmail

[réponse de damien, le 10/01/2014 à 09h28]

Ce qui est tout à fait normal dans la mesure où mon appli utilise un composant (OSSMTP.ocx) qui ne prend pas en charge les connexions sécurisées (SSL/TLS). J'ai contacté son auteur pour lui poser des questions quant à l'utilisation de sa dernière version avec VB5 car je ne parviens pas à le faire fonctionner mais il ne me répond pas.
Peut-être ré-écrirais-je cette appli dans un langage plus moderne (offrant plus de possibilités) mais j'ai d'autres projets à traiter en priorité...
Désolé pour le désagrément mais je n'ai pas de solution à t'apporter. pas ma faute

Réaction n°94 

par   SnIpEr le 09/01/2014 @ 14:17

Bonjour,
J'aimerai utiliser SendMail pour faire un envoi périodique de mail par exemple tout les jours à 00h, du coup j'ai créé un fichier .bat que j'éxécute périodiquement.
Mon problème est comment paramètrer les informations SMTP et les paramètres d’authentification du compte mail?
Si je les paramètre via l'interface graphique va-t-il me les garder quand je vais simplement marquer mon adresse mail mon corps de message et mon message dans ma ligne de commande?
Merci pour votre aide.

[réponse de damien, le 10/01/2014 à 09h30]

Les paramètres SMTP sont effectivement à renseigner via l'interface graphique mais ils sont utilisés AUSSI par la version ligne de commande.


Réaction n°93 

par raplapente le 22/12/2013 @ 23:31

Bonsoir,En ligne de commande, sauf erreur, on ne peut pas entrer le user name et le password pour l'authentification SMTP. Il faut entrer ces infos dans l'IHM n'est ce pas ?P.S. question surement bête mais c'est quoi la différence avec SENDMAIL et SENDMAIL version portable : à quoi sa sert la version portable ?En tout cas merci car j'arrive à faire ce que je veux avec.

[réponse de damien, le 23/12/2013 à 16h25]

Il n'est effectivement pas possible de spécifier les informations de compte SMTP par la ligne de commande. Ces informations sont à paramétrer via l'appli en mode GUI (interface graphique).

Pour ce qui est des différences entre la version installeur et les versions portables, il n'y en a aucune au niveau de l'exécutable : ce sont rigoureusement les mêmes. Ce qui change c'est uniquement le fait que dans un cas l'appli est packagée avec un installeur (qui se charge d'installer les composants ActiveX dépendants et le module de mise à jour DipisoftUpdate optionnel) ; les versions portables contiennent le minimum nécessaire...


Réaction n°92 

par Andre le 18/11/2013 @ 22:52

Hello,

J'ai utilisé Sendmail v2.2 pour envoyer quelques mails automatiquement. Super la fonction pour ajouter une pièce jointe !

Toutefois, j'ai calé sur les caractères accentués dans l'objet.

J'ai généré un fichier sous Excel puis copié par CTRL+C / CTRL+V le contenu dans Notepad et sauvé le fichier avec une extension .BAT (300 lignes avec la commande Sendmail).

En déclenchant le fichier .BAT, l'objet dans le message reçu est :

Conf?rence -d?cod'image-

Alors que ma commande, lisible correctement dans Notepad était :

sendmail /a:"adresse_email_A" /o:"Conférence -décod'image-"  /chf:"Invitation.html" /pj:"conferenceDECODimage-27nov2013final.pdf" /de:"adresse_email_DE" /r /l

Le plus frustrant est qu'en faisant des copier/coller depuis Excel directement dans une fenêtre de commande, cela fonctionne.

Une idée du mécanisme diabolique derrière ceci et de la manière de le résoudre ?

D'avance merci

André

[réponse de damien, le 19/11/2013 à 00h14]

L'encodage des accents est différent entre le "monde" Windows et l'interpréteur de commandes MS-DOS.

Quand tu prépares un fichier .bat (contenant par exemple : @echo off && echo àéïôù && pause) sous Windows avec un éditeur de texte lambda, les accents seront encodés à la sauce Windows ; en exécutant le script, les accents n'auront pas le rendu attendu. Maintenant, copie ce texte dans le presse-papiers, colle-le dans une fenêtre d'invite de commandes et presse Enter pour l'exécuter... les accents seront corrects. Ceci est dû au fait que lors du collage l'interpréteur transpose les accents à la sauce MS-DOS.

Si je ne m'abuse, c'est la même chose que tu constates avec SendMail, non ? Donc il ne s'agit pas d'un bug de mon soft...

Pour générer tes fichiers batchs avec des accents "corrects" à l'exécution, tu peux utiliser Notepad++ et ajuster l'encodage via le menu Encoding>Character set>Western European>OEM 850. D'autres éditeurs proposent des fonctions équivalentes.

Je vais voir si je peux ajouter (pour la prochaine version) un paramètre qui, ajouté à la ligne de commandes, permettrait de ré-encoder correctement les caractères.


Réaction n°91 

par   Andre le 15/11/2013 @ 16:40

Hello,

Je suis équipé d'une machine Windows 8 64 bits et j'ai installé SendMail 2.2

Dans la version GUI, le programme tourne en rond, CPU utilisé de 18% indéfiniment.

Lorsque je désactive l'authentification, j'ai le message normal "Relay Denied", mais lorsque je l'active le programme bug.

Depuis ma machine, j'ai une réponse à la commande

Telnet smtprelaypool.ispgateway.de 465

Ce qui exclu un problème de firewall sur mon PC.

Que faire ?

Merci

[réponse de damien, le 16/11/2013 à 10h13]

Désolé du retard de ma réponse, je n'ai pas eu le temps de m'en occuper hier soir.

Ton problème n'en est pas un en fait : l'utilisation du port 465 (utilisant SSL par conséquent) n'est pas prise en charge par la version du composant que j'utilise pour envoyer les mails.

Je vais voir si la dernière version le prend en charge et si son utilisation est toujours gratuite pour les développeurs qui l'intègrent dans des produits non commerciaux.

A suivre, mais dans l'immédiat mon SendMail n'est utilisable qu'en mode non-sécurisé.


Réaction n°90 

par   FrancoisBERNARD le 26/09/2013 @ 09:07

Bonjour,

Je réitère mes remerciements pour les supers softs que sont lanalertcenter et
sendmail.
J'ai une question concernant sendmail : je voudrai envoyer une page html
contenant une image. Comment faire ?

La page html part et est reçue correctement mais les image sont manquantes.

François BERNARD

[réponse de damien, le 26/09/2013 à 11h03]

Il suffit d'ajouter l'image comme dans n'importe quelle page html via la balise <img src=... /> et la mettre en pièce jointe. Ça c'est si tu veux que l'image soit intégrée au message (qui "pèsera" donc plus lourd). A l'inverse tu peux aussi faire référence à une image accessible sur le net, un intranet ou un partage, dans ce cas il n'y a pas à la mettre en pièce jointe et le message n'en sera que plus léger.

Un petit exemple en ligne de commande :

sendmail.exe /a:test@test.com /o:"message html contenant des images" /ch:"<html><body style='background-image:url(http://www.dipisoft.com/img/fond3.jpg);background-repeat:repeat;'>Bonjour,<br /><img src='youpi.gif' /><br />Au revoir !</body></html>" /pj:"c:tempimagesyoupi.gif"

Le message contient une image de fond (fond3.jpg, chargée depuis mon site et répétée verticalement/horizontalement) et une seconde image directement insérée dans le corps du mail, celle-ci étant directement intégrée dans le mail par l'ajout explicite en pièce jointe.

Le résultat peut varier en fonction du client de messagerie utilisée. Au boulot, ça fonctionne nickel sous Outlook 2010. Je ne peux pas essayer sous Thunderbird pour l'instant.


Réaction n°89 

par Lacsap le 24/09/2013 @ 10:56

Bonjour,

version 2.1.3 installée sur windows 7 64 bits

 1er lancement en mode graphique en échec avec ce message d'erreur...

Paramètre 'First,' inconnu... L'outil va être fermé

Merci pour une aide

[réponse de damien, le 24/09/2013 à 19h46]

Bizarre... déconcerté Tu lances l'appli via le raccourci créé par l'installeur ou un que tu as créé toi-même ? Tu peux regarder dans la fenêtre des propriétés du raccourci et me dire ce qu'il y a dans le champ "Cible" ?


Réaction n°88 

par   NOUKY le 06/06/2013 @ 11:58

Bonjour,

C'est un très bel utilitaire, merci !
J'ai une question car j'arrive à utiliser le mode interface sans soucis (je configure mon smtp dans le menu configuration) mais je n'arrive pas à le faire en ligne de commande. J'ai bien vu dans les messages du forum qu'il fallait modifier l'information du smtp dans le fichier sendmail.ini mais je ne le trouve nul part... où se cache-t-il ?
(j'ai regardé dans le dossier où se situe le .exe et dans le dossier AppData)

Pour information, je suis sous Windows 7 et j'utilise la v2.1.3

Pouvez-vous m'aider ?
Merci d'avance

[réponse de damien, le 06/06/2013 à 11h57]

En configurant ton SMTP via l'appli en "mode interface", ça modifie le fichier .ini qui est aussi utilisé par l'appli en ligne de commande... tu ne devrais donc pas rencontrer de problème normalement.

Le fichier de configuration se trouve dans le répertoire de l'exécutable SAUF sur les versions récentes de Windows où l'UAC fait une redirection vers le VirtualStore (l'utilisateur, même admin, n'ayant pas les droits d'écriture dans l'arbo "Program Files").

Plus concrètement, c'est ici que ça se passe : %AppData%\..\Local\VirtualStore\Program Files\Dipisoft\SendMail (remplace "Program Files" par "Program Files (x86)" si c'est du 64 bits).


Réaction n°87 

par   malko06 le 16/05/2013 @ 10:38

Bonjour,Très satisfait des évolutions depuis l'ancienne 1.8, merci ;)
Est-il possible cependant de pouvoir mettre une adresse pour les accusés de réception et/ou lecture (option /ar /al ou /arl) comme pour l'option de l'expéditeur (/de) ?

Cordialement

[réponse de damien, le 16/05/2013 à 11h28]

Non ce n'est pas possible : ces options correspondent à des attributs de l'objet message qui n'acceptent pas d'adresse mail associée. Le client de messagerie du destinataire retourne les accusés de réception (s'il gère cette fonctionnalité et que l'utilisateur ne l'a pas désactivée) à l'expéditeur. Je n'ai pas testé mais je suis quasi sûr que si une adresse de réponse a été spécifiée elle ne sera pas prise en compte dans ce cas.

Par contre, je vois que dans la version ligne de commande il n'y a pas de commutateur pour spécifier une adresse de réponse... il faudra que je l'ajoute à l'occasion. Oups, erreur de ma part : c'est l'option /rep: qui est déjà présente.