[ZF 2] Zend Mail\Message mail html et fichier pdf en pièce jointe de + 8Mo
Bonjour à tous
Voici le code que j'utilise pour envoyer des emails contenant du html et pouvant contenir un fichier pdf rataché en pièce jointe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
function sendMail( $txtSujet, $txtContenuHtml, $destinataire, $destinataireSecond = array(), $aFichier = array()) {
$sm = $this->getController()->getServiceLocator();
$config = $sm->get('config');
$comptesMails = $config['mail'];
$mail = new Mail\Message();
$mail->setEncoding("UTF-8");
# Récupération des paramètres mails de la boite gestion.
$mail->setFrom($comptesMails['gestion']['mail'], $comptesMails['gestion']['intitule']);
# Gestion des destinataires
$mail->addTo($destinataire);
$mail->addBcc($comptesMails['gestion']['mail'], $comptesMails['gestion']['intitule']); |
Code:
1 2 3 4 5 6 7 8 9 10
| foreach ($destinataireSecond as $adresseSecondaire){
$mail->addCc($adresseSecondaire);
}
# Sujet
$mail->setSubject($txtSujet);
# Contenu Texte
$partTexte = new Mime\Part(strip_tags(str_replace(array('<br>', '<li>', '</li>'), array("\n", '- ', "\n"), $txtContenuHtml)));
$partTexte->type = "text/plain; charset=UTF-8";
$partTexte->encoding = 'quoted-printable'; |
Code:
1 2 3 4 5 6 7
|
# Contenu Html
$partHtml = new Mime\Part('<html><body><div>'.$txtContenuHtml.'</div></body></html>');
$partHtml->type = "text/html; charset=UTF-8";
$partHtml->encoding = 'quoted-printable';
$body = new Mime\Message(); |
Code:
1 2 3 4 5 6 7 8
|
if($aFichier['error'] == 0 && $aFichier['size'] > 0){
$content = new Mime\Message();
$content->addPart($partTexte);
$content->addPart($partHtml);
$contentPart = new Mime\Part($content->generateMessage());
$contentPart->type = "multipart/alternative;\n boundary=\"" .$content->getMime()->boundary() . '"';
$body->addPart($contentPart); |
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$messageType = 'multipart/mixed';
$file = $aFichier['tmp_name'];
$handle = fopen($file, 'rb'); //Ouverture du fichier
$lectureFichier = fread($handle, filesize($file)); //Lecture du fichier
fclose($handle); //Fermeture du fichier
$attachment = new Mime\Part($lectureFichier);
$attachment->filename = $aFichier['name'];
$attachment->type = $aFichier['type'];
$attachment->encoding = Mime\Mime::ENCODING_BASE64;
$attachment->disposition = Mime\Mime::DISPOSITION_ATTACHMENT; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
$body->addPart($attachment);
$mail->setBody($body);
$mail->getHeaders()->get('content-type')->setType($messageType);
$mail->setEncoding('UTF-8');
}else{
$body->setParts(array($partTexte, $partHtml));
$mail->setBody($body);
$mail->getHeaders()->get('content-type')->setType('multipart/alternative');
}
# Envoi du mail
$transport = new Mail\Transport\Sendmail();
$transport->send($mail);
} |
Il y a environ un an, Grunk avait pris le temps de m'aider ce qui avait abouti au code ci-dessus tiré du tuto https://akrabat.com/sending-attachme...with-zendmail/
Et jusqu'a présent ce code ne me provoquait aucune erreur. :mrgreen::mrgreen:
Mais voila maintenant j'ai besoin d'envoyer des fichiers de plus de 8 Mo et zend s'interrompt, me signale que sendMail a rencontré une "erreur inconnue". :calim2::calim2::calim2::aie::aie::aie:
Résultat pas de mail envoyé !!!!
Quelqu'un a déjà eu le même problème ? :weird::weird::weird:8O
merci