| Astuce | ||
|---|---|---|
| ||
Le service d'envoi de courriers électroniques a été initialement développé pour le gestionnaire d'exceptions (certaines implémentations permettent d'envoyer les rapports d'exception par courrier électronique). Ce service est disponible à toute autre fin (envoi d'informations, remontée d'alertes, ...).
...
Exemple de déclaration :
| Bloc de code |
|---|
<bean id="smtpService" class="org.esupportail.commons.services.smtp.AsynchronousSmtpServiceImpl"> <property name lazy-init="serverstrue"> <list> > <property name="servers"> <list> <ref bean="smtpServer1smtpServer" /> </list> </property> <property name="fromAddress" ref="smtpFromAddress" /> <property name="interceptAll" value="${smtp.interceptAll}" /> <property name="interceptAddress" ref="smtpInterceptAddresssmtpIntercept" /> <property name="notInterceptedAddresses" value="${smtp.notInterceptedAddresses}" /> <property name="testAddress" ref="smtpInterceptAddress""smtpTestAddress" /> <property name="charset" value="${smtp.charset}" /> </bean> |
Propriétés :
- Servers est une liste de serveurs à utiliser pour envoyer les messages. Les serveurs sont utilisés suivant leur ordre d'apparition dans le fichier. Si, et seulement si, une exception est levée lors de l'envoi du mail sur un serveur le suivant est utilisé.
- fromAddress pointe vers un bean définissant l'expéditeur des messages.
- interceptAll booléen true|false définissant si on intercepte ou non l'ensemble des messages émis par l'application
- interceptAddress pointe vers un bean définissant le destinataire des messages en phase de mise au point. Tous les messages sont envoyés à cette adresse afin d'éviter un effet de spam (y compris les exceptions, la propriété recipientEmail du fichier /properties/exceptionHandling/exceptionHandling-example.xml n'étant pas prise en compte). Il suffit de supprimer cette propriété suffira de positionner interceptAll=true pour retrouver un comportement normal.
- notInterceptedAddresses liste des adresses (en minuscule et séparé par une virgule) pour lesquelles les e-mails envoyés ne seront pas interceptés.
- testAddress pointe vers un bean définissant le destinataire du message généré par la tâche ant test-smtpméthode test() qui peut être utilisée dans les tests unitaires par exemple.
Les beans smtpFromAddress, smtpInterceptAddress et smtpInterceptAddress testAddress sont tous de type javax.mail.internet.InternetAddress.
...