cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Salvetti <m...@notremanou.net>
Subject Gestion d'erreur avec sendMail action
Date Sun, 21 Aug 2005 13:00:00 GMT
Bonjour,

j'ai un pipeline qui utilise sendMail action comme ceci :

            <map:match pattern="do-send-mail/*">
                <map:act type="sendmail">
                    <!-- To override defaults specified in cocoon.xconf:
                    <map:parameter name="smtp-user" value="marc"/>
                    <map:parameter name="smtp-password" value="john"/>
                    -->
                    <map:parameter name="smtp-host" 
value="notremanou2.net"/>
                    <map:parameter name="from" 
value="reservations@cfmekong.com"/>
                    <map:parameter name="to" value="{flow-attr:to}"/>
                    <map:parameter name="subject" 
value="{flow-attr:subject}"/>
                    <map:parameter name="src" 
value="{flow-attr:composeMailURI}"/>
                    <map:parameter name="srcMimeType" value="text/html"/>
                    <map:parameter name="body" value="{flow-attr:body}"/>
                    <map:parameter name="bcc" value="{flow-attr:bcc}"/>
                    <map:parameter name="attachments" 
value="{flow-attr:attachments}"/>
                    <map:call function="onMailSent">
                        <map:parameter name="result" value="{status}"/>
                        <map:parameter name="message" value="{message}"/>
                        <map:parameter name="mailto" 
value="{flow-attr:to}"/>
                        <map:parameter name="bcc" value="{flow-attr:bcc}"/>
                        <map:parameter name="type-mail" value="{../1}"/>
                        <map:parameter name="success-pipeline" 
value="/{../1}-sent.html"/>
                    </map:call>
                </map:act>
            </map:match>


Mon problème est que lorsque le serveur smtp n'est pas accessible, au 
lieu de generer une erreur (gérable par un handler d'error ds le 
pipeline) ou d'appeler la fonction onMailSent avec un status à failed et 
un message d'erreur, cocoon renvoie une erreur not found car il ne 
trouve pas de match pour ce pipeline.

en ajoutant ceci [1] après le </map:act> j'arrive a présenter une page 
d'erreur plus sympa à l'utilisateur, mais le message d'erreur n'est pas 
accessible (car en dehors de l'action)

[1]
       ....
                </map:act>
                <map:generate type="jx" 
src="xdocs/mail/jx-send-failure.xml"/>
                <map:transform type="i18n"/>
                <map:transform src="stylesheets/document2html.xsl"/>
                <map:transform type="omitns"/>
                <map:serialize status-code="500"/>
            </map:match>

Quelqu'un a t'il déjà rencontré ce problème ? S'agit t'il d'un bug de 
l'action sendMail ou d'un problème dans mon pipe ?

Merci,

Marc

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message