Skip to content

Instantly share code, notes, and snippets.

@xdstack
Created September 13, 2012 13:02
Show Gist options
  • Save xdstack/3714143 to your computer and use it in GitHub Desktop.
Save xdstack/3714143 to your computer and use it in GitHub Desktop.
php 发送带Html格式Email
/*
EXAMPLE: htmlmail('user@domain.com', 'Look ma, HTML e-mails','You just got <a href="http://www.yougotrickrolled.com/">Rick Rolled</a>');
NOTE: $headers is optional, but can be used to set From, CC, etc.
*/
 
function htmlmail($to, $subject, $message, $headers = NULL)
{
        $mime_boundary = md5(time());
 
        $headers .= "\nMessage-ID: <" . time() . " TheSystem@{$_SERVER['SERVER_NAME']}>\n";
        $headers .= "X-Mailer: PHP " . phpversion() . "\n";
        $headers .= "MIME-Version: 1.0\n";
        $headers .= "Content-Type: multipart/alternative;boundary={$mime_boundary}\n\n";
 
        $newmessage = "This is a multi-part message in MIME format.";
        $newmessage .= "\n\n--{$mime_boundary}\n";
        $newmessage .= "Content-type: text/plain;charset=utf-8\n\n";
        $newmessage .= strip_tags(str_replace(array('<br>', '<br />'), "\n", $message)) . "\n\n";
 
        $newmessage .= "\n\n--{$mime_boundary}\n";
        $newmessage .= "Content-type: text/html;charset=utf-8\n\n";
 
        // prepended HTML
        $newmessage .= '<body style="margin:0"><table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td bgcolor="#ffffff" valign="top"><table width="750" border="0" cellpadding="0" cellspacing="0" align="center"><tr><td bgcolor="#ffffff" width="750">';
 
        // HTML message that was passed to this function
        $newmessage .= $message;
 
        // appended HTML
        $newmessage .= '</td></tr></table></td></tr></table></body>';
 
        return mail($to, $subject, $newmessage, $headers);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment