ERROR 2010-10-11 12:23:37,896 [main] org.mule.MuleServer:
********************************************************************************
Message : The endpoint "
imap://mule@dossot.net:esb123@mail.gandi.net:143" is malformed and cannot be parsed. If this is the name of a global endpoint, check the name is correct, that the endpoint exists, and that you are using the correct configuration (eg the "ref" attribute). Note that names on inbound and outbound endpoints cannot be used to send or receive messages; use a named global endpoint instead.
Code : MULE_ERROR-64051
--------------------------------------------------------------------------------
Exception stack is:
1. The endpoint "
imap://mule@dossot.net:esb123@mail.gandi.net:143" is malformed and cannot be parsed. If this is the name of a global endpoint, check the name is correct, that the endpoint exists, and that you are using the correct configuration (eg the "ref" attribute). Note that names on inbound and outbound endpoints cannot be used to send or receive messages; use a named global endpoint instead. (org.mule.api.endpoint.MalformedEndpointException)
org.mule.endpoint.UserInfoEndpointURIBuilder:34 (
http://www.mulesoft.org/docs/site/current2/apidocs/org/mule/api/endpoint/MalformedEndpointException.html)
--------------------------------------------------------------------------------
Root Exception stack trace:
org.mule.api.endpoint.MalformedEndpointException: The endpoint "
imap://mule@dossot.net:esb123@mail.gandi.net:143" is malformed and cannot be parsed. If this is the name of a global endpoint, check the name is correct, that the endpoint exists, and that you are using the correct configuration (eg the "ref" attribute). Note that names on inbound and outbound endpoints cannot be used to send or receive messages; use a named global endpoint instead.
at org.mule.endpoint.UserInfoEndpointURIBuilder.setEndpoint(UserInfoEndpointURIBuilder.java:34)
at org.mule.endpoint.AbstractEndpointURIBuilder.build(AbstractEndpointURIBuilder.java:55)
at org.mule.endpoint.MuleEndpointURI.initialise(MuleEndpointURI.java:172)
+ 3 more (set debug level logging or '-Dmule.verbose.exceptions=true' for everything)
********************************************************************************
After several tests, I think the username is decode twice.
A palliative solution is to encode two times the '@' caracter in the attribute "user", so '@' => '%40' => '%25%34%30'
see example below to connect to a mailserver with a username like "foo@bar.fr"
<flow name="EmailDeliveryService">
<imaps:inbound-endpoint
connector-ref="Mailbox_Connector"
user="foo%25%34%30bar.fr"
password="password"
host="imap.mailserver.com"
port="993" >
</imaps:inbound-endpoint>
<echo-component />
</flow>
regards