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

Réactions à cet article

Réaction n°158 

par Philippe le 27/03/2023 @ 16:20

Bonjour Damien,

Merci pour cet outil très util.

Savez-vous s'il y a un moyen de contourner l'erreur lors de l'activation d'un VLAN ?

Cordialement.

[réponse de damien, le 27/03/2023 à 16h51]

Quelle erreur ? Tu peux m'en dire plus stp ?


Réaction n°157 

par malko06 le 30/11/2021 @ 11:41

Bonjour, en ligne de commande sendmail est-il limité au nombre de caractères d'une commande (8191 caractères pour du W7 à W10) ? En effet je souhaiterais mettre par ligne de commande plusieurs pièces jointes de faible poids mais avec un "nom à rallonge" (dossier+nom).

[réponse de damien, le 30/11/2021 à 17h41]

L'appli prend en compte ce que l'invite de commande lui fournit. Je n'ai aucune idée de la taille limite.

Mais rien ne t'empêche de te positionner dans le dossier qui contient les fichiers à joindre et d'invoquer SendMail depuis cet emplacement... ainsi tu pourras spécifier uniquement le nom des fichiers sans le chemin complet.

Le mieux étant encore de tester, c'est souvent bien plus rapide que de longs discours.


Réaction n°156 

par bpapon60 le 28/07/2021 @ 20:22

Bonsoir,

serveur : smtp.gmail.com

utiliser ssl : oui

port : 465

authentification : login

Username : l'email complet avec @gmail.com

Password : le mot de passe

Merci

[réponse de damien, le 29/07/2021 à 07h25]

OK tout est conforme, j'utilise la même conf (mais pas sur XP cligne).

Edit : par contre il ne faut pas oublier d'activer l'option "Accès moins sécurisé des applications" (rubrique "Sécurité" du compte Google associé), sinon ça ne fonctionnera pas. Mais en principe Google envoie une alerte de sécurité quand on tente d'utiliser le SMTP avec un compte sur lequel l'option est désactivée.


Réaction n°155 

par bpapon60 le 28/07/2021 @ 17:53

Bonjour,

Désolé de vous embêter avec une 'vieillerie' mais j'ai un pb avec sendmail sous windows xp avec un compte gmail. Il me retourne l'erreur 13973.

Le même paramétrage sur le même poste avec Thunderbird fonctionne.

La même config de sendmail sous windows 10 passe sans pb.

Il y a peut-être un pb de gestion du ssl sous xp car si j'utilise un email sans ssl cela passe.

ps: c'est normal la taille énorme des caractères sur ce message ?

[réponse de damien, le 28/07/2021 à 20h12]

Je pense effectivement que le souci est lié à XP. Enfin plutôt une incompatibilité entre le composant OSSMTP, SSL et XP car sinon ça ne passerait pas avec Thunderbird et ça ne fonctionnerait pas avec mon appli sans SSL.

Peux-tu quand même me dire comment tu as configuré ta connexion SMTP (serveur, ssl, port, authentification, domaine du username) ?

PS.: pour la taille des caractères de l'interface, c'est comme ça depuis la dernière mise à jour du CMS... et franchement je n'ai pas le temps de creuser le sujet.


Réaction n°154 

par paya le 11/11/2020 @ 19:15

Problème avec les espaces

Bonjour 

j utilise open++ un très vieux programme de gestion du click droit

l'ajout d'un envoi avec les parametres suivants fonctionne:

5.Type=0 5.AssociateWith=3 5.Title="paya07" 5.Program="C:\additions\SendMail321_portable\SendMail.exe" 5.Arguments="/conf:"paya07" /a:"test@gmail.com" /o:"chirurgie" /ct:"chirurgie"  /pj:%FileNames%" 5.WorkingDir="%FileDir%" 5.Icon="%OpenXXDll%,-106" 5.FileTypes="*.*"

Sauf avec des noms/chemins contenant des espaces

j'ai le message d erreur 'le bon nomdu fichierpassé en parametre' est introuvable.

j'ai essayé "%FileNames%" ou ""%FileNames%"" > erreur

y a t il une solution ?

ou Y a t il déjà un script simple en reg + bat pour click droit > envoi

cordialement

(w7 pro & gmail)

[réponse de damien, le 11/11/2020 à 20h56]

Même si on peut voir que des double-quotes sont présents en nombre dans les exemples fournis dans la fenêtre "A propos de..." de SendMail, ils ne sont en fait pas nécessaires.

Car l'analyse des paramètres de la ligne de commande est un peu particulière, je dois bien le reconnaître. Même si la valeur d'un paramètre contient des espaces, ils seront pris en compte sans nécessiter un double-quotage, y compris dans les noms de fichiers.

Attention, ceci ne vaut que pour la partie "paramètres" de la ligne de commande (la partie analysée par SendMail) ; si l'exécutable est invoqué depuis un autre dossier et que son chemin contient des espaces ou autres caractères spéciaux, il faudra double-quoter son appel.

Exemples :

  • sendmail.exe /conf:bouygues /a:damien@free.fr /o:test avec piece-jointe /ct:bonjour§§au revoir /pj:D:\Temp\test sendmail\historique sendmail.txt
  • "d:\tests dipisoft\sendmail.exe" /conf:bouygues /a:damien@free.fr /o:test avec pieces-jointes /ct:bonjour§§au revoir /pj:D:\Temp\test sendmail\historique sendmail.txt,d:\mes apps\divers\sendmail portable.zip

Je ne connais pas l'outil Open++ que tu utilises alors je ne m'avancerais pas à te proposer une version corrigée de ta configuration. Ne sachant pas comment il fonctionne, il est possible que lui ait besoin de double-quotes pour certains de ses paramètres.


Réaction n°153 

par bpapon60 le 12/10/2020 @ 14:36

Bonjour,

Merci pour la réponse, toujours aussi rapide

Pour retrouver les emails envoyés dans la boîte d'envoi cela fonctionne avec smtp.googlemail.com mais pas avec smtp.free.fr.

C'est donc bien apparemment une fonctionnalité au niveau du fournisseur mais je n'ai pas trouvé de paramètre particulier à changer sur les webmail respectifs.

A tester chez orange, sfr, microsoft, ...

Sinon bien sûr pour avoir une trace des envois on peut se mettre soit même en copy !

J'avais demandé il y a qq temps comment utiliser le smtp de gmail et il faut en fait autoriser l'utilisation de programme 'moins sécurisé' dans le compte google mais le pb c'est que Mr Google désactive la coche quand bon lui semble et du coût on a droit à un email Alerte de sécurité.

Merci encore.

[réponse de damien, le 12/10/2020 à 19h53]

Je confirme que Google le fait, effectivement : lorsque l'on utilise leur SMTP pour envoyer un mail depuis un outil tiers (peu importe lequel), on retrouve une copie des messages envoyés dans le dossier correspondant du compte utilisé.

Oui, je me souviens très bien de ton précédent message, c'était la réaction n°145. Dans ma réponse je détaillais la manip pour activer le paramètre de Google permettant d'utiliser le SMTP pour un compte.

Pour ma part, le réglage n'a jamais été désactivé par Google à mon insu. Il faut juste faire attention à ne pas valider la proposition de correction du problème "Accès tiers" de la rubrique "Check-up Sécurité".


Réaction n°152 

par bpapon60 le 12/10/2020 @ 09:55

Bonjour,

Je ne sais pas si les web mails fonctionnent ainsi mais avec un email chez free peut-on retrouver les emails envoyés via sendmail dans la boite des messages envoyés ?

[réponse de damien, le 12/10/2020 à 12h35]

Non, l'appli se contente d'envoyer des mails ; elle n'en place pas une copie dans le dossier des éléments envoyés de la boite associée à l'adresse de l'expéditeur (qui peut ne pas exister, soit dit en passant).

A savoir que c'est techniquement possible à faire du côté des fournisseurs de messagerie, mais je ne pense pas que certains aient mis en œuvre ce genre de traitement.


Réaction n°151 

par Daunas le 08/09/2020 @ 13:14

Bonjour,

Je ne sais pas si c'est de cette façon que l'on peut poser des questions sur ce forum.

Mais j'essaie !

Je viens d'installer SendMail et j'aimerais le lancer via un script.

Voici la ligne de commande : sendmail /conf:"GVG"/a:"t.daunas@gvg.fr" /o:"log" /ct:"Logs de la nuit" /pj: "d:\taches.txt" /de:"gvgauto@gvg.fr" /l

et voici l'erreur dans les logs :

08/09/2020 13:04:14 : L'envoi du/des messages s'est terminé anormalement : Impossible de créer l'objet SMTP...

Je remercie par avance la personne que pourra m'aider

[réponse de damien, le 08/09/2020 à 13h33]

Tu as utilisé la version portable j'imagine ?

Mais as-tu pris connaissance du contenu du fichier "_1. Lisez-moi (version portable).txt" inclus dans l'archive ? Texte également accessible dans l'article où tu as posté, via le lien "Note importante aux utilisateurs des versions portables"... je pense que non.


Réaction n°150 

par Fadieze93250 le 11/05/2020 @ 14:09

Bonjour,

je suis en train de tester la version graphique avec mes identifiants Free.fr et j'ai toujours une erreur qui remonte ?

L'envoi du message s'est terminé anormalement (status : Error 13975: Le message n'a pas pu être envoyé vers le serveur SMTP. Le code erreur de transport était 0x80040217. La réponse du serveur était not available) ...

Paramètres :

Serveur ; smtp.free.fr

SSL : Oui Port : 465

Auth : Login

Username : patrick.chauatrd

Password : *************

Un utilisateur Free a t'il réussi ?

Faut t'il  ajouter la dll OSSMTP.dll où OSSMTP_Plus.dll ?

Merçi de votre retour.

Cordialement

Patrick

[réponse de damien, le 11/05/2020 à 15h02]

Si tu utilises la version "installeur" tu n'as rien à installer de plus.

Si tu utilises la version "portable", dans l'archive il y a un fichier "lisez-moi.txt" à consulter et un fichier .bat à utiliser pour copier les composants nécessaires dans les dossiers du système et déclarer ceux qui ont besoin de l'être.

Personnellement j'utilise mon adresse Free sans aucune erreur comme tu peux le voir dans la capture envoyée par mail.

La faute de saisie dans le Username est juste une faute de frappe faite en déposant ce message ou elle est également présente dans ta configuration ? Cela pourrait expliquer une erreur...

[réponse complémentaire de damien, le 11/05/2020 à 20h11]

Dans l'interface de gestion de ton compte Free, as-tu pensé à activer l'utilisation du SMTP en mode authentifié ?

Et sinon, as-tu testé si ça fonctionnait avec un autre SMTP ? Celui de ton fournisseur d'accès notamment. Histoire d'écarter un problème avec ton compte Free...


Réaction n°149 

par Patrice le 10/12/2019 @ 13:11

Bonjour,

Je teste votre logiciel SendMail en ligne de commande qui fonctionne quand j'envoi qu'un seul fichier joint.

Si je veux envoyer 2 voir 3 fichiers joints, rien ne se passe.

Je pense à une erreur de ma part dans la rédaction de l'argument "/pj:"

/pj:D:\Commun\SEPCOS.xlsm,D:\Commun\LVDS.xls,D:\Commun\SAV.xlsm 

P.S. comment construit on un fichier "NomConfigurationSMTP" pour le passer en argument (/conf:NomConfigurationSMTP)

Merci.

[réponse de damien, le 10/12/2019 à 13h43]

La syntaxe semble pourtant correcte pour l'ajout des pièces-jointes. Tu es sûr que tu n'as pas fait une erreur dans le nom ou le chemin des fichiers ?

A noter que ça fonctionne avec ou sans espaces après les virgules et que le "double-quotage" est facultatif. Si tu l'utilises, il faut double-quoter l'intégralité du contenu du paramètre /pj ; ne pas double-quoter les fichiers séparément. Je viens de refaire quelques tests et je reçois bien les mails avec les fichiers inclus.

Exemples :

  • sendmail.exe /a:"moi@dipisoft.com" /o:"Test Sendmail" /ch:"Veuillez trouver..." /pj:D:\temp\francais.lng,D:\temp\english.lng,D:\temp\italiano.lng /l => OK
  • sendmail.exe /a:"moi@dipisoft.com" /o:"Test Sendmail" /ch:"Veuillez trouver..." /pj:D:\temp\francais.lng, D:\temp\english.lng, D:\temp\italiano.lng /l => OK
  • sendmail.exe /a:"moi@dipisoft.com" /o:"Test Sendmail" /ch:"Veuillez trouver..." /pj:"D:\temp\francais.lng, D:\temp\english.lng, D:\temp\italiano.lng" /l => OK
  • sendmail.exe /a:"moi@dipisoft.com" /o:"Test Sendmail" /ch:"Veuillez trouver..." /pj:"D:\temp\francais.lng", "D:\temp\english.lng", "D:\temp\italiano.lng" /l => KO

La construction d'une configuration SMTP se fait exclusivement via l'interface graphique.