Bonjour,

Voici le code suivant qui envoie un mail au format HTML :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
if ($urlFile != null) {
            
            $urFilePath = $_SERVER['DOCUMENT_ROOT'] . "/report/web/upload/doc/newsletter/" . $urlFile;
            
            $message = \Swift_Message::newInstance()
                    ->setSubject($subject)
                    ->setFrom($from)
                    ->setTo($to)
                    ->setBody($body)
                    ->attach(\Swift_Attachment::fromPath($urFilePath), "application/octet-stream");
            
        } else {
            $message = \Swift_Message::newInstance()
                    ->setSubject($subject)
                    ->setFrom($from)
                    ->setTo($to)
                    ->setBody($body);
        }
        
        $type = $message->getHeaders()->get('Content-Type');
        $type->setValue('text/html');
        $type->setParameter('charset', 'utf-8');
        
        $controlleur->get('mailer')->send($message);
Quand il n'y a pas de pièce jointe, le mail est bien reçu au format HTML.

Quand on ajoute une pièce jointe au même message, le mail est reçu au format texte : par exemple un lien apparaîtra sous cette forme <a href="blabla">Lien</a>. Par contre le fichier joint (formats Excel, Doc, etc) est bien transféré et s'ouvre correctement.

Comment résoudre ce problème de mise en forme du mail lorsqu'une pièce jointe est ajoutée ?

Merci d'avance.

A+