[imp] [RELENG_3:] Character enconding problem when saving drafts
Joerg Friedrich
Joerg.Dieter.Friedrich at uni-konstanz.de
Fri Sep 19 07:02:51 PDT 2003
Hi,
I tried to report a bug to, but the Bug-Tracking-Webpage seems not to
work as it should. At least I got no password.
Yours, Joerg
Joerg Friedrich schrieb am Mittwoch, 17. September 2003 um 10:07:08 +0200:
> Hi,
>
> attached you'll find a patch to this problem.
> I had no time to checkout the latest cvs!
> Please recheck my patch before apply!
> BTW: Quick'n'Dirty-Patch, since I didn't find coding standards, maybe
> variable renaming required.
>
>
>
> Joerg Friedrich schrieb am Mittwoch, 17. September 2003 um 00:16:35 +0200:
> > Hi,
> >
> > one of our users encountered a problem when saving a msg as draft.
> > Our IMAP server (cyrus) replaces every non-7-Bit-Chars in the header by
> > a 'X'. So every draft containing 8-bit-chars i.e in subject gets messed
> > up when appended to the mailbox via imap_append.
> >
> > the appending to the send-mail-box when sending the mail is not
> > affected, since there is a "$headers = $mime->header($headers);" which
> > does the right encoding.
> >
> > I think the only way is to rewrite the 'case SAVE_DRAFT' section in
> > compose.php. I'll look at it tomorrow.
> > --
> > Jörg Friedrich
> >
> > --
> > IMP mailing list
> > Frequently Asked Questions: http://horde.org/faq/
> > To unsubscribe, mail: imp-unsubscribe at lists.horde.org
>
> --
> Jörg Friedrich
> --- compose.php.orig 2003-09-17 10:02:28.000000000 +0200
> +++ compose.php 2003-09-17 10:01:10.000000000 +0200
> @@ -943,34 +943,44 @@
>
> $from = $identity->getFromLine(Horde::getFormData('identity'), Horde::getFormData('from'));
>
> - $hdrs = 'Date: ' . date('r') . "\n";
> + $hdrs['Date'] = date('r');
> if (!empty($from)) {
> - $hdrs .= "From: $from\n";
> + $hdrs['From'] = $from;
> }
> if (($to = Horde::getFormData('to'))) {
> $to = MIME::encodeAddress(format_addresses($to), null, $imp['maildomain']);
> - $hdrs .= "To: $to\n";
> + $hdrs['To'] = $to;
> }
> if (($cc = Horde::getFormData('cc'))) {
> $cc = MIME::encodeAddress(format_addresses($cc), null, $imp['maildomain']);
> - $hdrs .= "Cc: $cc\n";
> + $hdrs['Cc'] = $cc;
> }
> if (($bcc = Horde::getFormData('bcc'))) {
> $bcc = MIME::encodeAddress(format_addresses($bcc), null, $imp['maildomain']);
> - $hdrs .= "Bcc: $bcc\n";
> + $hdrs['Bcc'] = $bcc;
> }
> if (($sub = Horde::getFormData('subject'))) {
> - $hdrs .= "Subject: $sub\n";
> + $hdrs['Subject'] = $sub;
> }
> if (isset($mime)) {
> $env = $mime->header();
> foreach ($env as $key => $val) {
> - $hdrs .= $key . ': ' . $val . "\n";
> + $hdrs[$key] = $val;
> }
> }
> - $hdrs .= "\n";
>
> - $body = $hdrs . $body;
> + $hdrs = $mime->header($hdrs);
> +
> + reset($hdrs);
> + $fcc = '';
> + foreach ($hdrs as $key => $val) {
> + if ($key != 'recipients') {
> + $fcc .= $key . ': ' . $val . "\n";
> + }
> + }
> + $fcc .= "\n";
> +
> + $body = $fcc . $body;
>
> // Make absolutely sure there are no bare newlines.
> $body = preg_replace("|([^\r])\n|", "\\1\r\n", $body);
>
> --
> IMP mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: imp-unsubscribe at lists.horde.org
--
Jörg Friedrich
Letzte Worte eines Architekten:
"Da fällt mir noch was ein!"
More information about the imp
mailing list