Bonjour à tous,
Je développe un système de newsletter par mail, et je suis confronté à un petit problème de taille.
J'envoi un mail en html avec un contenu en image (comme une page web quoi ..), le seul probleme, c'est que le webmail de gmail n'intègre pas les images dans le mail, et que du coup, ca ressemble à rien.
J'intègre l'image dans le mail le source php ressemble à ca :
Dans ce cas prévis, les images n'apparaissent pas dans le corps du mail .. elles sont séparées j'aurai souhaité qu'elles restent intégrées au mail ...
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <?Php $fichier1="image1.jpg"; $fichier2="image2.jpg"; $delimiteur="----=".md5(uniqid(rand())); $header="MIME-Version: 1.0\n"; $header.="Content-Type: multipart/related; boundary=\"$delimiteur\"\n"; $header.="\n"; $msg="test de message format MIME 1.0 Multipart/mixed.\n"; $msg.="--$delimiteur\n"; $msg.="Content-Type: text/html; charset =\"utf-8\"\n"; $msg.="Content-Transfer-Encoding:8bits\n"; $msg.="\n"; $msg.="<html><body><h1>Email HTML avec 2 images</h1>"; $msg.="Image 1:<img src=\"cid:image1\"><br />"; $msg.="Image 2:<img src=\"cid:image2\"><br />"; $msg.="<br /></body></html>\r\n"; $msg.="\r\n"; // On insère la première image $file=fopen($fichier1,"rb"); $fichierattache=fread($file,filesize($fichier)); fclose($file); $fichierattache=chunk_split(base64_encode($fichierattache)); $msg.="--$delimiteur\r\n"; $msg.="Content-Type: application/octet-stream; name=\"$fichier1\"\r\n"; $msg.="Content-Transfer-Encoding: base64\r\n"; $msg.="Content-ID: <image1>\r\n"; $msg.="\r\n"; $msg.=$fichierattache."\r\n"; $msg.="\r\n\r\n"; // On insère la deuxieme image $file2=fopen($fichier2,"rb"); $fichierattache2=fread($file,filesize($fichier)); fclose($file); $fichierattache2=chunk_split(base64_encode($fichierattache)); $msg.="--$delimiteur\r\n"; $msg.="Content-Type: application/octet-stream; name=\"$fichier1\"\r\n"; $msg.="Content-Transfer-Encoding: base64\r\n"; $msg.="Content-ID: <image2>\r\n"; $msg.="\r\n"; $msg.=$fichierattache2."\r\n"; $msg.="\r\n\r\n"; $msg.="--$delimiteur\r\n"; $destinataire="adresse@gmail.com"; $expediteur="noreply@mail.com"; $reponse=$expediteur; mail($destinataire,"Sujet du mail",$msg,"From: $expediteur\r\nReply-To: $reponse\r\n".$header); ?>
Qu'est ce qu'il y a qui ne plait pas à gmail ?
Partager