Envoyer un Email Automatique dans Sage X3
juillet 09, 2025
📧 Envoyer un Email Automatique dans Sage X3
Un exemple concret et commenté, avec sources officielles
📌 Contexte
Dans Sage X3, il est courant d’automatiser l’envoi d’alertes email. Par exemple, lorsqu’un salarié modifie ses données personnelles, le service RH ou le manager doit être informé automatiquement.
👉 Référence : ASYRMAIL.ASEND_MAIL - Documentation officielle
🧩 Le Script Complet
Subprog ZMAIL()
Local Integer STA
Local Integer TRACE
Local Char FIC_TRACE(250)
Local Char ISSUERMAIL(250)
Local Char A_USER(250)(1..)
Local Char CC_USER(250)(1..)
Local Char HEADER(250)
Local Clbfile BODY(0)
Local Char ATTACHMENTS(250)(1..)
A_USER(1) = "rh@jbel-annour.ma"
A_USER(2) = "consultant.sage@jbel-annour.ma"
HEADER = 'ALERTE - Modification Données Salarié'
ISSUERMAIL = 'consultant.sage@jbel-annour.ma'
TRACE = 2
Append BODY, 'Bonjour,' + chr$(10)
Append BODY, 'Une ou plusieurs modifications ont été détectées :' + chr$(10)
Append BODY, 'Type : ' + chr$(10)
Append BODY, 'Utilisateur : ' + GUSER + chr$(10)
Append BODY, 'Date : ' + num$(DATE$) + ' ' + time$ + chr$(10)
Append BODY, chr$(10)
Append BODY, 'Merci de vérifier les journaux de trace.' + chr$(10)
Append BODY, chr$(10)
Append BODY, 'Cordialement,' + chr$(10) + 'SI System' + chr$(10)
STA = func ASYRMAIL.ASEND_MAIL(GACTX, ISSUERMAIL, A_USER, CC_USER, HEADER, BODY, ATTACHMENTS, TRACE)
If STA <> [V]CST_AOK Then
Infbox(mess(1163,196,1))
Endif
End
🔍 Explication
✅ Variables : On définit l’expéditeur, les destinataires (A_USER
), le sujet (HEADER
), le corps du mail (BODY
) et le niveau de trace.
✅ Corps du mail : Construit ligne par ligne avec Append BODY
pour inclure l’utilisateur (GUSER
) et la date.
✅ Envoi : ASYRMAIL.ASEND_MAIL
exécute l’envoi. En cas d’erreur, un Infbox
s’affiche.
🎯 Bonnes Pratiques
- ✅ Tester sur un environnement de test.
- ✅ Vérifier la configuration SMTP (voir doc SMTP Sage X3).
- ✅ Utiliser des adresses techniques dédiées.