Details

  • User impact:
    High
  • Configuration:
    Hide

    <imap:inbound-endpoint host="..." port="143" user="user%40domain" password="..." />

    Show
    <imap:inbound-endpoint host="..." port="143" user="user%40domain" password="..." />
  • Log Output:
    Hide
    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)
    ********************************************************************************
    Show
    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) ********************************************************************************
  • Similar Issues:
    None

Description

In Mule 2, it was possible to use a user name containing a @ by escaping it as %40 as shown in the configuration field.

In Mule 3, the log output shows the error I get. Using @ instead of %40 doesn't help.

It seems related to MULE-5084 (i.e. endpoint address gets unescaped too early and becomes an invalid URI).

Issue Links

Activity

Hide
Alexis Anastassiades added a comment -

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

Show
Alexis Anastassiades added a comment - 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
Show
Mike Schilling added a comment - Fixed by http://fisheye.codehaus.org/changelog/mule/?cs=20072

People

Vote (1)
Watch (3)

Dates

  • Created:
    Updated:
    Resolved: