Capture de mail
Si nécessaire, il est possible de capturer les factures directement depuis votre boîte mail. Ce seront seulement les pièces jointes des différents e-mails qui seront récupérées, si elles sont au format PDF. Afin de connecter votre boîte mail, il sera nécessaire de se procurer les informations IMAP de cette dernière. Il vous faudra renseigner l'adresse IMAP du serveur de mail, son port, si le SSL doit être activé et le combo utilisateur/mot de passe.
Le fichier à modifier est situé à l'endroit suivant :
instance/config/mail.ini
Dans ce dernier vous trouverez les informations suivantes à remplir :
  • batchPath : Chemin où seront stockées les informations de chaque capture de mail.
  • host : Adresse IMAP du serveur de messagerie
  • port : Port IMAP du serveur de messagerie
  • securedConnection : Connexion sécurisée ou non (SSL)
  • login : Nom de l'utilisateur IMAP
  • password : Mot de passe de l'utilisateur IMAP
  • folderToCrawl : Dossier à parcourir pour remonter les factures
  • folderDestination : Dossier dans lequel déplacer les mails après traitement
  • folderTrash : (facultatif) Nom du dossier "Corbeille"
  • actionAfterProcess : Action à effectuer après le traitement du mail (move, delete ou none)
Ci-dessous un exemple de fichier de configuration rempli, pour une adresse Gmail :
[GLOBAL]
batchPath = /opt/OpenCaptureForInvoices/bin/data/MailCollect/
​
[MAIL_1]
host = imap.gmail.com
port = 993
; True or False
securedConnection = True
; If you have $ in your password, you must double it
password = test
​
folderToCrawl = INBOX
folderDestination = _ARCHIVES
; If folderTrash is empty, mail will be deleted and cannot be retrieve (even in default IMAP trash folder)
folderTrash = Trash
; move, delete or none
actionAfterProcess = move
Afin de trouver les bons noms de dossiers, un script est présent afin de lister tous les dossiers d'une boîte mail. Il est situé ici :
bin/scripts/MailCollect/check_folders.py
Il faudra y renseigner les mêmes informations IMAP que dans le fichier de configuration (host, port, securedConnection, login et password). Il vous suffit ensuite de lancer le script comme ceci :
python3 bin/scripts/MailCollect/check_folders.py
Vous aurez un retour comme suit, vous n'aurez plus qu'à reporter le bon dossier dans le fichier de configuration, comme montré plus tôt :
[email protected]:/opt/OpenCaptureForInvoices$ python3 bin/scripts/MailCollect/check_folders.py
INBOX
[Gmail]
[Gmail]/Brouillons
[Gmail]/Corbeille
[Gmail]/Important
[Gmail]/Messages envoyés
[Gmail]/Spam
[Gmail]/Suivis
[Gmail]/Tous les messages
​
Afin que le script de capture de mail puisse se lancer, il va falloir le mettre en tâche planifié. Pour cela rien de plus simple avec les crontab.
crontab -e
0 5 * * * /opt/OpenCaptureForInvoices/bin/scripts/launch_MAIL.sh &> /dev/null
Pour finir et afin de nettoyer les fichiers de chaques captures de mail (contenu dans la variable batchPath) vous pouvez mettre en place le script de nettoyage suivant, via les taches planifiés (crontab)
crontab -e
0 2 * * * /opt/OpenCaptureForInvoices/bin/scripts/MailCollect/clean.sh &> /dev/null
Copier le lien