Introduction
Le but de ce document est de présenter la configuration et l’utilisation de la fonction d’envoi de mails sans passer par des outils externes tels que Outlook ou Lotus Notes.
L’envoi passe donc directement via le SMTP du client via une procédure intégrée à la base de données Oracle.
Il est donc possible d’envoyer des messages déclenchés par des événements liés aux données via des triggers / procédures / jobs,…
Conditions préliminaires
- Option activée
- Option activée pour la société
- Configurations société définies concernant l’adresse du SMTP, le username / password, etc.
- Adresses emails définies pour les utilisateurs
Installation de l’option
De manière à activer les fonctions dans le logiciel, une installation d’option est nécessaire. Celle-ci se charge d’exécuter les scripts nécessaires à cet effet.
Activer l’option
Le menu contextuel permet d’activer la fonction dans l’environnement, cette étape est nécessaire avant d’attribuer celle-ci par société.
Sélectionner les sociétés
L’activation par société se fait dans la partie droite et ne peut se faire que si l’option est active.
Gestion des configurations par société
Pour permettre l’utilisation de la fonction, il est nécessaire de définir au préalable l’adresse du serveur SMTP ainsi que les informations de connexions éventuelles.
A noter qu’en fonction des droits, l’administrateur système du client doit intervenir pour ouvrir des accès.
Une adresse IP fonctionne également.
Si nécessaire définir les configurations suivantes :
- EML_SMTP_USERNAME
- EML_SMTP_PASSWORD
- EML_SMTP_SERVER_PORT
- EML_SMTP_ON_BEHALF
Modification du PCSinifile pour définir l’envoi par ce biais des rapports Crystal
Si l’utilisateur veut pouvoir utiliser cette fonction pour envoyer des rapports crystal par mail, il faudra le spécifier dans le fichier pcsinifile lié.
Gestion des utilisateurs
Il est absolument nécessaire que l’utilisateur qui envoie le message ait une adresse email. Dans le cas contraire, tout envoi sera refusé.
Exemple d’envoi d’un rapport Crystal
Génération de messages depuis une procédure
Pour envoyer des messages depuis la base de données, il suffit de faire appel à la procédure suivante : EML_SENDER.SENDMAIL
Erreurs…
Lors de l’exécution du code PLSQL, les instructions suivantes permettent d’obtenir davantage d’informations dans le dbms_output :
begin
EML_SENDER.SETDEBUG(true);
dbms_java.set_output(200000000) ;
EXEC EML_SENDER_TEST.SendInternalMailVariable('ton_adresse@PROCONCEPT.CH','TEST');
End;
Office365
Une erreur 200 est levée lorsque la délégation n’a pas été faite pour l’utilisateur. Cela signifie que l’utilisateur n’a pas le droit d’envoyer d’email au nom de celui qui est indiqué dans EML_SMTP_USERNAME. Pour corriger, modifier la configuration Office365 ou alors renseigner la configuration EML_SMTP_ON_BEHALF avec l’adresse de l’utilisateur EML_SMTP_USERNAME.
Autre erreurs
Si des erreurs surviennent lors de l’envoi, par exemple :
Voici la liste des codes erreurs …
x00’ – Code par défaut
‘x01’ – L’objet Mail n’a pas été créé
‘x02’ – L’e-mail au format RFC est invalide
‘x20’ – Code par défaut pour une erreur dans l’entête
‘x21’ – Le champ « Expéditeur » n’a pas été renseigné
‘x22’ – Le champ « Destinataires » n’a pas été renseigné
‘x23’ – Le champ « Expéditeur » contient une adresse invalide
‘x24’ – Le champ « Destinataires » contient au moins une adresse invalide
‘x25’ – Le champ « Destinataires en copie carbone» contient au moins une adresse invalide
‘x26’ – Le champ « Destinataires en copie cachée» contient au moins une adresse invalide
‘x27’ – Le champ « Accusé de réception » contient une valeur invalide
‘x28’ – Le champ « Priorité » contient une valeur invalide
‘x29’ – Le champ « Entête personnalisé » contient une valeur invalide
‘x30’ – Le champ « Sujet » n’a pas été renseigné
‘x31’ – Le champ « Sujet » contient une valeur invalide
‘x40’ – Code par défaut pour une erreur dans le corps du message
‘x41’ – Le message contient aucun corps
‘x42’ – Le type du corps n’est pas valide
‘x43’ – Le corps en text/plain n’est pas valide
‘x44’ – Le corps en text/html n’est pas valide
‘x60’ – Code par défaut pour une erreur dans une pièce jointe
‘x61’ – La pièce jointe est vide ou le contenu n’est pas lisible
‘x62’ – Le type de la pièce jointe n’est pas valide
‘x63’ – La pièce jointe n’est pas valide (pièce jointe endommagée ou absente)
Exemples de procédures d’envoi
Voir EML_SENDER_TEST
View file | ||||
---|---|---|---|---|
|