2012-09-18 24 views
0

我需要使用php代碼發送一封郵件。該郵件涉及HTML部分,文本和兩個附件(xls)文件。我如何設置標題和郵件正文。對我來說,一次只有一個人正在工作,郵件正文或附件。請幫助如何設置郵件標題在php中發送郵件時包含附件和HTML主體

+0

如果您使用[PHPMailer](http://code.google.com/a/apache-extras.org/p/phpmailer/),則更適合您。耗時更少,方法更好,集成簡單。 –

+0

你有什麼已經嘗試過 - 你卡在哪裏? – Spontifixus

+0

我用PHPMailer。它工作得很好..謝謝! – Micky

回答

0

你可以試試這個功能,我發現here,你可以,如果你谷歌

<?php 
function mail_attachment($filename, $path, $mailto, $from_mail, $from_name, $replyto, $subject, $message) { 
    $file = $path.$filename; 
    $file_size = filesize($file); 
    $handle = fopen($file, "r"); 
    $content = fread($handle, $file_size); 
    fclose($handle); 
    $content = chunk_split(base64_encode($content)); 
    $uid = md5(uniqid(time())); 
    $name = basename($file); 
    $header = "From: ".$from_name." <".$from_mail.">\r\n"; 
    $header .= "Reply-To: ".$replyto."\r\n"; 
    $header .= "MIME-Version: 1.0\r\n"; 
    $header .= "Content-Type: multipart/mixed; boundary=\"".$uid."\"\r\n\r\n"; 
    $header .= "This is a multi-part message in MIME format.\r\n"; 
    $header .= "--".$uid."\r\n"; 
    $header .= "Content-type:text/plain; charset=iso-8859-1\r\n"; 
    $header .= "Content-Transfer-Encoding: 7bit\r\n\r\n"; 
    $header .= $message."\r\n\r\n"; 
    $header .= "--".$uid."\r\n"; 
    $header .= "Content-Type: application/octet-stream; name=\"".$filename."\"\r\n"; // use different content types here 
    $header .= "Content-Transfer-Encoding: base64\r\n"; 
    $header .= "Content-Disposition: attachment; filename=\"".$filename."\"\r\n\r\n"; 
    $header .= $content."\r\n\r\n"; 
    $header .= "--".$uid."--"; 
    if (mail($mailto, $subject, "", $header)) { 
     echo "mail send ... OK"; // or use booleans here 
    } else { 
     echo "mail send ... ERROR!"; 
    } 
} 
?> 

和使用得到一些其他的代碼也

$my_file = "somefile.zip"; 
$my_path = $_SERVER['DOCUMENT_ROOT']."/your_path_here/"; 
$my_name = "Olaf Lederer"; 
$my_mail = "[email protected]"; 
$my_replyto = "[email protected]"; 
$my_subject = "This is a mail with attachment."; 
$my_message = "Hallo,\r\ndo you like this script? I hope it will help.\r\n\r\ngr. Olaf"; 

函數調用:

mail_attachment($my_file, $my_path, "[email protected]", $my_mail, $my_name, $my_replyto, $my_subject, $my_message); 
相關問題