Il est possible d'alimenter automatiquement l'application par les messages reçus sur une adresse électronique.
L'alimentation se fait par lecture régulière d'un compte IMAP par une tâche asynchrone (la tâche ant feed).
Propriétés de /properties/config.properties
Adresse électronique (requise)
L'adresse électronique à la quelle sont envoyés les courriers :
#feed.imap.address=support@domain.edu
Serveur IMAP (requis)
Le nom (FQDN) ou l'adresse IP du serveur IMAP :
#feed.imap.server=imap.domain.edu
Authentification IMAP (requise)
Le informations de connexion au serveur IMAP :
#feed.imap.account=support #feed.imap.password=secret
Dossier IMAP
Le nom du dossier IMAP dans lequel lire les courriers, par défaut INBOX :
#feed.imap.folder=INBOX
Catégorie cible
L'identifiant de la catégorie dans laquelle placer les tickets créés :
#feed.imap.categoryId=1
Personnalisation
Les propriétés ci-dessus sont utilisées dans le fichier de configuration /properties/domain/feed.xml.
Lecture de plusieurs comptes IMAP
Pour lire plusieurs comptes IMAP, qui peuvent par exemple être dirigés dans des catégories différentes, il faudra déclarer dans le fichier /properties/domain/feed.xml autant de beans correspondants semblables au bean accountReader, et les insérer dans l'attribut mailReaders du bean feeder.
Pour des comptes IMAP situés sur le meêm serveur, on trouvera par exemple :
<bean id="feeder" class="org.esupportail.helpdesk.services.imapFeeding.FeederImpl" lazy-init="true" > <property name="mailReaders" > <list> <ref bean="accountReader1" /> <ref bean="accountReader2" /> </list> </property> </bean> <bean id="abstractAccountReader" abstract="true" > <property name="server" value="${feed.imap.server}" /> <property name="folder" value="${feed.imap.folder}" /> <property name="messageReader" ref="messageReader" /> <property name="domainService" ref="domainService" /> </bean> <bean id="accountReader1" class="org.esupportail.helpdesk.services.imapFeeding.ImapAccountReaderImpl" lazy-init="true" > <property name="address" value="${feed.imap.address1}" /> <property name="account" value="${feed.imap.account1}" /> <property name="password" value="${feed.imap.password1}" /> <property name="categoryId" value="${feed.imap.categoryId1}" /> </bean> <bean id="accountReader2" class="org.esupportail.helpdesk.services.imapFeeding.ImapAccountReaderImpl" lazy-init="true" > <property name="address" value="${feed.imap.address2}" /> <property name="account" value="${feed.imap.account2}" /> <property name="password" value="${feed.imap.password2}" /> <property name="categoryId" value="${feed.imap.categoryId2}" /> </bean> <bean id="messageReader" class="org.esupportail.helpdesk.services.imapFeeding.MessageReaderImpl" lazy-init="true" > <property name="domainService" ref="domainService" /> <property name="i18nService" ref="i18nService" /> </bean>
Les propriétés d'accès aux comptes pourront ainsi être gérées dans le fichier /properties/config.properties :
feed.imap.server=imap.domain.edu feed.imap.address1=support1@domain.edu feed.imap.account1=support1 feed.imap.password1=secret1 feed.imap.categoryId1=45 feed.imap.address1=support2@domain.edu feed.imap.account1=support2 feed.imap.password1=secret2 feed.imap.categoryId1=63
Autres alimentations
Les lecteurs de boites à lettres IMAP fournis par défaut sont de la classe org.esupportail.helpdesk.services.feed.imap.ImapAccountReaderImpl.
L'ajout d'un autre mode d'alimentation se fait de la manière suivante :
- développer une classe implémentant l'interface org.esupportail.helpdesk.services.feed.AccountReader
- déclarer un bean de cette classe dans le fichier /properties/domain/feed.xml
- permettre la récupération de la nouvelle classe et du fichier /properties/domain/feed.xml lors de la prochaine mise à jour (cf Mises à jour et conservation des personnalisations).