mirror of
https://github.com/PHPMailer/PHPMailer.git
synced 2024-09-20 01:52:15 +02:00
Charset woes
This commit is contained in:
parent
60126a1b90
commit
34e1c900be
2
.github/workflows/tests.yml
vendored
2
.github/workflows/tests.yml
vendored
@ -46,7 +46,7 @@ jobs:
|
||||
php-version: ${{ matrix.php }}
|
||||
coverage: xdebug
|
||||
ini-values: sendmail_path=/usr/sbin/sendmail -t -i, zend.multibyte=1, zend.script_encoding=UTF-8, default_charset=UTF-8
|
||||
extensions: xdebug, imap, mbstring, ctype, filter, hash
|
||||
extensions: xdebug, imap, mbstring, intl, ctype, filter, hash
|
||||
|
||||
- name: Install PHP packages
|
||||
run: composer install --no-interaction
|
||||
|
@ -901,25 +901,26 @@ final class PHPMailerTest extends TestCase
|
||||
$this->Mail->isMail();
|
||||
//Expected results
|
||||
|
||||
$bencoderes = '=?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
$bencoderes = '=?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() .
|
||||
' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
' =?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() .
|
||||
' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
' =?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() .
|
||||
' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqQ==?=';
|
||||
$qencoderes = '=?UTF-8?Q?eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee?=' .
|
||||
' =?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?=';
|
||||
' =?utf-8?Q?eeeeeeeeeeeeeeeeeeeeeeeeee=C3=A9?=';
|
||||
$bencodenofoldres = '=?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6k=?=';
|
||||
$qencodenofoldres = '=?utf-8?Q?eeeeeeeee=C3=A9?=';
|
||||
$longheaderres = '=?us-ascii?Q?eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee?=' .
|
||||
PHPMailer::getLE() . ' =?us-ascii?Q?eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee?=';
|
||||
$longutf8res = '=?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() . ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() . ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() . ' =?UTF-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqQ==?=';
|
||||
$longutf8res = '=?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() . ' =?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() . ' =?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6k=?=' .
|
||||
PHPMailer::getLE() . ' =?utf-8?B?w6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqcOpw6nDqQ==?=';
|
||||
$noencoderes = 'eeeeeeeeee';
|
||||
$this->Mail->CharSet = PHPMailer::CHARSET_UTF8;
|
||||
self::assertEquals(
|
||||
$bencoderes,
|
||||
$this->Mail->encodeHeader($bencode),
|
||||
@ -3116,8 +3117,14 @@ EOT;
|
||||
{
|
||||
if (file_exists($this->INCLUDE_DIR . '/test/fakefunctions.php')) {
|
||||
include $this->INCLUDE_DIR . '/test/fakefunctions.php';
|
||||
//This source file is in UTF-8, so characters here are in native charset
|
||||
$this->Mail->CharSet = PHPMailer::CHARSET_UTF8;
|
||||
$result = $this->Mail->punyencodeAddress('test@françois.ch');
|
||||
$this->assertEquals('test@xn--franois-bja35c.ch', $result);
|
||||
$this->assertEquals('test@xn--franois-xxa.ch', $result);
|
||||
//To force working another charset, decode an ASCII string to avoid literal string charset issues
|
||||
$this->Mail->CharSet = PHPMailer::CHARSET_ISO88591;
|
||||
$result = $this->Mail->punyencodeAddress(html_entity_decode('test@françois.ch', ENT_COMPAT, 'ISO-8859-1'));
|
||||
$this->assertEquals('test@xn--franois-xxa.ch', $result);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user