龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

email php发送邮件

时间:2014-06-22 02:12来源:网络整理 作者:网络 点击:
分享到:
php发送邮件 [代码片段(75行)]
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");
        }
    }
精彩图集

赞助商链接