繁体   English   中英

PHP Pear Mail-添加zip附件

[英]PHP Pear Mail - Adding zip attachment

我搜索了堆栈溢出,但找不到我的问题的答案。

我试图将一个zip文件作为附件附加到通过PEAR邮件自动发送的电子邮件中。 下面是我正在使用的代码:

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

$from = '<arturl@stocktaking.ie>';
    $to = '<artlemaks@gmail.com>';
    $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”,不带扩展名。 我尝试回显$ file变量,以确保选择了正确的文件。

关于问题是什么建议?

谢谢!

您未提供addAttachment所有参数-请参阅位于http://pear.php.net/manual/en/package.mail.mail-mime.addattachment.php的文档

特别是第三个$name参数对您来说应该很有趣。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM