2016-05-13 11 views
0

スタックオーバーフローが検索されましたが、私の問題の答えが見つかりません。PHPの郵便メール - zip添付ファイルを追加する

私は電子メールの添付ファイルとしてZIPファイルを添付しようとしていますが、PEARメールで自動的に送信します。以下は私が使用しているコードです:

require_once "Mail.php"; 
require_once "mime.php"; 

$from = '<[email protected]>'; 
    $to = '<[email protected]>'; 
    $subject ='Test stocktake summary reports' ; 
    //$body = "Hello,\n\nReports for test site have been uploaded and can be accessed by logging in to http://192.168.3.44/ using the following credentials:\n\nusername:testUser \n\npassword:testPassword\n\nKind Regards,\n\n Supervisor Name"; 

    $text = 'Text version of email'; 
    $html = '<html><body>HTML version of email</body></html>'; 
    $file = 'C:/Temp/Reports'.$this->stocktake_id.'.zip'; 

    echo $file; 
    //die(); 
    $crlf = "rn"; 
    $hdrs = array(
        'From' => $from, 
        'To'  => $to, 
        'Subject' => $subject 
       ); 

    $mime = new Mail_mime($crlf); 

    $mime->setTXTBody($text); 
    $mime->setHTMLBody($html); 

    $mime->addAttachment($file,'application/zip'); 

    $body = $mime->get(); 
    $hdrs = $mime->headers($hdrs); 

    $smtp = Mail::factory('smtp', array(
        'host' => 'DNS SERVER', 
        'port' => '465', 
        'auth' => true, 
        'username' => 'USERNAME', 
        'password' => 'PASSWORD' 
       )); 

    $mail =& Mail::factory('mail', $params); 
    $mail = $smtp->send($to, $hdrs, $body); 


    if (PEAR::isError($mail)) { 
     echo('<p>' . $mail->getMessage() . '</p>'); 
    } else { 
     echo('<h2>Message successfully sent!</h2>'); 
    } 

コードは部分的に動作します。それは電子メールを送信し、ファイルを添付しますが、添付ファイルは拡張子のない "noname"と呼ばれます。私は正しいファイルが選択されていることを確認するために$ファイル変数をエコーし​​ようとしました。

問題の原因を教えてください。

ありがとうございました!

答えて

関連する問題