Я искал переполнение стека, и я не могу найти ответ на свою проблему.PHP Pear Mail - Добавление 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» без расширения. Я попытался повторить переменную $ file, чтобы убедиться, что выбран правильный файл, и это так.
Любые предложения по какой проблеме?
Спасибо!