php發送郵件函數,支持html和普通文本
<?php function send_mail($emailaddress, $fromaddress, $namefrom, $emailsubject, $body) { $eol="\n"; $mime_boundary=md5(time());Common Headers
$headers .= "From: $namefrom <$fromaddress>".$eol; $headers .= "Reply-To: $namefrom <$fromaddress>".$eol; $headers .= "Return-Path: $namefrom <$fromaddress>".$eol; // these two to set reply address $headers .= "Message-ID: <".$now." TheSystem@".$_SERVER['SERVER_NAME'].">".$eol; $headers .= "X-Mailer: PHP v".phpversion().$eol; // These two to help avoid spam-filters
Boundry for marking the split & Multitype Headers
$headers .= 'MIME-Version: 1.0'.$eol; $headers .= "Content-Type: multipart/related; boundary=\"".$mime_boundary."\"".$eol;
$msg = "";
Setup for text OR html
$msg .= "Content-Type: multipart/alternative".$eol;
Text Version
$msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: text/plain; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol; $msg .= strip_tags(str_replace("<br>", "\n", $body)).$eol.$eol;
HTML Version
$msg .= "--".$mime_boundary.$eol; $msg .= "Content-Type: text/html; charset=iso-8859-1".$eol; $msg .= "Content-Transfer-Encoding: 8bit".$eol; $msg .= $body.$eol.$eol;
Finished
$msg .= "--".$mime_boundary."--".$eol.$eol; // finish with two eol's for better security. see Injection.
SEND THE EMAIL
// ini_set(sendmail_from,$fromaddress); // the INI lines are to force the From Address to be used ! mail($emailaddress, $emailsubject, $msg, $headers);
// ini_restore(sendmail_from); // echo "mail send"; return 1; }
?></pre>