I have tried the changes suggested by EvilPuppetMaster in 2.10.3 and it works fine! I have added css, html and images to my system (ie subscribe notification) emails, and they appear in all the glory of html
The only email which became corrupted was the email sent upon change of personal details. Occasionally, the ones that did work stopped working for a user (not sure why it just stopped after working properly).
I fixed these problems with a little fix as detailed below, so ALL the emails work ALL the time. (The problem was that after the database call to get the message, any " marks appeared as \" which messed up the html).
In the file admin/subscribelib2.php
After the code block:
[code]
$message = ereg_replace('\[LISTS\]', $lists, getUserConfig("updatemessage",$userid));
$message = ereg_replace('\[USERDATA\]', $datachange, $message);
if ($emailchanged) {
$newaddressmessage = ereg_replace('\[CONFIRMATIONINFO\]', getUserConfig("emailchanged_text",$userid), $message);
$oldaddressmessage = ereg_replace('\[CONFIRMATIONINFO\]', getUserConfig("emailchanged_text_oldaddress",$userid), $message);
} else {
$message = ereg_replace('\[CONFIRMATIONINFO\]', "", $message);
}
[/code]
Add this line of code:
[code]
$message = stripslashes($message); // Needed so html email will display properly; ie converts \" to "
[/code]
After the code:
[code]
$subscribemessage = ereg_replace('\[LISTS\]', $lists, getUserConfig("subscribemessage:$id",$userid));
[/code]
Add:
[code]
$subscribemessage = stripslashes($subscribemessage); // Needed so html email will display properly; ie converts \" to "
[/code]
In index.php
After the code:
[code]
$confirmationmessage = ereg_replace('\[LISTS\]', $lists, getUserConfig("confirmationmessage:$spage",$userdata["id"]));
[/code]
Add:
[code]
$confirmationmessage = stripslashes($confirmationmessage); // Needed so html email will display properly; ie converts \" to "
[/code]
After the code:
[code]
$unsubscribemessage = ereg_replace("\[LISTS\]", $lists,getUserConfig("unsubscribemessage",$userid));
[/code]
Add the code:
[code]
$unsubscribemessage = stripslashes($unsubscribemessage); // Needed so html email will display properly; ie converts \" to "
[/code]
The only problem is any images added are not embedded, so mail programs won't display the images until one clicks "Display Images". It would be nice if images could be embedded... but I'm not too fussed about embedded images right now. The emails look nice with just css and html.