diff options
-rw-r--r-- | _test/cases/inc/mail_quoted_printable_encode.php | 4 | ||||
-rw-r--r-- | inc/mail.php | 8 |
2 files changed, 7 insertions, 5 deletions
diff --git a/_test/cases/inc/mail_quoted_printable_encode.php b/_test/cases/inc/mail_quoted_printable_encode.php index d74c0ea3f..c9cb040f1 100644 --- a/_test/cases/inc/mail_quoted_printable_encode.php +++ b/_test/cases/inc/mail_quoted_printable_encode.php @@ -12,7 +12,7 @@ class mail_quotedprintable_encode extends UnitTestCase { function test_spaceend(){ $in = "hello \nhello"; - $out = "hello=20\r\nhello"; + $out = "hello=20\nhello"; $this->assertEqual(mail_quotedprintable_encode($in),$out); } @@ -24,7 +24,7 @@ class mail_quotedprintable_encode extends UnitTestCase { function test_wrap(){ $in = '123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789'; - $out = "123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234=\r\n56789 123456789"; + $out = "123456789 123456789 123456789 123456789 123456789 123456789 123456789 1234=\n56789 123456789"; $this->assertEqual(mail_quotedprintable_encode($in,74),$out); } diff --git a/inc/mail.php b/inc/mail.php index da2368af2..a596c38f7 100644 --- a/inc/mail.php +++ b/inc/mail.php @@ -9,7 +9,9 @@ if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/'); require_once(DOKU_INC.'inc/utf8.php'); - define('MAILHEADER_EOL',"\n"); //end of line for mail headers + // end of line for mail lines - RFC822 says CRLF but postfix (and other MTAs?) + // think different + if(!defined('MAILHEADER_EOL')) define('MAILHEADER_EOL',"\n"); #define('MAILHEADER_ASCIIONLY',1); /** @@ -210,12 +212,12 @@ function mail_quotedprintable_encode($sText,$maxlen=74,$bEmulate_imap_8bit=true) // but this wouldn't be caught by such an easy RegExp if($maxlen){ preg_match_all( '/.{1,'.($maxlen - 2).'}([^=]{0,2})?/', $sLine, $aMatch ); - $sLine = implode( '=' . chr(13).chr(10), $aMatch[0] ); // add soft crlf's + $sLine = implode( '=' . MAILHEADER_EOL, $aMatch[0] ); // add soft crlf's } } // join lines into text - return implode(chr(13).chr(10),$aLines); + return implode(MAILHEADER_EOL,$aLines); } |