[imp] Redirect not working

Arjen de Korte arjen+horde at de-korte.org
Fri Nov 16 19:03:16 UTC 2012


Citeren Michael M Slusarz <slusarz at horde.org>:

> Quoting Arjen de Korte <arjen+horde at de-korte.org>:
>
>> Citeren Michael M Slusarz <slusarz at horde.org>:
>>
>>> Quoting Arjen de Korte <arjen+horde at de-korte.org>:
>>>
>>>> Citeren Simon Brereton <simon.buongiorno at gmail.com>:
>>>>
>>>>>> Looking at your original message, it's actually the From  
>>>>>> envelope address
>>>>>> that appears to be broken.  Which is set via your identities.   
>>>>>> Which means
>>>>>> your identity contains an invalid e-mail address.  Delete your  
>>>>>> identity and
>>>>>> re-create.
>>>>>
>>>>> I just tried this and I get a 5.7.1 Bad syntax error from the  
>>>>> mail server.
>>>>
>>>> Same here. It is rejected because of a malformed MAIL FROM address:
>>>>
>>>> postfix/smtpd[25829]: warning: proxy 127.0.0.1:10026 rejected  
>>>> "MAIL FROM:<Arjen de Korte <arjen at de-korte.org>>": "501 5.5.2  
>>>> Syntax: MAIL FROM:<address>"
>>>
>>> For SMTP, the FROM address is obtained from the Return-Path  
>>> address.  This address is generated from the identity.  And this  
>>> works fine for me.
>>>
>>> The only thing I can think of is that your default e-mail address  
>>> for the default identity is *NOT* a bare e-mail address.  It can't  
>>> contain personal information.
>>
>> This indeed seems to be the problem. If I empty the field 'Your  
>> full name:' in
>>
>>     Global Preferences -> Personal Information
>>
>> redirecting messages works. But if this field is not empty, it fails.
>
> This is not correct.  I have a full name defined and this works fine.

If I have a full name defined, redirect is clearly broken.

> The problem would be if your "default e-mail field" contains  
> something other than a bare address.  I.e. this field can *NOT* be  
> "Foo <foo at example.com>" (the current code won't let you enter this  
> as a value).

It isn't. The default e-mail field contains just the following

     arjen at de-korte.org

There is nothing else in it. As I wrote before, only if I clear out  
the full name part (without touching the e-mail address) redirecting  
works.

I have logged the output from line 2056 in imp/lib/Compose.php

     $from_addr = $identity->getFromAddress();

and the $from_addr clear contains *both* the personal part *and* the  
defailt e-mail address. This is wrong here, since it should clearly  
only contain the e-mail address.

I ended up using

     $from_addr = $identity->getFromAddress()->base_address;

instead of the above line, since that is the only part we really need.

> Which makes sense: the personal part of the e-mail address should be  
> built from the Full name field.

Sure, that's exactly what I have in my configuration (do you want me  
to send screendumps to convince you?) But for whatever reason,  
getFromAddress() outputs both the personal part *and* the e-mail  
address.

The lines 169-171 in imp/Prefs/Identity.php seem to be the culprit here:

     if (is_null($ob->personal)) {
         $ob->personal = $this->getFullname($ident);
     }

Line 170 is adding the personal part here. But that is not what we  
need in the $from_addr, this should only contain the e-mail address.

Best regards, Arjen



More information about the imp mailing list