Not a bug, but a known issue with Hotmail/Outlook.com and easily fixed by amending define(“HTMLEMAIL_ENCODING”,“quoted-printable”); in your config/config.php file to 7-bit or 8-bit as detailed in the old forums.
But It seem the previous solution of add in config file the line
define(“HTMLEMAIL_ENCODING”,“8bit”);
doesn’t work.
Because I still have in my config file.
define(“HTMLEMAIL_ENCODING”,“8bit”);
My email header Are:
boundary="b1_36f5ab442d085ba7997718b57a3bda86"
Return-Path: contact@mydomain.com
X-OriginalArrivalTime: 23 Nov 2015 14:21:14.0341 (UTC) FILETIME=[35B2B150:01D125FA]
This is a multi-part message in MIME format.
--b1_36f5ab442d085ba7997718b57a3bda86
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
@amsa There has been a change in phpmailer to do with long lines (> 1000 charactes). It now uses quoted-printable encoding even when a different encoding was specified with HTMLEMAIL_ENCODING, so that it can safely break the long line.
Does that appear to be the cause of your problem?
@duncanc What can I tell you is the fact that I cannot display any of my html email in hotmail with phpmailer 5.2.14
If I remplace it by 5.2.9 the diplay are ok.
I cannot tell you if it’s this change of encoding for 8bit to quoted-printable, but I guess.
And If i modify the phpmailer in order to leave in 8bits and it’s work
Clsss.PHPMAILER
public function createBody()
{
[...]
$this->setWordWrap();
[...]
/*J440 COMMENTING THIS PART IN ORDER TO SEND MESSAGE in 8bit.
//If lines are too long, and we're not already using an encoding that will shorten them,
//change to quoted-printable transfer encoding
if ('base64' != $this->Encoding and self::hasLineLongerThanMax($this->Body)) {
$this->Encoding = 'quoted-printable';
$bodyEncoding = 'quoted-printable';
}
*/
[...]
/* J440 COMMENTING THIS PART IN ORDER TO SEND MESSAGE in 8bit.
//If lines are too long, change to quoted-printable transfer encoding
if (self::hasLineLongerThanMax($this->AltBody)) {
$altBodyEncoding = 'quoted-printable';
}
*/
//If lines are too long, and we're not already using an encoding that will shorten them,
//change to quoted-printable transfer encoding
if ('base64' != $this->Encoding and self::hasLineLongerThanMax($this->Body)) {
$this->Encoding = 'quoted-printable';
$bodyEncoding = 'quoted-printable';
}
*/
Everything are ok.
I also tried to only add to the config file:
define(“HTMLEMAIL_ENCODING”,‘base64’);
Which work also, but in this case the email are encoding as base64.
So I hesitate in the 2 solutions.
the 2nd one are so much easier to maintain.
You said that it works with the previous version of phpmailer, so you should use that rather than modify its code.
In your config file you can give the path to the version of phpmailer that you want to use.
# you can specify the location of the phpMailer class here
# if not set, the version included in the distribution will be used
## eg for Debian based systems, it may be something like the example below
## when you do this, you may need to run some tests, to see if the phpMailer version
## you have works ok
#define ('PHPMAILER_PATH','/usr/share/php/libphp-phpmailer/class.phpmailer.php');
The value needs to be the path to the file PHPMailerAutoload.php not class.phpmailer.php, e.g.
Test Send long line in 8Bit
All message are htmml message with long line >1000
Test on 3 main client Hotmail/Gmail/personnal serveur mail
Long line with PHPMailer 5.2.9 / 8bit
or
Long line with PHPMailer 5.2.14 Modify / 8bit
Hotmail/ gmail Ok
Personnal serveur / domain some image disappear??
Using 8 bits aren’t the good solution, first because it doesn’t respect norm, and some image are missing. Even if it quiet easy to trick, as I only have to add some comment in my email in order to be sure the long-line break happen in
Test Send long line in quoted-printable test 1 Long-line html message
Long line with PHPMailer 5.2.14 / quoted-printable
Gmail + personnal message ok
Hotmail display nothing and add "= " every where
test 2 Long-line html message very simple as:
<p>test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test test</p>
Result:
Long line with PHPMailer 5.2.14 / quoted-printable
Gmail + personnal message ok
Hotmail add "= " every where
=
test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test test t= est test test test test test test test test test test test test test
Conclusion I don’t have any satisfying solution.
So I have to find Why if I send long line message with PHPlist 3.2.3 /phpmailer 5.2.14 (quoted-printable) my message couldn’t be display on hotmail.
p.s:
I tried To make new phplist install and still the same.
Just to add to this topic, I’ve encountered the same problem when I upgraded from v.3.0.11 to v.3.2.4. My database was set to the proper to UTF-8 with collation utf8_general_ci but it seemed that the whole code was plagued with “equal signs” on output.
The only way I could resolve this after two hours of searching, was by uploading the entire old v3.0.11 PHPMailer directory to the present 3.2.4 version. That fixed it.
BTW, the phpmailer included in that version was Version 5.2.9.
Unfortunately, this will probably break on my next upgrade and I wish the right solution could be found. I don’t know if it’s because my database dates over 11 year (dagn, have I been using PHPlist this long?) and I should just start afresh (which would be a shame to loose all former version links).
You can try using an older version of phpmailer with the current version of phplist. Just put it somewhere outside of the phplist directory and add this line to your config file identifying the autoload file
Thanks a lot Duncan. Took me long enough to come back to you but while upgrading to 3.2.5, I applied your suggestion (linking to an older PHPmailer [v 5.2.9] located outside the phplist directory) and it seems to work. I guess I’ll know for real when I send out my next monthly newsletter on the 15th.
I took a look at the phpmailer master vesion on Github, but it’s 5.2.14 (which is the one giving problems), so I preferred to cut the testing short and apply your work around, while keeping an eye on the discussion on Github.