esup-helpdesk




La liste d'utilisateurs n'est pas rendue car vous ne possédez pas les droits d'accès nécessaires pour afficher les profils utilisateur.

Arborescence des pages

Vous regardez une version antérieure (v. /wiki/spaces/PROJHELPDESK/pages/9928878/Customizing+email+feeding) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 9) afficher la version suivante »

Les propriétés de /properties/config.properties de configuration de l'alimentation par courrier électronique (cf Configuring email feeding) sont utilisées dans le fichier de configuration /properties/domain/feed.xml.

Filtrage du spam

Il est possible de filtrer le spam de l'alimentation pour éviter que trop de tickets soient créés dans la base, ou bien de créer les tickets mais de les clore automatiquement.

Utilisation des filtres prédéfinis

Deux bean implémentant des filtres prédéfinis sont fournis dans la distribution : 

  • subjectStartsWithSpamFilter, qui considère qu'un message est un spam si le sujet du message commence par une chaîne de caractères particulière
  • subjectContainsSpamFilter, qui considère qu'un message est un spam si le sujet du message contient une chaîne de caractères particulière

On pourra par exemple considérer comme spam tous les messages dont le sujet commence par [SPAM] et les supprimer :

feed.imap.spamFilterBean=subjectStartsWithSpamFilter
feed.imap.spamFilterPattern=[SPAM]
feed.imap.deleteSpam=true

Autre exemple, on peut considérer comme spam tous les messages dont le sujet contient *SPAM*, les transférer dans la catégorie n°5 et les clore automatiquement :

feed.imap.spamFilterBean=subjectContainsSpamFilter
feed.imap.spamFilterPattern=*SPAM*
feed.imap.deleteSpam=false
feed.imap.spamCategoryId=5

Utilisation de plusieurs filtres

Pour utiliser plusieurs filtres (prédéfinis ou ajoutés), il faut déclarer les filtres dans le fichier /properties/domain/feed.xml, par exemple :

<bean id="subjectStartsWithSpamFilter"
      class="org.esupportail.helpdesk.services.feed.imap.SubjectStartsWithSpamFilterImpl"
      lazy-init="true" >
    <property name="pattern" value="SPAM" />
</bean>
<bean id="mySpamFilter"
      class="edu.domain.helpdesk.services.feed.imap.MySpamFilterImpl"
      lazy-init="true" />

On déclarera ensuite le filtre delegatingSpamFilter de la classe org.esupportail.helpdesk.services.feed.imap.DelegatingSpamFilterImpl comme s'appuyant sur les filtres précédents : 

<bean id="delegatingSpamFilter"
      class="org.esupportail.helpdesk.services.feed.imap.DelegatingSpamFilterImpl"
      lazy-init="true" >
    <property name="filters" >
        <list>
            <ref bean="subjectStartsWithSpamFilter" />
            <ref bean="mySpamFilter" />
        </list>
</bean>

Il suffit alors de déclarer delegatingSpamFilter comme le bean utilisé pour le filtrage dans le fichier /properties/config.properties

#feed.imap.spamFilterBean=delegatingSpamFilter

Ne pas oublier de permettre la récupération automatique du fichier /properties/feed/feed.xml lors des prochaines mises à jour (cf Conservation des personnalisations lors des mises à jour).

Ajout d'un nouveau filtre

Il suffit d'ajouter une nouvelle classe implémentant l'interface org.esupportail.helpdesk.services.feed.imap.SpamFilteret déclarer un bean de cette classe dans le fichier /properties/domain/feed.xml.

Ne pas oublier de permettre la récupération automatique du fichier /properties/feed/feed.xml et de la classe ajoutée lors des prochaines mises à jour (cf Conservation des personnalisations lors des mises à jour).

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 même serveur, on trouvera par exemple :

<bean id="feeder" class="org.esupportail.helpdesk.services.feed.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.feed.imap.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.feed.imap.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.feed.imap.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

Ne pas oublier de permettre la récupération automatique du fichier /properties/feed/feed.xml lors des prochaines mises à jour (cf Conservation des personnalisations lors des mises à jour).

Autres modes d'alimentation

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 :

Voir également : Web services

  • Aucune étiquette