je doit ajouter à mon message une voir parfois 2 pièces jointe,
Mon problème c'est que le message part quand il n'y a pas de pièces jointe mais des que je les ajoute le message est bloqué. part le serveur avant l'envoie.
Si vous avez des idées.
merci
code:
Code : Tout sélectionner
<?php
$message=$_POST['message'];
$sujet=$_POST['sujet'];
$piece_jointe=$_POST['piecejointe'];
$piecejointe1=$_POST['$piecejointe1'];
if(file_exists($piecejointe) or file_exists($piecejointe1))
{
$i=0;
$mail=array('<hakazizi@********.com>','<hakazizi1976@g*******.com>');
$nbmail=count($mail);
for($i=0; $i<$nbmail; $i++){
$boundary = md5(uniqid(microtime(), TRUE));
$entete='From:Hakim AZIZI <hakim@********.com>' . "\r\n" .
'Reply-To: Hakim AZIZI <hakim*******@hotmail.com>' . "\r\n" .
'Mime-Version: 1.0'."\r\n" .
'Content-Type: multipart/mixed; boundary='.$boundary .' '. "\r\n" .
'X-Mailer: PHP/' . phpversion();
"\r\n";
$objet="$sujet";
$message='--' . $boundary . "\r\n" .
"Content-Type: text/plain;charset=utf-8" . "\r\n" .
"Content-Transfer-Encoding:8bit" . "\r\n" .
"$message" . "\r\n" ;
$typedefichier = filetype($piecejointe);
$tailledefichier = filesize($piecejointe);
$ouverturedufichier = fopen($piecejointe, 'r') or die('File '.$piecejointe.'echec de l'ouverture du fichier');
$contenudufichier = fread($ouverturedufichier, $tailledefichier);
$contenudufichier = chunk_split(base64_encode($contenudufichier));
$fermetureduficier = fclose($ouverturedufichier);
$message.= '--'.$boundary."\r\n";
$message.= 'Content-type:'.$typedefichier.';name='.$piecejointe."\r\n";
$message.= 'Content-transfer-encoding:base64'."\r\n";
$message.= $contenudufichier."\r\n";
$message.= '--'.$boundary."\r\n";
echo $message;
$destinataire=str_replace(array('<','>'),'',$mail[$i]);
if(mail($mail[$i],$objet,$message,$entete)){echo "le mail a bien été envoyé à $destinataire<br>";}else{echo "le mail n'a pas été envoyé à $destinataire<br>";}
}}else{echo"les fichiers sont introuvables";}
?>
explication de l'erreur:Warning: mail(): SMTP server response: 550 5.7.1 Spam Detected - Mail Rejected. Please see our policy at: http://postmaster.free.fr/#spam_detected in C:\Program Files (x86)\EasyPHP-Devserver-17\eds-www\envoie-mail.php on line 40
550 spam detected
Explication
Vous avez cette erreur car le mail que vous avez envoyé a été analysé comme étant un spam par notre filtre antispam et il a été refusé lors de la reception.
Solution
Il peut être utile de commencer par vérifier que votre mail ne soit pas susceptible d'être confondu avec un spam, que ce soit en utilisant un logiciel antispam ou en vérifiant que votre mail est syntaxiquement correct et que vous n'utilisez pas de mécanismes qui puissent être confondus avec certaines méthodes de spammeurs.
Le cas échéant, nous vous invitons à nous signaler un faux positif en suivant cette procédure.