«Не удалось получить доступ к файлу:» в функции PHPmail

Я пытаюсь отправить файл, который существует на моем сервере, используя PHPMailer. Когда я запускаю этот код, я получаю «Не могу получить доступ к файлу», и письмо отправляется без вложения. Кто-нибудь может мне помочь, как исправить это

$checkyes=$_POST['check']; $date = date('Ym-d'); $my_path ="/data/data/www/fms/pricelists/$checkyes{$date}.xls"; include "class.phpmailer.php"; // include the class file name $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled //$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail $mail->Host = "mail.authsmtp.com"; $mail->Port = "25"; // or 587 $mail->IsHTML(true); $mail->Username = "xxxx"; $mail->Password = "xxxxxxx"; $mail->SetFrom("xxxxxxxxx"); $mail->Subject = $sub1; $mail->Body = $text_mail; $mail->AddAddress("xxx@xxxxxx.com"); $mail->AddAddress("xxxxxxx@gmail.com"); $mail->AddAttachment($my_file, $my_path); if(!$mail->Send()){ echo "Mailer Error: " . $mail->ErrorInfo; } else{ echo "Message has been sent"; } 

Related of "«Не удалось получить доступ к файлу:» в функции PHPmail"

Это работает:

 $my_path ="/data/data/www/fms/pricelists/example.xls"; include "class.phpmailer.php"; // include the class file name $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled //$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail $mail->Host = "mail.authsmtp.com"; $mail->Port = "25"; // or 587 $mail->IsHTML(true); $mail->Username = "xxxx"; $mail->Password = "xxxxxxx"; $mail->SetFrom("xxxxxxxxx"); $mail->Subject = $sub1; $mail->Body = $text_mail; $mail->AddAddress("xxx@xxxxxx.com"); $mail->AddAddress("xxxxxxx@gmail.com"); $mail->AddAttachment($my_path); if(!$mail->Send()){ echo "Mailer Error: " . $mail->ErrorInfo; } else{ echo "Message has been sent"; } 

Вы не указали свои параметры:

 public function addAttachment($path, $name = '', $encoding = 'base64', $type = '', $disposition = 'attachment') 

Таким образом, это будет путь:

 $mail->AddAttachment($my_path . $my_file);