PHP mail() 發送

2 篇文章 / 0 new
最新文章
author
PHP mail() 發送
$to = "test@mail.net.tw";//收件者
$subject = "My HTML email test.";//主旨
$headers = "From: test@mail.net\r\n";//寄件者
$headers .= "Cc: test@msa.hinet.net\r\n";//副本
$headers .= "Bcc: test@mail.net\r\n";//密件副本
$headers .= "Reply-To: test@mail.net\r\n";//指定收件者回覆時的預設的信箱
$headers .= "Return-Path: test@mail.net\r\n";//如無設定有時會被mail server 檔下
//信件格式
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";
//信件內容
$message = "<html><body>";
$message .= "php <strong>信件發送</strong>";
$message .= "</body></html>";
if (mail($to, $subject, $message, $headers)) {
    echo "信件已寄出";
} else {
    echo "信件發送失敗!";
}
author
mail 發送含附加檔案
/*
寄信程式
$from : 寄件人, $mailto : 收件人, $subject : 信件標題, $msg : 信件內容, $filename : 附加路徑+檔案
*/
function SendMail($from,$mailto,$subject,$msg,$filename=''){ // 傳送 mail
    $subject = '=?utf-8?B?'.base64_encode("$subject").'?='; // 標題加密(防亂碼)
    $boundary = uniqid( ""); // 產生分隔字串
    // 設定MAIL HEADER
    $headers = '';
    $headers .= 'MIME-Version: 1.0'."\n";
    $headers .= 'Content-type: multipart/mixed; boundary="'.$boundary.'"; charset="UTF-8"'."\n"; //宣告分隔字串
    $headers .= 'From:'.$from."\n"; // 設定寄件者
    $headers .= 'X-Mailer: PHP/' . phpversion()."\n";
    // 信件本文header
    $body .= '--'.$boundary."\n";
    $body .= 'Content-type: text/plain; charset="UTF-8"'."\n";
    $body .= 'Content-Transfer-Encoding: 7bit'."\n\n";
    $body .= $msg."\n"; // 本文內容
    //附加檔案處理
    if($filename){
        $mimeType = mime_content_type($filename); // 判斷檔案類型
        if(!$mimeType)$mimeType ="application/unknown"; // 若判斷不出則設為未知
        $fp = fopen($filename, "r"); // 開啟檔案
        $read = fread($fp, filesize($filename)); // 取得檔案內容
        fclose($fp); // 關閉檔案
        $read = base64_encode($read);//使用base64編碼
        $read = chunk_split($read);  //把檔案所轉成的長字串切開成多個小字串
        $file = basename($filename); //傳回不包含路徑的檔案名稱(mail中會顯示的檔名)
        // 設定附加檔案HEADER
        $body .= '--'.$boundary ."\n";
        $body .= 'Content-type: '.$mimeType.'; name='.$file."\n";
        $body .= 'Content-transfer-encoding: base64'."\n";
        $body .= 'Content-disposition: attachment; filename='.$file."\n\n";
        $body .= $read ."\n"; // 加入附加檔案內容
    }
    $body .= "--$boundary--";//郵件結尾
 
    mail($mailto, $subject, $body, $headers); // 寄出信件
}
from http://blog.roodo.com/linpapa/archives/10000107.html
發表回應前,請先登入
Free Web Hosting