IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] mes mails n'arrivent pas


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 19
    Points
    19
    Par défaut [Mail] mes mails n'arrivent pas
    bonjour
    je me retroueve avec un soucis debile
    j'ai un formulaire qui a la soumission part vers une boite mail

    tout va bien dans mes test si j'utilise mon adresse perso (d'hebergeur pro)
    tout va mail si l'adresse est chez wanadoo ou autre provider public style wanadoo

    si qqun a une idée
    voici mon script
    $titre="formulaire par internet";
    $corps.="<table><tr>";
    $corps .="<td><img src=\"".$sitimg."logo.jpg\"></td>";
    $corps .="</tr><tr>";
    //$corps.="<td><font color=red>une demande vient depuis internet.<br> en attente de votre confirmation celle ci reste valide 24h</td></tr>";
    $corps.="<td><font color=red>un visiteur de votre site internet souhaite faire une reservation.<br> en attente de votre confirmation pour verifier la validité de sa demande, celle ci reste en suspend 24h</td></tr>";
    $corps.="<tr><td><a href=\"".$site."/recherche/?menu=circuit&ref=".$cle."\">Voir la demande</a></td></tr></table>";

    if(mail('monadresse@wanadoo.fr',$titre,$corps,"From: info@hebergeur.net\nReply-To: info@hebergeur.net\nContent-Type: text/html; charset=\"iso-8859-1\"\n"))
    {
    $ok_mail="true";
    }

    merci de m'eclairer

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    J'imagine que vous avez retiré un gros morceau de votre script vu qu'ici la sélection du destinataire est statique et calée sur monadresse@wanadoo.fr.

    - On peut avoir le bout de code qui sélectionne l'adresse du destinataire ?

    - Si l'adresse est fournie par formulaire, vous récupérez ces données via les variables globales $_POST ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    non non
    l'adresse est fixe ... ca me l'envois ( ou plus tard a la personne qui gerera la reception du mail)

    mon probleme ne vient pas de la partie formulaire puisque ca marche parfaitement si l'adresse mail est celle correspondant a mon hebergeur perso
    la ou ca plante c'est donc si l'adresse est mon adresse@wanadoo.fr ou monadresse@modulonet.fr ou tout autre provider

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2004
    Messages : 6
    Points : 7
    Points
    7
    Par défaut
    Donc si ça marche avec une des adresses, je renverrai plutôt le problème du côté de votre adresse mail.

    - Utilisez-vous un filtre antispam ? Les mails générés par script y arrivent parfois)
    - Votre boîte a-t-elle encore de l'espace libre ?

    Néanmoins, je vous suggère d'ajouter aux paramètres mail le paramètre Return-Path:

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    bien sur que cela a un rapport avec l'adresse mail de reception donc du provider
    c'est l'objet de ma question
    comment faire pour que mon mail arrive peut importe l'adresse et tout autre securité du au provider

  6. #6
    Membre régulier Avatar de rabobsky
    Inscrit en
    Novembre 2003
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 123
    Points : 78
    Points
    78
    Par défaut
    salut,

    pour ne plus me prendre la tete avec les problèmes de mail je me suis crée un petit code qui utilise une bibliothèque : phpmailer-1.71.zip...

    Sinon j'ai le code pour envoyer le résultat de n importe quel formulaire... que les variables soient passées par POST ou GET.

    donc je te donne mes deux fichiers persos et ensuite tu peux télécharger
    a l adresse http://sourceforge.net/project/showf...group_id=26031 et le decompresser dans le meme répertoire ou tu met ces deux fichiers...


    premier fichier : configuration_formulaire.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
     
    <?php
    /*
     * Created on 15:47:50 - 25 sept. 2005 - 2005 
     * @author : rabobsky
     * @web  www.rabobsky.fr
     */
     //Renseigner les informations suivantes obligatoire
     $serveur_smtp     ='smtp.rabobsky.fr';		// Le serveur smtp du fournisseur d´accès
     $mail_envoyeur    ='rabobsky@rabobsky.com';     // L'adresse mail à partir duquel le formulaire sera envoyé
     $mail_destinataire='destinataire@rabobsky.com';     // Adresse qui recevra le mail
     
     //Les informations suivantes sont à renseigner si vous n'avez pas de
     //serveur SMTP installé sur serveur
     $login_smtp         ='rabobsky';     // Login de la messagerie smtp
     $mdp_smtp         ='motdepasse';     // Mot de passe pour le smtp
     
     //Les informations suivantes sont facultatives
     $page_redirection ='';     // La page vers laquelle l'utilisateur sera redirigé après l'envoi du formulaire
     $sujet_mail       ='coucou';		// Le sujet de mail qui sera visible à l'ouverture du mail
     $nom_envoyeur     ='MOI';     // Le nom d'envoyeur qui sera visible à l'ouverture du mail
     
    /**
     *              !!!!!!! EXEMPLE DE CONFIGURATION !!!!!!!!!
     *  $serveur_smtp = 'smtp.rabobsky.com';      // Le serveur smtp du fournisseur d´accès
     *  $mail_envoyeur = 'rabobsky@rabobsky.com'; // L'adresse mail à partir duquel le formulaire sera envoyé
     *  $mail_destinataire = 'rabobsky@rabobsky.com'; // Adresse qui recevra le mail
     *  $login_smtp = 'rabobsky';                 // Login de la messagerie smtp
     *  $mdp_smtp = 'fxj8wn';                     // Mot de passe pour le smtp
     *  $page_redirection='www.rabobsky.fr/';     // La page vers laquelle l'utilisateur sera redirigé après l'envoi du formulaire
     *  $sujet_mail='Formulaire par mail';		   // Le sujet de mail qui sera visible à l'ouverture du mail
     *  $nom_envoyeur='RABOBSKY Compagnie';       // Le nom d'envoyeur qui sera visible à l'ouverture du mail
     */
    ?>
    deuxieme fichier :
    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
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    <?php
     
     /*
      * Created on 14:38:44 - 24/09/2005 
      * @author : rabobsky
      * @mail www.rabobsky.fr
      */
     
     function envoyer_mail_phpmailer(	$host,
     									$mail_envoyeur, 
     									$nom_envoyeur, 
     									$mail_destinataire, 
     									$mail_reponse, 
     									$sujet_mail,
     									$corps_mail,
     									$authentication = false,
     									$login = "",
     									$password="")
     {
     	include_once "phpmailer/class.phpmailer.php";					
    	$mail = new PHPmailer();
    	$mail->IsSMTP();
    	$mail->Host= $host;
    	$mail->From= $mail_envoyeur;
    	$mail->AddAddress($mail_destinataire);
    	$mail->AddReplyTo($mail_reponse);
    	$mail->FromName= $nom_envoyeur;	
    	$mail->SMTPAuth= true;
    	$mail->Username= $login;
    	$mail->Password= $password;
    	$mail->Subject= $sujet_mail;
    	// $mail->SMTPDebug=true;
    	$mail->Body= $corps_mail;
    	if(!$mail->Send())
    	{ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
    	else{	  
    	  //echo 'Mail envoyé avec succès';
    	}
    	$mail->SmtpClose();
    	unset($mail); 	
     }
     
     
     function lire_formulaire($variable, $nom_variable="", &$contenu)
     {
     	if (is_array($variable))
     		foreach ($variable as $nom_var => $tmp)
     			lire_formulaire($tmp, $nom_var, $contenu);
     	else
     		$contenu .= $nom_variable." = ".$variable."\n\n";
     }
     
     function valider_variables_formulaire()
     {
    	return array_merge($_POST, $_GET);
     }
     
     $variables_formulaire = valider_variables_formulaire();
     $contenu_mail="";
     lire_formulaire($variables_formulaire, "", $contenu_mail);
     
     include_once "configuration_formulaire.php";
     
      envoyer_mail_phpmailer($serveur_smtp,
      				$mail_envoyeur,
    				empty($nom_envoyeur)? "Formulaire 2 Mail" : $nom_envoyeur,
    				$mail_destinataire,
    				$mail_envoyeur,
    				empty($sujet_mail)? "" : $sujet_mail,
    				$contenu_mail,
    				!empty($mdp_smtp) && !empty($login_smtp),
    				$login_smtp,
    				$mdp_smtp
    						);
     
     if (!isset($redirection) || $redirection="") $redirection = "..";
    echo '
    	
    <html>
    <head>
    <title>Timed Redirection</title>
    <noscript>
    <meta http-equiv="refresh" content="2; URL='.$redirection.'">
    </noscript>
    <script language="JavaScript">
    <!--
    var sTargetURL = "'.$redirection.'";
    function doRedirect()
    {
        setTimeout( "timedRedirect()", 2*1000 );
    }
    function timedRedirect()
    {
        window.location.href = sTargetURL;
    }
    //-->
    </script>
    </head>
    <body onload="doRedirect()">
    	<BR/><BR/><center><p><B>Votre envoi a &eacute;t&eacute; pris en compte.</B><BR/><BR/>Vous allez &ecirc;tre redirig&eacute; dans 2 secondes.<BR/> Si vous ne voulez pas attendre vous pouvez cliquer sur 
    	<a href="'.$redirection.'"> le lien '.$redirection.'.</a></p>
    	<p>Merci</p></center>
    </body>
    </html>
    ';
     
    ?>
    Il y a deux choses à ne pas oublier : mettre le nom "formulaire2mail.php" dans le formulaire comme page d'envoie et configurer le fichier "configuration_formulaire.php".

    Sinon il n y a pas de modif a faire dans le code...

    Amuse toi bien!

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    je vais regarder cela en detail merci
    mais je ne sais pas si ca repond tout compte fait a mon probleme
    car en fait il me faudrait juste definir le Return-Path grace a la fonction MAIL
    mais ca je ne sais pas faire.....

    qqun sait il ?

  8. #8
    Membre régulier Avatar de rabobsky
    Inscrit en
    Novembre 2003
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 123
    Points : 78
    Points
    78
    Par défaut
    quoi que tu fasses il y a la solution dans ce code... si tu ne veux pas la partie ou je gère les envois de mails regardes comment je fait pour envoyer... tu peux meme envoyer un mail a partir d un smtp... il y a peu de chance que ca ne narche pas!

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 19
    Points
    19
    Par défaut
    bon ben voila,
    fallait savoir qu'il existait un 5eme argument a la fonction MAIL (apres l'entete) qui n'st pas decrit sur php.net

    donc cet argument permet de fixer le return path

    par exemple
    "-fvotre_email@site.com"

    et un samedi de pourri de plus , un ....

  10. #10
    Membre régulier Avatar de rabobsky
    Inscrit en
    Novembre 2003
    Messages
    123
    Détails du profil
    Informations forums :
    Inscription : Novembre 2003
    Messages : 123
    Points : 78
    Points
    78
    Par défaut
    si tu as résolu ton problème c'est cool, je pense que tu devrais faire une fonction et le mettre de coté pour plus tard...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Exchange 2003] Mail volumineux qui n'arrivent pas
    Par djinlemage dans le forum Exchange Server
    Réponses: 8
    Dernier message: 01/04/2014, 15h13
  2. Réponses: 3
    Dernier message: 19/03/2009, 19h21
  3. [PHP 5.0] Mes mails partent mais n'arrivent pas !
    Par zouberi dans le forum Langage
    Réponses: 6
    Dernier message: 09/01/2009, 09h42
  4. [Windows Mail] - Certains messages n'arrivent pas
    Par Invité dans le forum Internet
    Réponses: 11
    Dernier message: 29/07/2007, 04h12
  5. [Mail] Mes mails ne passent pas en HTML
    Par WEBANNONCE dans le forum Langage
    Réponses: 2
    Dernier message: 08/09/2006, 16h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo