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

Réactions à cet article

Réaction n°110 

par CV le 13/12/2015 @ 13:16
Bonjour

j'essaie de joindre 2 fichiers à un email via mailsend.exeSauf que l'application ne reconnait pas mon code et envoie avec aucune piece jointepouvez vous m'aider ?Ci dessous mon code VBAmerci d'avance

C.


Option Explicit
Public Const SW_SHOWHIDE = 0Public Const SW_SHOW = 1Public Const SW_SHOWMAXIMIZED = 3
Public Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _
  (ByVal hwnd As Long, _
   ByVal lpOperation As String, _
   ByVal lpFile As String, _
   ByVal lpParameters As String, _
   ByVal lpDirectory As String, _
   ByVal nShowCmd As Long) As Long

Function EnvoiMailAvecPieceJointe(expediteur As String, _
                                  Destinataire As String, _
                                  sujet As String, _
                                  COMMENTAIRE As Variant, _
                                  Chemin As String, _
                                  PieceJointe1 As String, _
                                  PieceJointe2 As String) As Long
Dim Argu As String
Argu = expediteur & " " & Destinataire & " -sub """ & sujet & """ -a """ & Chemin & PieceJointe1 & Chemin & PieceJointe2 & """" & " -d tsc.ch -smtp 10.0.0.31 -M """ & COMMENTAIRE & """"
EnvoiMailAvecPieceJointe = ShellExecute(0, "open", ActiveWorkbook.Path & "\mailsend.exe", _
                        Argu, _
                        Chemin, SW_SHOWHIDE)

[réponse de damien, le 13/12/2015 à 13h23]

La syntaxe et le nom de l'exécutable que tu cites dans ton message ne correspondent pas à mon logiciel SendMail... pas ma faute

Donc soit tu fais appel au support de l'outil MailSend que je ne connais pas, soit tu remplaces MailSend par SendMail et là je pourrai t'aider. cligne


Réaction n°109 

par dav le 07/10/2015 @ 21:03

pas de soucis ton tool est déjà très bien :)

[réponse de damien, le 08/10/2015 à 07h21]

Merci... mais tu verras qu'il peut être encore mieux. cligne


Réaction n°108 

par dav le 07/10/2015 @ 20:42

Re,
Merci pour la réponse rapide.
J'utilise un petit utilitaire appelé supermacro (je le conseille il est super).
Du coup oui faudra que je passe par une étape supplémentaire pour copier/coller l'objet dans la ligne de commande de sendmail. Ca va alourdir mon script mais bon je vais voir comment gérer ça.
Bonne soirée

[réponse de damien, le 07/10/2015 à 20h56]

J'ai d'autres évolutions prévues à court/moyen terme sur SendMail, je verrai si je peux ajouter ça mais ce n'est pas pour tout de suite... mieux vaut que tu traites ça de ton côté en attendant. Désolé. pas ma faute


Réaction n°107 

par dav le 07/10/2015 @ 18:43

Bonjour,
Super outil merci!
Peut-on mettre l'objet sous forme de fichier texte également? Si oui comment peut on faire svp?
Ce serait pour utiliser avec une macro car j'envoie des mails avec différents objets contenus dans des fichiers textes.
Merci à vous

[réponse de damien, le 07/10/2015 à 20h07]

Non, l'appli n'accepte pas la récupération de l'objet dans un fichier texte.

Mais un petit script ou une macro peut très facilement te permettre de pallier à ce manque. Avec quel outil utilises-tu SendMail ? Word ? Excel ? Autre chose ?


Réaction n°106 

par malko le 01/10/2015 @ 09:57

Re,Il s'agit du SMTP de Orange Business (smtp.auth.orange-business.com port 587)D'après mes recherches tout semblait bien fonctionner il y a quelques temps. Je sais aussi qu'ils ont forcé l'authentification progressivement (étalé sur plusieurs semaines/mois) selon les zones géographiques. Auraient-ils changé également une interprétation des valeurs ? peut être...
Si tu souhaites utiliser ce SMTP je peux te créer provisoirement un identifiant pour voir si tu as le même résultat. En tout cas merci de ta diligence pour tes réponses.

[réponse de damien, le 01/10/2015 à 10h41]

En fait, comme je te l'ai écrit dans mon dernier mail (celui dans lequel je te donne le lien vers la version beta/debug), j'ai découvert et corrigé un bug dans le traitement de l'horodatage. Le mois de septembre était sur 4 caractères (Sept) au lieu de 3 (Sep), le problème venait peut-être de là... Quoi qu'il en soit, peux-tu tester cette version et me faire un retour ?

Oui, je veux bien un compte provisoire pour tester ce soir à la maison.

Sinon, j'ai vu que le développeur du composant que j'utilise (OSSMTP d'Ostrosoft) avait récemment publié une nouvelle version permettant la prise en charge du mode sécurisé (SSL). La prochaine version de SendMail devrait donc répercuter cet enrichissement, si mes tests sont concluants.


Réaction n°105 

par malko le 30/09/2015 @ 15:45

Suite problème de Date émission :C'est bien là où je ne comprends pas...Il est utilisé le même SMTP en manuel et avec SendMail. Dans le détail du message, rien ne fait référence à une date similaire à celle observée pour l'émission.Et en manuel via un autre client de messagerie (au cas où) un mail envoyé ne mentionne pas de date erronée.
C'est surtout que je me demande où le client de messagerie va chercher cette date ...
Aurais-je loupé quelque chose ?

[réponse de damien, le 30/09/2015 à 19h10]

Est-ce qu'il s'agit d'un serveur SMTP interne à ton réseau d'entreprise ? Dans le cas contraire, est-il envisageable de m'y donner accès pour tester ? Parce que là, ça va être compliqué pour essayer de comprendre ce qui coince.

Je viens de vérifier dans le code de l'appli et un traitement est effectué pour horodater le message : je commence par récupérer dans le registre les informations sur la TimeZone (contenu de la valeur ActiveBias de la clé HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation). C'est utilisé pour déterminer le décalage horaire par rapport à GMT. Il en ressort une chaine au format "Wed, 30 Sep 2015 08:00:50 +1100"...

Je vais essayer de te préparer rapidement un binaire qui va tracer ce traitement, je te recontacte dès que c'est prêt.


Réaction n°104 

par malko le 28/09/2015 @ 17:17

Bonjour,L'outil fonctionne très bien mis à part un petit détail qui nous a été rapporté :La date d'envoi dans les détails du message est "farfelue" à savoir :Soit au 01/01/1970 soit au mois de janvier (le numéro de jour est le bon c'est déjà ça sifflote  ) avec un horaire H-1. Aujourd'hui 28/09/2015 17h05 envoi d'un mail.Réception quelques secondes plus tard avec une date au 28/01/2015 à 16h05...

Une idée ?

[réponse de damien, le 29/09/2015 à 20h30]

Le problème a déjà été signalé mais tout est normal du côté de l'appli.

Regarde du côté du serveur SMTP... c'est de là que venait le souci pour ceux qui m'ont déjà contacté sur le sujet. Fais des tests avec un autre serveur si tu peux (celui de ton FAI par exemple).

Tu peux aussi jeter un coup d’œil au source d'un des mails (émis par SendMail) pour "tracer" les horaires de traitement de chaque relai.


Réaction n°103 

par Herve le 05/08/2015 @ 11:29

Bonjour,

 Bravo pour cet utilitaire vraiment très pratique et très léger qui rend vraiment service.
  Je connais votre utilitaire depuis 2008 et la version 1.8. j'avais réalisé des tests avec succès. J'ai besoin d'utiliser votre logiciel pour cela je refais des tests ces jours-ci et surprise je n'arrive plus à effectuer des envois de mails. je regarde votre site, je constate que sendmail est passé en 2.2.3 mais même avec la nouvelle version je n'arrive pas à envoyer un mail. voici le test et le message d'erreur:


SendMail :
l'envoi du/des messages d'est terminé anormalement : - Error 12550:5.7.1
<christine@aplus-informatique.fr>....Relaying denied.Proper authentification required.

Il me semble pourtant avoir bien paramétré.

Que me conseillez vous ?

Merci de votre réponse

[réponse de damien, le 05/08/2015 à 20h20]

Problème d'authentification visiblement. Es-tu sûr du login/password d'accès au serveur SMTP et que ce dernier accepte les connexions non-sécurisées ?


Réaction n°102 

par Ant01ne le 15/04/2015 @ 12:06

Bonjour, j'ai un souci avec Sendmail 2.2.2.

Sous Windows 7 32 bits, tout marchait à la perfection.

Sous Windows 8.1 (essais d'aujourd'hui, PC changé en mars), j'utilise la même ligne de commande qu'auparavant mais Sendmail ne fait pas l'envoi si il y a plusieurs personnes dans le fichier de destinataires. Si il y a juste une personne, c'est bon, ça part.

Voici la ligne de commande

Code :
set FROM=moi@domaine.org
set SUBJECT=Le sujet du mois
set DEST=%CD%destinataires.lst
set TEXT=%CD%texte.html
set PJ1=%CD%fichier1
set PJ2=%CD%fichier2
F:\CLI\SendMail222\sendmail.exe /de:"%FROM%" /a:"fic:%DEST%" /o:"%SUBJECT%" /chf:"%TEXT%" /pj:"%PJ1%,%PJ2%" /nde:1 /en:"Iso-8859-1" /l

Je ne vois pas ce qui peut se produire. Le fichier de destinataire est sous la forme:

Code :
adresse1
adresse2
adresse3

C'est le même que j'utilisais sous Windows 7 (un C/C d'Excel)

[réponse de damien, le 15/04/2015 à 19h48]

J'ai testé sur mon poste W8.1 du boulot et ça a fonctionné sans aucun souci avec 3 destinataires... essaye de lancer manuellement en retirant l'option /l (L minuscule), pour voir...

Ou alors le fichier des destinataires contient des caractères spéciaux qui foutent la zizanie. Tu peux regarder avec un éditeur hexadécimal ou éventuellement me l'envoyer ? N'aie aucune crainte, il sera supprimé une fois le test effectué.


Réaction n°101 

par Flavien le 05/03/2015 @ 11:15

Bonjour,

Tout d'abord merci pour ce très bon utilitaire. Par contre, en tâche planifiée avec un .bat avec plusieurs envois différents, SendMail exécute uniquement le premier envoi et reste bloqué. Malgré l'utilisation de la commande /l.

Avez-vous une solution?

Par avance merci.

[réponse de damien, le 05/03/2015 à 19h10]

Tu peux m'envoyer ton fichier .bat et un export de ta tâche planifiée (ça produit un .xml, de mémoire), le tout dans un fichier compressé avec 7-zip sinon ce sera filtré par l'antispam de ma messagerie ?

Merci d'avance.