前端之家收集整理的这篇文章主要介绍了
php 发送邮件函数功能实例,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对
PHP发送邮件函数感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!
/**
* PHP发送邮件函数
*
* @param
* @arrange 网: jb51.cc
**/
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_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,$msg,$headers,"-fdonotreply@domain.com");
}
}
/*** 来自编程之家 jb51.cc(jb51.cc) ***/