Bonjour à tous ,
Je voudrais joindre un PDF crée suite à un formulaire avec HTML2PDF puis l'envoyer avec PHMailer.
Tout fonctionne, le mail part bien, j'ai réussi à créer le PDF en l'enregistrant sur mon disque dur.
Mais lorsque j'essaye de le joindre à mon mail, le pdf est bien en pj mais je ne peut pas l'ouvrir .
Il fait bien la même taille de mes pdf crées localement..
J'ai bien suivi les tuto et wiki des deux librairies, enfin je pense ^^
Voici mon code PHPMailer :
et voici le code de HTML2PDF :
J'ai essayé de rajouter ", 'base64', 'application/pdf'" dans le addStringAttachment mais ca ne change rien.
Avez vous une idée de mon erreur?
Merci à tous
Merci à tous
Je voudrais joindre un PDF crée suite à un formulaire avec HTML2PDF puis l'envoyer avec PHMailer.
Tout fonctionne, le mail part bien, j'ai réussi à créer le PDF en l'enregistrant sur mon disque dur.
Mais lorsque j'essaye de le joindre à mon mail, le pdf est bien en pj mais je ne peut pas l'ouvrir .
Il fait bien la même taille de mes pdf crées localement..
J'ai bien suivi les tuto et wiki des deux librairies, enfin je pense ^^
Voici mon code PHPMailer :
<?php
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require './vendor/phpmailer/phpmailer/src/Exception.php';
require './vendor/phpmailer/phpmailer/src/PHPMailer.php';
require './vendor/phpmailer/phpmailer/src/SMTP.php';
require './vendor/autoload.php';
// Instantiation and passing `true` enables exceptions
$mail = new PHPMailer(true);
$mail->CharSet = 'UTF-8';
try {
//Server settings
$mail->SMTPDebug = 0; // Enable verbose debug output
$mail->isSMTP(); // Send using SMTP
$mail->Host = '******'; // Set the SMTP server to send through
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = '*****'; // SMTP username
$mail->Password = '*****'; // SMTP password
//$mail->SMTPSecure = PHPMailer::ENCRYPTION_STARTTLS; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` encouraged
$mail->Port = ****; // TCP port to connect to, use 465 for `PHPMailer::ENCRYPTION_SMTPS` above
//Recipients
$mail->setFrom('****@****.com', '****');
$mail->addAddress($to); // Add a recipient
//$mail->addAddress('ellen@example.com'); // Name is optional
$mail->addReplyTo($shop_email, 'Votre magasin');
//$mail->addCC('cc@example.com');
$mail->addBCC($shop_email);
// Attachments
$mail->addStringAttachment($pdf_done, 'myPdf.pdf'); // Add attachments
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $subject;
$mail->Body = $message;
$mail->AltBody = strip_tags($message);
$mail->send();
echo '';
} catch (Exception $e) {
echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
}
?>
et voici le code de HTML2PDF :
ob_start();
// --> mon code HTML de creeation du PDF
$content = ob_get_clean();
require_once dirname(__FILE__).'/../vendor/autoload.php';
use Spipu\Html2Pdf\Html2Pdf;
use Spipu\Html2Pdf\Exception\Html2PdfException;
use Spipu\Html2Pdf\Exception\ExceptionFormatter;
try{
$pdf = new \Spipu\Html2Pdf\Html2Pdf('P', 'A4', 'fr');
$pdf->writeHTML($content);
$pdf_done = $pdf->output('myPdf.pdf', 'S');
}catch(\Spipu\Html2Pdf\Exception\Html2PdfException $e){
die($e);
}
?>
J'ai essayé de rajouter ", 'base64', 'application/pdf'" dans le addStringAttachment mais ca ne change rien.
Avez vous une idée de mon erreur?
Merci à tous
Merci à tous