diff --git a/src/PHPMailer.php b/src/PHPMailer.php index b710ab80..478fae91 100644 --- a/src/PHPMailer.php +++ b/src/PHPMailer.php @@ -708,10 +708,13 @@ class PHPMailer /** * The lower maximum line length allowed by RFC 2822 section 2.1.1. + * This length does NOT include the line break + * 76 means that lines will be 77 or 78 chars depending on whether + * the line break format is LF or CRLF; both are valid. * * @var int */ - const STD_LINE_LENGTH = 78; + const STD_LINE_LENGTH = 76; /** * Constructor. @@ -2956,7 +2959,7 @@ class PHPMailer case 'base64': $encoded = chunk_split( base64_encode($str), - static::STD_LINE_LENGTH - strlen(static::$LE), + static::STD_LINE_LENGTH, static::$LE ); break; diff --git a/test/PHPMailerTest.php b/test/PHPMailerTest.php index 52adedd9..0ac6e38e 100644 --- a/test/PHPMailerTest.php +++ b/test/PHPMailerTest.php @@ -862,16 +862,21 @@ final class PHPMailerTest extends TestCase $noencode = 'eeeeeeeeee'; $this->Mail->isMail(); //Expected results - $bencoderes = '=?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' . PHPMailer::getLE() . - ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' . PHPMailer::getLE() . - ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' . PHPMailer::getLE() . - ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?='; - $qencoderes = '=?UTF-8?Q?eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee?=' . PHPMailer::getLE() . + + $bencoderes = '=?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' . + PHPMailer::getLE() . + ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' . + PHPMailer::getLE() . + ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' . + PHPMailer::getLE() . + ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqQ==?='; + $qencoderes = '=?UTF-8?Q?eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee?=' . + PHPMailer::getLE() . ' =?UTF-8?Q?eeeeeeeeeeeeeeeeeeeeeeeeee=C3=A9?='; $bencodenofoldres = '=?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6k=?='; $qencodenofoldres = '=?UTF-8?Q?eeeeeeeee=C3=A9?='; - $justfoldres = 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' . - 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' . PHPMailer::getLE() . ' eeeeeeeeee'; + $justfoldres = 'eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee' . + PHPMailer::getLE() . ' eeeeeeeeee'; $noencoderes = 'eeeeeeeeee'; $this->assertEquals( $bencoderes,