Bonjour,

Merci à ce qui on la force de lire mon post.
Alors voila j'ai un petit soucis concernant l'envoie d'email via la fonction mail().
J'ai pourtant installé le paquet sendmail, puis j'ai édité le fichier php.ini enfin j'ai complété la ligne en question par le chemin de mon serveur de messagerie : sendmail_path = usr/sbin/sendmail

La fonction mail() remplie avec de simples paramètres, c'est à dire sans "en tete" marche, aucune erreur n'est retournée.
Mais maintenant que j'exploite le côté en tête pour que mon email soit au format MIME 1.0 ainsi que le côté "pièce jointe" (juste pour une image au format jpg), la fonction mail() me retoure false...

Je vous montre mon code :


Code : PHP

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
<?php
 
 
 
 
$delim = md5(uniqid(mt_rand()));
 
$head = "MIME-Version: 1.0\n";
$head .= "Content-Type:multipart/mixed; boundary=\"$delim\" \n";
$head .= " \n";
 
 
$msg = "Ce message est au format MIME.\n";
$msg .= "\n";
 
$msg .= "--$delim\n";
 
$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$msg .= "Content-Transfer-Encoding:8bit\n";
$msg .= "\n";
$msg .= "Ceci est une piece jointe, (image).\n";
$msg .= "\n";
 
$fichier = "image.jpg";
$attache = file_get_contents($fichier, FILE_USE_INCLUDE_PATH);
$attache = chunk_split(base64_encode($attache));
$msg .= "--$delim\n";
$msg .= "Content-Type:image/jpeg; name=\"$fichier\"\n";
$msg .= "Content-Transfer-Encoding: base64\n";
$msg .= "Content-Disposition:inline; filename=\"$fichier\"\n";
$msg .= "\n";
 
$msg .= $attache . "\n";
$msg .= "\n";
 
$msg .= "--$delim--\n";
 
 
$exp = "admin@virtual-usb.fr";
$dest = "ixabro@free.fr";
$subject = "Mail format MIME 1.0";
 
 
 
$mail = mail($dest,$subject,$msg,"Reply-to: $exp\nFrom: $exp\n".$head);
 
if($mail)
echo 'Email envoyé !<br>';
 
else
echo 'Erreur...<br>';
 
?>

Merci, en attente de vos réponses.