SilSendMail()

Définition :
La fonction de paramétrage SilSendMail mise en place dans le noyau permet de déclencher un envoi de mail en lui fournissant toutes les informations nécessaires : Configuration du serveur d’envoi, configuration du message (les destinataires, l’objet, le corp du message et les pièces jointes).

 

Syntaxe :
SilSendMail(p1,p2,p3,p4,p5,p6;p7,p8)

image-20240103-085127.png
  • p1 : Contient les informations de connexion au serveur d’envoi de mail et de configuration du message à envoyer.
    Les paramètres de configuration pour le fonctionnement de l’envoi de mail sont fournis à la fonction sous la forme d’une chaîne de caractères formatée comme le contenu d’un fichier ini.

Pour simplifier et centraliser le passage de ces informations à la fonction, il est possible de renseigner ce paramètre de la fonction avec la chaîne FICHIER={rep+nom du fichier} pour spécifier que la configuration de l’envoi de mail sera stockée dans un fichier texte localisé.

La configuration de l’envoi du message est donc au format d’un fichier ini qui comporte 2 sections :

Une section [Server] qui contiendra la configuration du serveur d’envoi de mail

Une section [Message] qui comportera des options pour le message lui-même

 

La section [server] peut contenir les informations suivantes :

Host= nom ou adresse ip du serveur d’envoi de mail

Port= numéro de port à utiliser pour se connecter au serveur

User= identificateur pour se connecter au serveur

Password= mot de passe de l’identificateur

UseSSL=0 ou 1 : indique l’utilisation d’une authentification sécurisée ou non

Mode= mode de connexion au serveur :
o ANONYME : connexion sans identifiant
o STANDARD : nécessite un nom d’identifiant
o SASL : utilise un protocole de connexion spécifique comme pour la connexion à un seveur exchange par exemple. Si un même serveur d’envoi est utilisé pour l’envoi de messages différents avec des paramètres différents pour chaque message, il est également possible de centraliser la configuration d’un serveur d’envoi dans un message à part. Il suffit alors d’indiquer l’utilisation de ce fichier dans la section [Server] en précisant :

FICHIER={rep+nom du fichier de configuration du serveur d’envoi}.

La section [Message] peut contenir les informations suivantes :

BodyContentType= défini le type de contenu du corps du message. Pour un message qui peut contenir du texte brut ou du texte formaté en html, il est conseillé de positionner ce paramètre à la valeur « text/html »

Priority= définit le niveau de priorité du message. Il peut contenir les valeurs suivantes : NORMAL, HIGHT, HIGHEST, LOW, LOWEST

  • p2 : Adresse mail de l’émetteur. Le nom de l’émetteur du mail peut être une adresse mail seule, un nom ou un nom composé avec l’adresse mail entre les lignes inférieures et supérieures comme par exemple :
    Nom de l’émetteur emetteur@adresse.mail

  • p3: Les adresses mails des destinataires principaux. Le paramètre des adresses mails peut contenir plusieurs adresses séparées par un point virgule. Chaque adresse mail peut être formatée avec un nom et une adresse mail entre les signes inférieur et supérieur comme ci-dessus.

  • p4 : L’objet du mail. L’objet du message est une chaîne de caractères qui sera utilisée pour apparaître comme titre du message.

  • p5 : Le corps du message. Le paramètre pour le corps du message est une chaîne de caractères, elle peut contenir :

    • Le corps du message directement.

    • Un lien vers un fichier qui contiendra le corps du message avec la syntaxe FICHIER={rep + nom du fichier }

Le corps du message directement inséré dans la chaîne de caractères ou dans le fichier lié peut être au format texte brut ou au format html avec les balises du langage HTML.

Si le fichier du corps du message au format html contient des liens vers des fichiers images accessibles par l’ERP SILOG (dans un sous-dossier par exemple), les images sont insérées dans le texte du message pour apparaître ensuite dans le texte du message avec le logiciel de lecture des messages utilisés par les destinataires du mail.

Tags dans le corps du message
Le corps du message peut également contenir des TAGS sous la forme [@formule] ou la formule peut être une varaible de l’application ou encore l’appel d’une fonction de l’ERP. Ces tags sont ensuite interprétés pour être remplacés dans le corps du message par la valeur en cours dans l’application mère.

Il est ainsi possible d’ajouter le nom de l’utilisateur ERP en signature du mail avec le tag [@g_c_user$] ou le numéro de la commande avec le tag [@COME.NoCommande].

  • p6 : Les adresses mails des destinataires en copie. Comme pour les adresses mails des destinataires principaux, cette liste peut contenir plusieurs destinataires séparés par un point virgule. Le formatage des noms et adresses des destinataires est basé sur le même principe.

  • p7 : Les adresses mails des destinataires en copie cachée. Comme pour les adresses mails des destinataires principaux, cette liste peut contenir plusieurs destinataires séparés par un point virgule. Le formatage des noms et adresses des destinataires est basé sur le même principe.

  • p8 : Les fichiers à mettre en pièces jointes du mail. Ce paramètres peut contenir une liste de nom de fichiers séparés par un point virgule. Les noms de fichiers peuvent contenir un chemin d’accès complet ou relatif par rapport au dossier d’exécution de l’ERP.
    Chaque fichier est ajouté comme pièce jointe du mail.

 

  • Code d'erreur :
    Les différentes fonctions utilisées pour envoyer des mails utilisent les codes suivants pour indiquer un dysfonctionnement ou un manque d’information pour effectuer l’opération :

11201 : aucun message à envoyer
11202 : le nom ou l’adresse du serveur n’est pas renseigné
11203 : le nom de l’identifiant est vide
11204 : le numéro de port est incorrect ou vide
11205 : le nom de l’émetteur est vide
11206 : aucun destinataire n’a été renseigné pour le message
11207 : une exception a été levée pendant l’envoi du mail
11208 : erreur de connexion au serveur d’envoi de mail
11209 : un fichier à ajouter en pièces jointes n’a pas été trouvé
11210 : le mode de connexion au serveur passé en paramètre est inconnu
11211 : la définition de priorité du message passé en paramètre est inconnue
11212 : l’application d’envoi de message n’a pas été chargée
11213 : le KCode d’autorisation des fonctions d’envoi de mails n’a pas été trouvé.

 

Exemple :

SilSendMail("FICHIER=C:\Temp\Serveur.ini", "Hughug.dub@silog.fr", "dupont dupont dupont.dupont@silog.fr", "Validation commande", "Votre commande @COME.NoCommande a bien été prise en compte", "", "", "C:\TEMP\AR03_0108.pdf")

 

Exemple d'un fichier ini :

image-20240103-090330.png

 

Donnez votre avis sur la Base de connaissance Silog ici ou contactez-nous directement par mail sur confluence@silog.fr