#2661 Reply-To(-All) Error with comma(s)

closed-fixed
nobody
Compose (426)
5
2009-10-01
2009-07-31
mbo
No

I've got problems when replying to e-mails, when there're comma(s) in the names (FROM-Field)

Example:
1. Set "Full Name" to "Bar, Foo" without quotes.
2. Send e-mail to yourself.
3. Reply or "reply all" to that e-mail.
-> The Mailaddresses are mixed up with mailnames.

> SquirrelMail version
1.4.19

> PHP version
5.2.6-1+lenny3

> Web server
Apache/2.2.9 (Debian)

> IMAP server
Dovecot

> Browsers tried
Firefox 3.0.11, Opera 9.64

Discussion

  • I cannot reproduce. Perhaps your MTA butchered the headers. Please show what is in your Reply-To field as well. When I try to follow your instructions, the real name is placed in quotes and thus works fine. Please show the headers for the email that you are replying to so we can help debug.

    Note also that if you are using SquirrelMail as provided by Debian and not a direct installation of a SquirrelMail tarball from our website, this may be a bug in Debian's package. We only address bugs in our code, not in adaptations by other vendors.

     
    • status: open --> pending-works-for-me
     
  • mbo
    mbo
    2009-09-14

    Add some umlauts to your "Full Name" (like "ö" or "ä")...

    After that i can't reply to this mails caused by missing quotes.

    Test ä <mail@example.org>

    instead of

    "Test ä" <mail@example.org>

     
  • mbo
    mbo
    2009-09-14

    • status: pending-works-for-me --> open-works-for-me
     
  • Oh my, that's an important distinction - non-US-ASCII strings. Thanks for clearing it up. Please try the attached patch. I'm not sure yet if this is a good fix, as it may affect other parts of the software. If you are interested in helping, you can test this patch by using SquirrelMail as extensively as possible, and by also watching for my post about it on the development and/or i18n mailing lists a bit later today.

     
    • status: open-works-for-me --> open
     
  • mbo
    mbo
    2009-09-16

    I modified the compose.php in a simplier way, because I'm also afraid to destroy other parts of SquirrelMail:

    [...]
    $send_to = decodeHeader($send_to,false,false,true);
    $send_to = correctMail( $send_to );
    $subject = decodeHeader($orig_header->subject,false,false,true);
    $subject = trim($subject);
    [...]

    function correctMail( $send_to ) {
    if( $send_to[0] != '"' and strpos( $send_to, '<') !== FALSE) {
    $i = strpos( $send_to, '<');
    $send_to = '"' . substr($send_to,0,$i-1) . '" <' . substr($send_to,$i+1);
    }

    return $send_to;
    }

     
  • If you submit patches, you have to provide a unified diff. However, it looks like what you're trying to change is not an appropriate solution. When I said I'm not sure about my solution, don't mistake it for a hack. It's correctly placed, but needs testing to make sure it doesn't affect anything else. Please test it.

     
    • status: open --> pending-fixed
     
  • This Tracker item was closed automatically by the system. It was
    previously set to a Pending status, and the original submitter
    did not respond within 14 days (the time period specified by
    the administrator of this Tracker).

     
    • status: pending-fixed --> closed-fixed
     
  • Note - this should be fixed in 1.4.20. Next time, it'd be nice to have people who can help test code changes.