If you want to use HTML, instead of only plain text in the Newsletter from the administration panel, you have to do the following:
Replace the function newsletter_send() in admin/modules/newsletter.php with:
function newsletter_send($title, $content) { global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail; $send_html_messages = "yes"; $from = $adminmail; $subject = "[$sitename Newsletter]: ".stripslashes($title).""; $content = stripslashes($content); $content = "$sitename "._NEWSLETTER."\n\n\n$content\n\n- $sitename "._STAFF."\n\n\n\n\n\n"._NLUNSUBSCRIBE.""; $result = sql_query("select email from ".$user_prefix. "_users where newsletter='1'", $dbi); while(list($email) = sql_fetch_row($result, $dbi)) { $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n"; $xheaders .= "X-Sender: <" . $adminmail . ">\n"; $xheaders .= "X-Mailer: PHP\n"; // mailer $xheaders .= "X-Priority: 6\n"; // Urgent message! if ($send_html_messages == "yes") { $xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type } mail("$email","$subject","$content",$xheaders); } Header("Location: admin.php?op=newsletter_sent"); } |
and the function massmail_send() with
function massmail_send($title, $content) { global $user_prefix, $sitename, $dbi, $nukeurl, $adminmail; $send_html_messages = "yes"; $from = $adminmail; $subject = "[$sitename]: $title"; $content = stripslashes($content); $content = ""._FROM.": $sitename\n\n\n\n$content\n\n\n\n- $sitename "._STAFF."\n\n\n\n"._MASSEMAILMSG.""; $result = sql_query("select email from ".$user_prefix ."_users where uid != '1'", $dbi); while(list($email) = sql_fetch_row($result, $dbi)) { $xheaders = "From: " . $sitename . " <" . $adminmail . ">\n"; $xheaders .= "X-Sender: <" . $adminmail . ">\n"; $xheaders .= "X-Mailer: PHP\n"; // mailer $xheaders .= "X-Priority: 6\n"; // Urgent message! if ($send_html_messages == "yes") { $xheaders .= "Content-Type: text/html; charset=iso-8859-1\n"; // Mime type } mail("$email","$subject","$content",$xheaders); } Header("Location: admin.php?op=massmail_sent"); } |
The changes are in both functions the same: a flag, $send_html_messages, is checked and if set to "yes", the headers of the Newsletter mails (stored in the $xheaders variable) get an extra line for the MIME type:
Content-Type: text/html; charset=iso-8859-1 |
See also HTML Newsletter, but be warned that the code presented in that link, may not escape double quotes, probabbly due to an upgrade bug in the forums.