Bonjour,
je suis actuellement en configuration Movamp sous windows XP.
J'aimerai envoyer des mails avec un pdf en pièce jointe.
Pour cela, j'utilise PHPMailer.
Mon problème est que le mail reçu sous Outlook est vide.
Lorsque j'affiche l'entête du mail j'ai ceci :
Lorsque je désactive l'attachement dans mon script, le mail arrive et me marque un petit texte comme je le souhaite.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 From: toto@free.fr Subject: =?iso-8859-1?Q?Envoi_de_pi=E8ces_jointes_locales?= To: moi@moi.com Reply-to: toto@free.fr Message-id: <47ad0aeb26cd58c8313fad5596d9b33a@localhost> MIME-version: 1.0 X-Mailer: PHPMailer [version 1.71] Content-type: multipart/mixed; boundary="Boundary_(ID_Ff4a9pXAqHw7SGcdhu4rGQ)" X-Priority: 3 Sun-Java-System-SMTP-Warning: Lines longer than SMTP allows found and truncated. X-OriginalArrivalTime: 23 Apr 2010 08:51:12.0634 (UTC) FILETIME=[2043FDA0:01CAE2C2]
PS : le script utilisé est celui de Sub0 :
D'où provient l'erreur "Sun-Java-System-SMTP-Warning: Lines longer than SMTP allows found and truncated." ?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82 <?php Require_once('phpmailer/class.phpmailer.php'); $maxfiles = 3; $maxsize = 2000000; $from_adr = 'expediteur@free.fr'; $to_adr = 'destinataire@hotmail.com'; //============================================================ if(isset($_POST['valider'])){ // Test du nombre de fichier // $nbr=0; for($x=0;$x<$maxfiles;$x++) if(!empty($_FILES['userfile']['name'][$x])) $nbr++; if($nbr<=0) die("Aucun fichier spécifié !<br/>"); // Création du mail // $mail = New PHPmailer(); $mail->IsHTML(true); $mail->FromName=''; $mail->From=$from_adr; $mail->AddAddress($to_adr); $mail->AddReplyTo($from_adr); $mail->Subject='Envoi de pièces jointes locales'; $mail->Body='<html><body>Les fichiers sont attachés ci-dessus... <br></body></html>'; $sendok=false; // Téléchargement des fichiers // for($x=1;$x<=$maxfiles;$x++) { $errorhttp=$_FILES['userfile']['error'][$x-1]; $filenamehttp=$_FILES['userfile']['name'][$x-1]; $typehttp=$_FILES['userfile']['type'][$x-1]; $sizehttp=$_FILES['userfile']['size'][$x-1]; $tmpfilehttp=$_FILES['userfile']['tmp_name'][$x-1]; if (($errorhttp)and(!empty($filenamehttp))) { switch ($errorhttp){ case 1: echo "Erreur : Le fichier n°$x est trop grand !<br/>";break; case 2: echo "Erreur : Le fichier n°$x est trop grand !<br/>";break; case 3: echo "Erreur : Transfert du fichier n°$x interrompu !<br/>";break; case 4: echo "Erreur : Le fichier n°$x est vide !<br/>";break; } } else { if((!empty($filenamehttp))and($sizehttp>0)) { if($sizehttp<=$maxsize){ if(@is_uploaded_file($tmpfilehttp)) { if(@eregi('.php',$filenamehttp)) $filenamehttp.='.txt'; if(filesize($tmpfilehttp)==$sizehttp) { echo "Fichier n°$x uploadé : ".$filenamehttp. " (".round(max($sizehttp,1024)/1024)." ko)<br/>"; $mail->AddAttachment($tmpfilehttp,$filenamehttp,'Base64'); $sendok=true; } else echo "Erreur de téléchargement du fichier n°$x !<br/>"; } else echo "Erreur de téléchargement du fichier n°$x !<br/>"; } else echo "Erreur : Le fichier n°$x est trop grand !<br/>"; } // else echo "Le fichier n°$x est introuvable ou vide !<br/>"; } } // Envoi du mail // if($sendok){ if(!$mail->Send()) echo $mail->ErrorInfo."<br/>"; else echo "Mail envoyé à «".$to_adr."»<br/>"; } else echo "Aucun fichier à attacher !<br/>"; // Libération de l'objet // $mail->SmtpClose(); unset($mail); die ("Opération terminée.<br/>"); } //============================================================ echo '<form method="post" enctype="multipart/form-data"'. ' onSubmit="document.getElementById(\'valider\').style.visibility=\'hidden\';">'. '<input type="hidden" name="MAX_FILE_SIZE" value="'.$maxsize.'"/>'; for($x=1;$x<=max($maxfiles,1);$x++) echo ' Fichier n°'.$x.' : <input type="file" name="userfile[]" size="20"/><br/>'; echo '<br/><input type="submit" name="valider" id="valider" value="Envoyer..."/></form>'; //============================================================ ?>
Comment la résoudre ?
Merci d'avance pour vos réponse.
Partager