Par ISASI's answer vous pouvez utiliser ce code pour annuler la session:
Session.instance().invalidate();
En réponse à votre suivi « question » (qui vous avez ajouté comme une réponse, bizarrement). Pour fermer la session après avoir informé l'utilisateur de la réussite, créez une page "Confirmer" et redirigez-la en fonction d'une règle associée au résultat "Succès". Créez ensuite une action de page pour invalider la session.
<page view-id="/process/confirm.xhtml" action="#{emailManager.completeSession}">
Techniquement, la séance sera fermé beofre rendu de la page, de sorte que peut créer un problème de synchronisation en ce qui concerne l'accès aux données de session, de sorte que vous devrez peut-être pirater autour des paramètres de la page pour compenser. C'est parce que vous le faites fondamentalement "faux" en utilisant une session par email. Il vaudra beaucoup mieux utiliser une conversation car il y a une annotation @End qui termine la conversation après avoir rendu la vue - beaucoup plus facile.
Vous devrez passer à l'utilisation des conversations une fois que votre application aura impliqué plus d'une tâche car tout état entre les tâches sera perdu. J'imagine que cela arrivera assez rapidement. Ces problèmes de synchronisation et de gestion d'état sont le problème que les conversations Seam ont été conçues pour résoudre.