Forum : Lws & Hebergeur-discount

Hébergement web, nom de domaine et serveur dédié.

Pb de mail php

Ici, parlez de développement Asp, Php, Asp.net, Mysql / Access, / sql serveur, de bases de données et de développement.
carlou

mer. sept. 27, 2006 3:34 pm  

Bonjour,

apres avoir cherché sur le forum; je n'arrive pas a trouver de reponse a mon pb: les mails n'ont pas l'aire de partir.
J'ai fait un script tt simple qui n'a pas l'air de fonctionner sur le serveur alors qu'en local tout est ok

Code : Tout sélectionner

<? $destinataire="carloufa@wanadoo.fr"; $sujet="[domaine.com] Sujet du message"; $contenu="Contenu html"; $head = "From: contact@domaine.com <contact@domaine.com>\n"; $head .= "MIME-Version: 1.0\n"; $head .= "Return-Path: <$email>\n"; $head .= "Content-Type: text/html; charset=iso-8859-1\n"; $head .= "X-Sender: <www.domaine.com>\n"; $head .= "X-Mailer: PHP\n"; $head .= "X-auth-smtp-user: contact@domaine.com\n"; $head .= "X-abuse-contact: abuse @lws.fr"; mail($destinataire, $sujet ,$contenu, $head); ?>
ya t'il besoin d'une manip speciale ou autre?
merci de votre reponse

istrya
Expert
Expert
Messages : 303

mer. sept. 27, 2006 6:05 pm  

Salut,
Peut être que ton mail est détecté comme du spam à cause du X-Mailer, un membre du forum avait trouvé ce problème. Car en fait beaucoup de spamers utilisent le mailer de php et ainsi... tout mail envoyé par celui-ci est détecté comme du spam (sauf modification au niveau du mailer). Je te conseilles de supprimer ces lignes:
[/quote]$head .= "X-Sender: <www.domaine.com>\n";
$head .= "X-Mailer: PHP\n";
$head .= "X-auth-smtp-user: contact@domaine.com\n";

Et normalement les techniciens ont résolus ce problème... Au faite, un message d'erreur est-il retourné? L'affichage des erreurs est-il bien activé (j'avais ce problème quelques temps avant que les techniciens ne me changent de serveur)?

Et essayes plus simple en vérifiant si php réussi à envoyer le mail:

Code : Tout sélectionner

<?php if(@mail('carloufa@wanadoo.fr', 'Salut, je t\'envois ce mail', "Voilà si tu reçois ce mail c'est que tout c'est bien passé.\nAllez bonne chance.") ) echo 'Mail envoyé ;-)'; else echo 'Erreur...'; ?>

carlou

jeu. sept. 28, 2006 1:58 am  

Merci pour la reponse, j'ai supprimé les lignes que tu m'as dit d'une part et j'ai essayé le script tt simple et ca me dit:
Mail envoyé ;-)
mais je le recois pas....

carlou

jeu. sept. 28, 2006 12:36 pm  

desole du double post mais je peux pas editer, pour infos, ca fonctionne sur 3 autres hebergeurs

istrya
Expert
Expert
Messages : 303

jeu. sept. 28, 2006 4:15 pm  

Essayes de contacter un technicien alors et demandes lui de voir s'il n'y a pas de problème (ou si la limite de mail envoyés n'a pas été vu trop bas :p).

carlou

jeu. sept. 28, 2006 4:36 pm  

reponse du technicien:
On ne peut pas utiliser la fonction mail en externe...l'adresse de l'expediteur doit etre l'adresse mail du site
jamais vu ca et le pire c'est que effectivement cela fonctionne si je met une adresse du serveur......

adminforum
Administrateur
Administrateur
Messages : 722

jeu. oct. 05, 2006 11:44 am  

Contact un technicien car tu peux envoyer des mails partout sans aucun probleme.
Laurent Helm
Division Technique
Documentations VPS: http://wiki.lws-hosting.com/doku.php/vps
Hebergeur-Discount: http://www.hebergeur-discount.com
LWS : http://www.lws.fr/
Twitter : http://twitter.com/Lwshosting
Facebook : https://www.facebook.com/lws.fr

carlou

jeu. oct. 05, 2006 11:48 am  

et bien non, le serveur est bridé, impossible d'envoyer des mails en externe par la fonction mail...

Hucky

jeu. nov. 29, 2007 2:02 pm  

Bonjour,

Je remonte ce topic car je rencontre le même probleme.
En effet, ayant testé et approuvé ( serveur free )le formulaire flash/php que l'on trouve ici > http://wiki.mediabox.fr/tutoriaux/flash ... _flash_php, j'ai décider de l'implanter sur un de mes sites hébergé par Herbergeur discount.
Et la, ca ne marche plus, le formulaire fonctionne bien, mais je ne reçois aucun mail.
En allant à la pêche aux infos, j'ai pu me rendre compte que le probleme se situait du coté du safe mode pour empecher les spams.
Apparemment, l'envoie de mail ne se fait que si l'adresse de l'expediteur se fini par le nom de domaine utilisé pour le site, mais malheureusement, meme en adaptant mon script avec les bonnes adresses mail je n'arrive a rien.
Etant donné mon niveau de sous débutant sur PHP, je galère grave pour adapter mon header.
Si une âme charitable est pret à m'aider, qu'il ne se gene pas, merci.

Le formulaire en ligne : http://www.hk3.fr/contact.html

Code : Tout sélectionner

<?php function decoder($texte){ $texte = utf8_decode($texte); // converti en iso-8859-1 $texte = stripslashes($texte); // élimine les anti-slashs d'échappement $texte = nl2br($texte); // converti les retours en <br /> $texte = trim($texte); // élimine les '\n', '\r', '\t' etc return $texte; } $erreurPHP=""; /* $_POST['sujet'] = 'formulaire Test'; $_POST['messageHtml'] = '<html><head><title>Un titre ici</title></head><body>Salut<br /> huck<br /><br />Bye</body></html>'; $_POST['messageText'] = "Salut huck "; $_POST['expediteur'] = "huck"; $_POST['mailReponse'] = "huck@hk3.fr"; */ if(isset($_POST['sujet']))$sujet = $_POST['sujet']; else $erreurPHP .= "Variable 'sujet' non transmise\n"; if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml']; else $erreurPHP .= "Variable 'message' non transmise\n"; if(isset($_POST['messageText']))$messageTexte = $_POST['messageText']; else $erreurPHP .= "Variable 'message' non transmise\n"; if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur']; else $erreurPHP .= "Variable 'expediteur' non transmise\n"; if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse']; else $erreurPHP .= "Variable 'mailReponse' non transmise\n"; if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP); else { $to = "contact@hk3.fr"; $sujet = decoder($sujet); $expediteur = decoder($expediteur); $messagehtml = decoder($messageHtml); $messageTexte = utf8_decode($messageTexte); //----------------------------------------------- //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML //----------------------------------------------- $frontiere = '-----=' . md5(uniqid(mt_rand())); //----------------------------------------------- //HEADERS DU MAIL //----------------------------------------------- $headers = 'From: '.$expediteur.' <'.$mailReponse.'>'."\n"; $headers .= 'Return-Path: <'.$mailReponse.'>'."\n"; $headers .= 'MIME-Version: 1.0'."\n"; $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n"; $headers .= 'Content-Transfer-Encoding: 8bit'; //----------------------------------------------- //MESSAGE TEXTE //----------------------------------------------- //$message = 'This is a multi-part message in MIME format'."\n\r"; $message = '--'.$frontiere."\n"; $message .= 'Content-Type: text/plain; charset=UTF-8'."\n"; $message .= 'Content-Transfer-Encoding: 8bit'."\n\r\n\r"; $message .= $messageTexte."\n"; //----------------------------------------------- //MESSAGE HTML //----------------------------------------------- $message .= '--'.$frontiere."\n"; $message .= 'Content-Type: text/html; charset=UTF-8'."\n"; $message .= 'Content-Transfer-Encoding: 8bit'."\n\n"; $message .= $messageHtml."\n\n"; $message .= '--'.$frontiere."\n"; $mail_OK = mail($to, $sujet, $message, $headers) ; if (!$mail_OK) { $erreurPHP .= "Problème lors de l'envoi du mail"; } echo utf8_encode("erreurPHP=".$erreurPHP); } ?>
Merci d'avance.
Fab.

  •   Information
  • Qui est en ligne ?

    Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 25 invités