Ce paragraphe décrit le mode opératoire pour déployer la capture d’une boite mail d’une nouvelle instance MaarchCourrier.
Ce mode opératoire peut être décliné lorsque l’on souhaite ajouter la capture d’une boite mail supplémentaire à une instance MaarchCourrier.
Une fois les fichiers type de paramétrage correctement préparés (voir paragraphes précédents), le mode opératoire consistera essentiellement à procéder à des copier/coller et au remplacement de la variable de fusion ID_INSTANCE. Nous prendrons l’exemple où ID_INSTANCE est valorisée de la façon suivante : cs_olivet
Dans votre cas, il faudra remplacer cs_olivet par l'identifiant de votre instance MaarchCourrier.
Par défaut, se positionner dans le répertoire de MaarchCapture :
cd /opt/maarch/MaarchCapture/
Si vous n'avez pas encore de fichier Capture.xml dans le répertoire ./config, nous vous conseillons alors d'aller en récupérer un depuis le répertoire ./config/samples/. Le candidat idéal pour commencer une configuration "standard" est Capture_standard_sample_linux.xml.default.
ls -al config/Capture.xml
# uniquement si erreur d'existance du fichier
cp config/samples/Capture_standard_sample_linux.xml.default config/Capture.xml
Ajouter le bloc suivant dans le fichier ./config/Capture.xml (entre les balises batches) :
nano ./config/Capture.xml
<batch directory="/opt/maarch/MaarchCapture/files/" id="{batchname}-{timestamp}-{rand}" lock="0" name="cs_olivet_MAIL_1">
<workflow debug="false" logMode="Maarch" maarchLogParam="/var/www/html/MaarchCourrier/apps/maarch_entreprise/xml/log4php.xml" maarchLoggerName="loggerTechnique" name="cs_olivet_MAIL_1">
<step function="CaptureMails" module="MailCapture" name="CaptureMails">
<input name="account">cs_olivet_MAIL_1</input>
<input name="Action">delete</input>
<input name="configFile">cs_olivet_MAIL_1.xml</input>
<input name="folder"></input>
<input name="attachmentsOutputDir"></input>
<input name="addHeaderInMailContent">false</input>
<input name="folderError">incidents</input>
</step>
<step name="SendToMaarch" module="MaarchWSClient" function="processBatch">
<input name="WS">cs_olivet</input>
<input name="Process">MaarchRestWSProcessFromMail</input>
<input name="CatchError">true</input>
<input name="configFile">MaarchWSClient_standard_sample.xml</input>
</step>
</workflow>
</batch>
mkdir /opt/maarch/MaarchCapture/files/
chown -R maarch. /opt/maarch/MaarchCapture/files/
Créer le fichier ./modules/MailCapture/cs_olivet_MAIL_1.xml, compléter les informations de connexion à la boite mail, préciser l’identifiant du service destinataire (ID_SERVICE_DESTINATAIRE) et modifier le type de document (108) si besoin :
nano ./modules/MailCapture/cs_olivet_MAIL_1.xml
<?xml version="1.0" encoding="UTF-8"?>
<MailCapture>
<formatters>
<formatter name="date" script="scripts/formatters.php" func="format_mail_date"/>
</formatters>
<accounts>
<account name="cs_olivet_MAIL_1" >
<mailbox>{imap.gmail.com:993/imap/ssl/novalidate-cert}INBOX</mailbox>
<username>testmail@gmail.com</username>
<password>****</password>
<IMAP_CLIENT_CERT>/vagrant/certs/client.pem</IMAP_CLIENT_CERT>
<IMAP_CLIENT_KEY>/vagrant/certs/noclient.key</IMAP_CLIENT_KEY>
</account>
</accounts>
<messagerules>
<messagerule name="from_maarch" info="fromaddress" action="delete">false</messagerule>
</messagerules>
<messageoutputs >
<!-- info : header info -->
<messageoutput name="doc_date" info="date" formatter="date"/>
<messageoutput name="type_id">108</messageoutput>
<messageoutput name="destination">ID_SERVICE_DESTINATAIRE</messageoutput>
<messageoutput name="subject" info="subject" />
<messageoutput name="fromaddress" info="fromaddress"/>
<messageoutput name="frompersonal" info="from[0]/personal" />
<messageoutput name="toaddress" info="toaddress" />
<messageoutput name="message_id" info="message_id" />
<messageoutput name="ccaddress" info="ccaddress" />
</messageoutputs>
<attachmentrules>
<attachmentrule name="pj" info="extension" op="notin" action="none">EML PDF DOC DOCX XLSX ODT ODS ODP TXT JPG JPEG JPE GIF PNG BMP RTF HTM HTML CSV</attachmentrule>
<attachmentrule name="thename" info="filename" op="contains">PJ</attachmentrule>
<attachmentrule name="application" info="format" op="in">pdf msword vnd.oasis.opendocument.text octet-stream eml</attachmentrule>
</attachmentrules>
<attachmentoutputs mode="attachment">
<attachmentoutput name="filename" info="dparameters[filename]"/>
<attachmentoutput name="description" info="description"/>
</attachmentoutputs>
</MailCapture>
Si le fichier ./modules/MaarchWSClient/MaarchWSClient_standard_sample.xml n'existe pas encore, alors il faut le récupérer à partir du répertoire samples.
ls -al modules/MaarchWSClient/MaarchWSClient_standard_sample.xml
# uniquement si erreur d'existance du fichier
cp modules/MaarchWSClient/samples/MaarchWSClient_standard_sample.xml.default modules/MaarchWSClient/MaarchWSClient_standard_sample.xml
Ajouter le bloc suivant dans le haut du fichier ./modules/MaarchWSClient/MaarchWSClient_standard_sample.xml et configurer l’accès aux web services REST de l’instance MaarchCourrier cs_olivet :
nano ./modules/MaarchWSClient/MaarchWSClient_standard_sample.xml
<WS name="cs_olivet" type="REST" uri="http://userMaarchWS:passwordMaarchWS@courrier.metropoleorleans.fr/cs_oliver/rest/">
</WS>
Créer le fichier ./scripts/cs_olivet_MAIL_1.sh :
nano ./scripts/cs_olivet_MAIL_1.sh
#!/bin/sh
cd /opt/maarch/MaarchCapture/
php MaarchCapture.php init -BatchName cs_olivet_MAIL_1
chmod +x ./scripts/cs_olivet_MAIL_1.sh
Planifier le shell créé dans votre planificateur de tâches :
su maarch
crontab -e
*/10 * * * * /opt/maarch/MaarchCapture/scripts/cs_olivet_MAIL_1.sh