PHP mail()发送文件,不懂边界定界符

时间:2017-11-15 14:41:00

标签: phpmailer

尝试通过功能邮件发送电子邮件() 我收到一封没有文件的电子邮件它只能发送一个文件。 但这不能发送多个文件。 我不明白如何使用边界?所以我的代码不起作用。

$passage_ligne = "\r\n";
$boundary = "-----=".md5(rand());
$boundary_alt = "-----=".md5(rand());

$headers  = 'From:'.$nom.' <'.$email.'>' . "\r\n";
$headers .= 'Return-Path: '.$nom.' <'.$email.'>'.$passage_ligne;     
$headers .= "Message-ID:<".time()." TheSystem@".$_SERVER['SERVER_NAME'].">".$passage_ligne;
$headers .= "X-Mailer: PHP v".phpversion().$passage_ligne;          
$headers.= "MIME-Version: 1.0".$passage_ligne;
$headers.= "Content-Type: multipart/mixed;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;

$corps = $passage_ligne."--".$boundary.$passage_ligne;
$corps.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary_alt\"".$passage_ligne;
$corps.= $passage_ligne."--".$boundary_alt.$passage_ligne;
$corps.= "Content-Type: text/plain; charset=\"ISO-8859-1\"".$passage_ligne;
$corps.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
$corps.= $passage_ligne.$message.$passage_ligne;
$corps.= $passage_ligne."--".$boundary_alt.$passage_ligne;

if(isset($_FILES["file"]) &&  $_FILES['file']['name'] != "")
{
 $nom_fichier = $_FILES['file']['name'];
 $source = $_FILES['file']['tmp_name'];
 $type_fichier = $_FILES['file']['type'];
 $taille_fichier = $_FILES['file']['size'];
foreach($_FILES as $photo){

    $tmp_name = $photo['tmp_name'];
    $type = $photo['type'];
    $name = $photo['name'];
    $size = $photo['size'];

    if (file_exists($tmp_name)){

        if(is_uploaded_file($tmp_name)){

            $file = fopen($tmp_name,'r');
            $data = fread($file,filesize($tmp_name));
            fclose($file);
            $data = chunk_split(base64_encode($data));
        }

    $corps .= $passage_ligne."--".$boundary."--".$passage_ligne;
    $corps .= "Content-Type: ".$type."; name=\"".$name."\"".$passage_ligne;
    $corps .= "Content-Transfer-Encoding: base64".$passage_ligne;
    $corps .= "Content-Disposition: attachment; filename='".$name."'".$passage_ligne;
    $corps .= $passage_ligne.$data.$passage_ligne.$passage_ligne;                   
    }
}
$corps.= $passage_ligne."--".$boundary."--".$passage_ligne;

有人可以向我解释这个界限吗?如何使用它? 感谢。

0 个答案:

没有答案