6 La navigation dans le manuel de Kentika est réservée aux utilisateurs identifiés
Envoi d'un email par programmation : SMTP_email
Les envois de email sont presque tous générés par une méthode unique. Seuls certains emails calculés n'utilisent pas cette méthode (exemple : les emails de relance ou de DSI). Il est possible de programmer autant de fonctions d'envoi que nécessaire. Cette méthode peut également être appelée dans le cadre d'un développement web (exemple : un formulaire d'envoi de message rapide à partir d'une liste de personnes).
Grâce à l'utilisation de maquettes, les possibilités de mise en page offertes par cette méthode sont très puissantes. Les liens avec la base de données permettent des traitements contextuels sophistiqués.
Les messages sont stockés systématiquement dans la table des messages. Il sera nécessaire de prévoir d'éliminer des messages envoyés si l'activité est importante afin d'éviter un engorgement inutile de la base de données.
Cette méthode accepte un paramètre constitué de différents éléments séparés par des ;
Le corps du message est séparé des paramètres par un retour à la ligne (ou caractere(13)). Si un paramètre template est spécifié, le corps du message doit être appelé dans la maquette.
SMTP_email (paramètres)
Exemple
Tx:="de:documentation@masociete.com"
Tx:=Tx+";a:Diff=marketing"
Tx:=Tx+";PJ:C:\RapportConcurrence.pdf"
Tx:=Tx+";Objet:Rapport sur la concurrence"
Tx:=Tx+";Mode:B"+Caractere (13)
Tx:=Tx+"Vous trouverez en pièce jointe le rapport évoqué en réunion"
SMTP_email (Tx)
enverra un email à toutes les personnes inscrites sur la liste de diffusion "marketing" avec comme objet "Rapport sur la concurrence", en joignant le fichier "C:\RapportConcurrence.pdf" et dans le corps du message : "Vous trouverez en pièce jointe le rapport évoqué en réunion". Ce message sera ensuite envoyé par le process d'envoi de message en tâche de fond en tenant compte de l'heure d'envoi précisé en paramétrage.
NB : les paramètres peuvent être exprimés en français ou en anglais (voir ci dessous les syntaxes possibles).
Paramètre : de ou from
Valeur Description
Ident Email de l'utilisateur connecté
identifiant valide Recherche si un utilisateur a l'identifiant précisé.
Si oui, prend son adresse email
adresse email Adresse à utiliser comme expéditeur
database Email par défaut spécifié en paramétrage / messagerie
Tient compte du site éventuellement de l'utilisateur connecté
S:$1 Idem ci-dessus pour le site précisé (ici : $1)
Si ce paramètre n'est pas précisé, c'est le email de l'utilisateur connecté qui sera utilisé.
Exemples
Tx:="de:Ident"
Tx:="de:DOC" (utilisateur ayant DOC comme identifiant)
Tx:="de:documentation@masociete.com"
Tx:="de:database"
Tx:="de:S:$1"
Paramètre : Reply ou ReplyTo
Adresse email pour la réponse, si doit être différente de l'adresse de l'expéditeur.
Paramètre : a ou to
NB : plusieurs paramètres "a" peuvent être précisés. Le message sera adressé à tous les destinataires indiqués.
Valeur Description
Record= Email de la fiche précisée dans le numéro d'enregistrement
Diff= Code ou intitulé d'une liste de diffusion (rubrique 94)
Toutes les personnes rattachées à la liste
Select Les destinataires correspondant à la sélection courante affichée
List Les destinataires correspondant à la liste courante affichée
Select/List La sélection courante si des enregistrements sont sélectionnés
La liste courante sinon
adresse email Adresse du destinataire
Peut être exprimée sous la forme : Nom <adresse>
NB : les tables "personne" , "référence" ; "revue" ; "fournisseur" ont une rubrique adresse email par défaut. C'est cette rubrique qui est utilisée prioritairement. Si cette information n'est pas renseignée (ou si la demande s'applique à la table auteur ou encore document), l'application cherche s'il existe une rubrique de type email qui serait renseignée.
Si la sélection comporte des enregistrements de la table "emprunt" ou "ligne commande", l'application cherchera l'adresse email de la personne. Si la sélection comporte des enregistrements de la table "commande", l'aplication cherchera l'adresse email du fournisseur.
Si une adresse email n'est pas trouvée, l'information est simplement ignorée (aucun message d'erreur n'est généré).
Si aucune adresse email n'est indiquée, on veillera à mettre le paramètre "Mode:A" afin de permettre à l'utilisateur d'indiquer quels sont les destinataires.
Exemples
Tx:="a:Record=12301" (utilisateur ayant 12301 comme Record_Num)
Tx:="a:Diff=MARKETING;a:Diff=COMMERCIAL"
Tx:="a:Select/List"
Tx:="a:Monsieur Albert <moncorrespondant@masociete.com>"
Paramètre : BCc ou CCi
Adresse email des personnes à mettre en copie cachée (blind copy).
Utilise la même syntaxe que le paramètre "a" décrit ci-dessus.
Paramètre : Cc
Adresse email des personnes à mettre en copie (copie conforme).
Utilise la même syntaxe que le paramètre "a" décrit ci-dessus.
Paramètre : Records
Valeur Description
nnn Numéro d'enregistrement
Select Les enregistrements correspondant à la sélection courante affichée
List Les enregistrements correspondant à la liste courante affichée
Exemples
Tx:="Records:45603;Records=45703" (enregistrements dont les numéro sont 45603 et 45703)
Tx:="Records:Select" (les enregistrement sélectionnés dans la liste affichée)
Ces enregistrements sont ceux qui figureront dans le corps du message dans le cas où une maquette serait utilisée et que celle-ci contiendrait une boucle sur les enregistrements sélectionnés. Il sera alors possible de boucler sur une table (exemple : !4d=begin;3!) ou sur le tableau contenant ces enregistrements (exemple : !4d=begin;LTNumRecList!)
Paramètre : Template
Ce paramètre doit correspondre soit à une ressource web existante et dont le nom commence par "email_....", soit au code d'une maquette traitement de texte.
NB : dans le cas d'une maquette traitement de texte, cette dernière faisant par défaut l'objet d'une conversion en html (sauf si le paramètre Format:text est présent), il y a des risques de perte au niveau de la présentation. On préfèrera donc une ressource "email_ ..." pour une présentation précise et soignée. Cette dernière peut être utilisée pour générer un corps de message soit en texte soit en html. Pour un message en html, il faut que l'étiquette "<html>" soit présente en début du corps du message, donc dans la ressource.
Paramètre : Format:text ou Encoding:text
Dans le cas d'un email utilisant une maquette traitement de texte, permet d'indiquer que le corps doit être en texte seul et non converti en html.
Paramètre : Objet ou Subject
Objet du message. Si ce paramètre est non précisé, le message sera envoyé sans objet. Il n'y a pas d'interdiction technique à ce sujet mais ceci n'est pas conseillé, pour des raisons évidentes de lisibilité des messages reçus.
Paramètre : Signature:on ou Sig:on
Si ce paramètre est présent, la signature de l'expéditeur est ajoutée au corps du message (la partie située après le retour à la ligne).
Paramètre : PJ
Valeur Description
Path d'un fichier Fichier sur disque
GED ou GEIDE ou EDM Les archives attachées aux enregistrements sélectionnés (records)
Template=Code,TypeSortie,FileName
Permet de faire exécuter une maquette sur la sélection d'enregistrements et de l'envoyer en pièce jointe
Paramètre : GEIDE ou GED ou EDM
Permet de préciser si le fichier qui doit être joint doit être l'image en basse résolution (screen ou écran) ou l'imagette (preview ou imagette) à la place du fichier archivé.
Exemples
Tx:="PJ:GED;GED:ecran"
enverra en pièce jointe les résolutions écran
Paramètre : Mode
Valeur Description
A Prépare le message et présente la fenêtre avant envoi
Si l'utilisateur annule, le message n'est pas enregistré
Si l'utilisateur valide, le message sera envoyé en tâche de fond
B Prépare le message et l'enregistre. Il sera envoyé en tâche de fond
C Prépare et envoie immédiatement le message
A lecture de l'exemple 2 décrit ci-après, on constate que la liste contient un lien sur la fiche document afin d'y accéder via un navigateur. Ainsi, si des archives sont attachées à ce document, l'internaute pourra les télécharger.
Les autorisations sont appliquées lorsque l'internaute active le lien. Ainsi, il n'est pas possible pour ce dernier d'avoir accès à une archive s'il n'a pas accès à l'enregistrement auquel elle est attachée.
Si l'internaute transfert son message à un autre utilisateur, ce dernier ne pourra exploiter le message que s'il a également des droits déclarés dans votre application.
Ne nécessite pas de disposer dun serveur web.
L'utilisateur n'a pas besoin d'avoir une connexion active pour exploiter le contenu de son message.
A partir de la liste de personnes, vous voulez pouvoir sélectionner plusieurs personnes et leur adresser un message de bienvenue, tout en conservant la possibilité de modifier le texte standard préparé juste avant l'envoi.
Première étape : créer une ressource email permettant une présentation soignée, donc en html.
Contenu de la ressource email_mail2person (le nom n'est pas imposé, seule la racine email_ l'est)
<html>
<link rel="stylesheet" href="http://!4D=insert;u_adrIPabs("*");3!style.css" type="text/css">
<table border=0 cellspacing=2 cellpadding=2 width='100%'>
<tr><td align='center' valign='middle' height='176'><a href='http://!4D=insert;u_adrIPabs("*");3!Main.htm' class='titlerub'>
<img src="http://!4D=insert;u_adrIPabs("*");3!Ressource.jpg?resnum=200033" height="100" width="104" border="0"></a></td><td>
<font class="textblack10">
!4D=field;$3111/(MAIL)Mail Texte;encode=H!
</td></tr></table>
</html>
On remarque ici que le message contient des liens vers le site WEB associé à l'application qui envoie le message.
Exemple : http://!4D=insert;u_adrIPabs("*");3!Main.htm
u_adrIPabs("*") : permet d'insérer l'adresse du serveur web.
Le contenu du texte du message est chargé dans la variable THeader et est inclu dans la maquette à l'aide de :
!4D=insert;THeader!
Les images ne sont pas jointes au message, seul un lien est inclu :
<img src="http://!4D=insert;u_adrIPabs("*");3!Ressource.jpg?resnum=200033" ... >
Si votre application contient un nombre significatif de messages et que ces derniers doivent avoir toujours la même présentation, il est conseillé d'utiliser la mécanique des blocs (AWEB_...) et d'y faire figurer tout ce qui est commun à tous les messages.
Le fait de faire appel au contenu du texte du message fait que cette ressource pourra être utilisée pour toute une série de messages pré-définis.
Deuxième étape, créer un script permettant d'envoyer le message décrit ci-dessus à des personnes sélectionnées dans l'explorateur de données.
Contenu du script
Tx:="de:Ident;a:select;mode:a;template:email_mail2person"
Tx:=Tx+";objet:Confirmation d'inscription"
Tx:=Tx+Caractere(13)+"Votre demande d'inscription a été prise en compte."
Tx:=Tx+Caractere(13)+"Vous pouvez maintenant vous connecter avec vos informations personnelles."
SMTP_email (Tx)
On remarque ici que l'expéditeur sera la personne connectée, le mode sera avec présentation de l'écran de confirmation, le message utilisera la ressource décrite ci-dessus, l'objet sera "Confirmation d'inscription" et le texte du message sera les deux lignes "Votre demande d'inscription a été prise en compte." suivi de "Vous pouvez maintenant vous connecter avec vos informations personnelles."
Après sélection d'une (ou plusieurs) personnes, l'écran suivant est affiché pour modification et confirmation.
Et le message apparaît ainsi dans l'outil de réception de message.
A partir de la liste de documents, vous voulez pouvoir sélectionner plusieurs documents et leur adresser sous forme d'une liste avec des liens sur les enregistrements à un ou plusieurs utilisateurs.
Première étape : créer une ressource email permettant de générer la liste des documents.
Contenu de la ressource email_Liste de documents
<html>
<link rel="stylesheet" href="!4D=insert;u_adrIPabs("*");3!style.css" type="text/css">
<table border=0 cellspacing=2 cellpadding=2 width='100%' bgcolor="#DDDDD2">
<tr><td align='center' valign='middle'>
<a href='http://!4D=insert;u_adrIPabs("*");3!Main.htm' class='titlerub'>
<img src="!4D=insert;u_adrIPabs("*");3!Ressource.jpg?resnum=1052" height="48" width="48" border="0">
</a></td><td>
<font class="titleblack12">!4D=insert;THeader !<br>
</td></tr></table>
<table border=0 cellspacing=2 cellpadding=2 width='100%'>
!4D=begin;99!
<tr><td width="10%">
<a href="!4D=insert;u_adrIPabs("*");3!Record.htm?record=!4D=insert;html_code(Chaine(Record_num));3!" class="titleblack10">
!4D=insert;u_Geide(1);3!</a></td><td width="90%">
<a href="!4D=insert;u_adrIPabs("*");3!Record.htm?record=!4D=insert;html_code(Chaine(Record_num));3!" class="titleblack10">
!4D=field;$0317/(Documents)Type;encode=H! :
<font class="titleblack12">
!4D=field;=21/(Documents)Titre;encode=H!</a><br><br>
<font class="textblack10">
!4D=field;=131/(Documents)Commentaire;max=300;encode=H!
</td></tr>
!4D=end;99!
</table>
<font class="titlerubgris">
!4D=insert;TFoot !
</html>
Ce script, affecté à l'option "explorateur-email" pour la table document.
Tx:="Records:select/list;"
Tx:=Tx+"Objet:Votre sélection;"
Tx:=Tx+"Template:email_Liste de documents;"
Tx:=Tx+"Signature:on;"
Tx:=Tx+"Mode:A"+Caractere(13)
Tx:=Tx+"Tel que demandé lors de votre dernier appel"
SMTP_eMail (Tx)
Lors du calcul du contenu du message, le texte indiqué comme corps du message (ici : "Tel que demandé lors de votre dernier appel") est chargé dans la variable THeader ; la signature est chargée dans la variable TFoot .
Les images et les titres dans le message sont cliquables et permettent d'ouvrir la notice dans un navigateur.
Powered by KENTIKA Atomic - © Kentika 2025 tous droits réservés - Mentions légales