PHPMailer не отправляет вложение
При попытке использовать PHPMailer для отправки вложения тело отправляется, но вложение не отправляется. Вот код:
$filename2 = "$key.txt";
$filename = "$key.zip";
$file_path = dirname(__FILE__);
$myfile = fopen("$file_path/$filename2", "w") or die("Unable to open file!");
fwrite($myfile, $privkey);
fwrite($myfile, $pubkey);
fclose($myfile);
$zipFile = "$file_path/$filename";
$zipArchive = new ZipArchive();
if (!$zipArchive->open($zipFile, ZIPARCHIVE::OVERWRITE)){
die("Failed to create archive\n");
}
$zipArchive->addGlob($filename2);
if (!$zipArchive->status == ZIPARCHIVE::ER_OK){
echo "Failed to write local files to zip\n";
}
$zipArchive->close();
//Create Email to send to user with atachment
$message = "Test Email";
$subject = "Testing emails with attachment";
try
{
$email = new PHPMailer();
$email->setFrom('[email protected]', 'Gasp Bot');
$email->addReplyTo('[email protected]', 'No-Reply');
$email->Subject = $subject;
$email->Body = $message;
$email->AddAddress($to,$username);
$email->AddAttachment($file_path, $filename);
$email->Send();
echo "Message has been sent";
}
catch(phpmailerException $e){
echo $e->errorMessage();
}catch (Exception $e){
echo $e->getMessage();
}
unlink ($zipFile);
unlink ("$file_path/$filename2");
Я уже пытался
$email->AddAttachment($zipFile);
Но если я использую это, тело сообщения также не отправляется.
Может ли кто-нибудь показать мне ошибку, которую я совершаю?
2
1 answers
Рабочий код
$filename2 = "$key.txt";
$filename = "$key.zip";
$file_path = dirname(__FILE__);
$myfile = fopen("$file_path/$filename2", "w") or die("Unable to open file!");
fwrite($myfile, $privkey);
fwrite($myfile, $pubkey);
fclose($myfile);
$zipFile = "$file_path/$filename";
$zipArchive = new ZipArchive();
if (!$zipArchive->open($zipFile, ZIPARCHIVE::OVERWRITE)){
die("Failed to create archive\n");
}
$zipArchive->addGlob($filename2);
if (!$zipArchive->status == ZIPARCHIVE::ER_OK){
echo "Failed to write local files to zip\n";
}
$zipArchive->close();
try{
//Create Email to send to user with atachment
$message = "TEST MESSAGE";
$email = new PHPMailer();
$email->setFrom('[email protected]', 'Gasp Bot');
$email->addReplyTo('[email protected]', 'No-Reply');
$email->Subject = $subject;
$email->IsHTML(true);
$email->Body = $message;
$email->AddAddress($to,$username);
$email->AddAttachment("$file_path/$filename");
if(!$email->Send()){
echo "Message was not sent <p>";
echo "Mailer Error: " . $email->ErrorInfo;
exit;
}else{
echo "Message has been sent";
}
}catch(phpmailerException $e){
echo $e->errorMessage();
}catch (Exception $e){
echo $e->errorMessage();
}
unlink ($zipFile);
unlink ("$file_path/$filename2");
Аперитивное добавление
$email->IsHTML(true);
Сделал так, чтобы
$email->AddAttachment("$file_path/$filename");
Работает
0
Author: NobodyNemo, 2016-01-11 14:54:22