php发送邮件
function sendEmail($to, $from, $subject, $message, $html_message=null) { $eol = "\n"; $mime_boundary = md5(time()); $mime_boundary_header = chr(34) . $mime_boundary . chr(34); if (empty($html_message)) { $html_message = nl2br($message); } $headers = "From: $from" . $eol; $headers .= "Message-ID: <" . time() . " domain>" . $eol; $headers .= "X-Mailer: PHP v" . phpversion() . $eol; // These two to help avoid spam-filters $headers .= 'MIME-Version: 1.0' . $eol; // Setup for text OR html $headers .= "Content-Type: multipart/alternative; boundary=" . $mime_boundary_header . $eol . $eol; $msg = "This is a multi-part message in MIME format to $to." . $eol . $eol; // Text Version $msg .= "--" . $mime_boundary . $eol; $msg .= "Content-Type: text/plain;" .$eol . $eol; //$msg .= "Content-Transfer-Encoding: base64".$eol; //$msg .= base64_encode($txt_body).$eol.$eol; $msg .= $message . $eol . $eol; // HTML Version $msg .= "--".$mime_boundary . $eol; $msg .= "Content-Type: text/html;{$eol}Content-Transfer-Encoding: 7bit" . $eol . $eol; //$msg .= "Content-Transfer-Encoding: base64".$eol; //$msg .= base64_encode($html_body).$eol.$eol; $msg .= $html_message . $eol . $eol; // finish with two eol's for better security. see Injection. $msg .= "--" . $mime_boundary . "--" . $eol . $eol; if (isset($_SERVER) && isset($_SERVER['HTTP_HOST']) && !preg_match('/\.com$/', $_SERVER['HTTP_HOST'])) { // DEV preg_match('/[\w|\d|\ |\-]+/', $subject, $subject_label); if (defined('DOCUMENT_ROOT')) { $logfile = DOCUMENT_ROOT .'/scripts/logs/sendEmail/mail_'. microtime(true); } else { $logfile = '../../scripts/logs/sendEmail/mail_'. microtime(true); } if (isset($subject_label[0])) { $logfile .= ' - '. $subject_label[0]; } $fh = fopen($logfile . '.log', 'w+'); if (!$fh) { $fh = fopen(preg_replace('/^\.\.\//', '', $logfile) . '.log', 'w+'); } if ($fh) { $filelog_content = date('Y-m-d H:i:s')."\n\n"; $filelog_content .= print_r($to, true)."\n"; $filelog_content .= print_r($subject, true)."\n\n"; $filelog_content .= print_r($msg, true); fwrite($fh, $filelog_content); fclose($fh); } } else { mail($to, $subject, $msg, $headers, "-fdonotreply@domain.com"); } }