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 :

Problème envoi mail PHP


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut Problème envoi mail PHP
    Bonjour,

    mon problème doit revenir souvent mais pourtant, malgré mes recherches, les réponses apportées ne solutionnent pas mon problème...

    Lorsque je tente l'envoi de mail via la fonction mail(), je n'ai aucun code retour ...
    (J'ai bien configurer mes paramètres smtp et mon port)
    Je n'ai également aucune erreur PHP.

    Tout simplement, le retour que me fait la fonction mail est vide. ni 1 ni 0 ni Mer** !!!

    Des idées ?

  2. #2
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    Bonjour,

    Le mail est envoyé ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Pardon, Il est vrai que je n'ai pas précisé que le mail n'est pas envoyé !...

    ( Mais si il l'était, je n'aurais pas de problème !!! )

  4. #4
    Expert éminent sénior

    Avatar de FirePrawn
    Homme Profil pro
    Consultant technique
    Inscrit en
    Mars 2011
    Messages
    3 179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Consultant technique

    Informations forums :
    Inscription : Mars 2011
    Messages : 3 179
    Points : 19 373
    Points
    19 373
    Par défaut
    On peut voir ton code ?
    Avant toute chose : lire le mode d'emploi du forum et ses règles.
    Je ne réponds pas aux questions techniques en MP.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je vois que tu est enregistré depuis avril 2007.
    Tu devrais donc savoir que sans code, pas de réponse possible ...
    (en mettant ton code dans ton 1er message, cela aurait éviter 3-4 messages inutiles ... dont celui-ci)

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Ben je pensais que l'évocation du problème de retour vide évoquerait à quelqu'un une erreur type !

    Si mon code contient une erreur, le retour de la fonction mail aurait un retour en fonction et non un retour vide ...

    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
     
    $headers = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\n";
    $headers .= 'From: Support TIVOLI <*******************>'."\n";
     
    $destinataires = $mail_demandeur + "," + $autre_mail_demandeur;
     
    		$contenu = '
    		<HTML>
    		<head>
    			<link rel="stylesheet" type="text/css" media="screen" href="****************************" />
    		</head>
     
    		<BODY bgcolor="#e4e4e4">	
    			<div id="global"> 
    				<div id="'.$band["demandeur"].'"><div class="title">'.$title["demandeur"].'</div></div>
    					<div id="contenu"> 
    						<div id="contheader">
    							<div id="recapServeur">
    								<div class="ServeurTitle">
    									'.$type.'
    								</div>
     
    								<div class="serveurCat">
    									<B>Serveur :</B> <i>'.$nom_serveur.'</i> 
    									<br>
    									<B>Application : </B> <i>'.$nom_appli.'</i>
    									<br>
    									<B>File d\'attente :</B> <i></i>
    									<br>
    									<B>Numéro de Demande :</B> '.$id_demande.'</i>
    									<br>
    								</div>
    							</div>
    							<div id="recapDemandeur">
    								<div class="date">
    									<B>le '. date('d-m-Y').' à '.date('G:i:s').'</b>
    								</div>
    									<div class="contact">
    										<B><U>INFORMATIONS DEMANDEUR</U></B>
    										<br>
    										'.$nom_demandeur.'<br>
    										'.$mail_demandeur.'<br>
    									</div>
    							</div>
    						</div>
     
    						<div id="desc">
    							<div class="text">'.$message["demandeur"].'</div>
    						</div>
     
    					</div>
    				<div id="pied"> 
    					<img class="logo" src="*********************">
    					<div class="footer">
    						<a href="mailto:***********************"><img class="mail" src="*****************************"></a>
    											</div>			
    				</div>
    			</div>
     
    		</BODY>
    		</HTML>
    		';
     
    		$retour = mail($destinataires, "MAIL TEST - ".$sujet["demandeur"], $contenu, $headers);

  7. #7
    Invité
    Invité(e)
    Par défaut
    ... et en votant "contre" mon message précédent, tu te prives inutilement de mon aide ...

    J'ai vu l'erreur.

    Indice 1 : elle est effectivement dans ton code.

  8. #8
    Invité
    Invité(e)
    Par défaut
    Indice 2 : ca concerne cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $destinataires = $mail_demandeur + "," + $autre_mail_demandeur;

  9. #9
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Merci de ton aide, je regarderais ça après manger !
    Par contre je tiens à t'enlever ton idée selon laquelle j'aurais voté contre un de tes messages précédents !... Ce n'est absolument pas moi !!!

  10. #10
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bizoo Voir le message
    Ce n'est absolument pas moi !!!
    Ok, je te crois. (bizarre bizarre ... SéKiKaFéSa alors ??)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $destinataires = $mail_demandeur . "," . $autre_mail_demandeur;
    La concaténation se fait plutot avec un . (point)

    ... Mais ... ton problème vient d'ailleurs () : dans les headers.

    Voir la doc mail() :
    additional_headers (optionnel)
    Les en-têtes supplémentaires doivent être séparés par un caractère CRLF (\r\n).

    Note:
    Si le message n'est pas reçu, essayez d'utiliser uniquement un caractère LF (\n). Quelques agents de transfert de mail Unix de mauvaise qualité remplacent le caractère LF par le caractère CRLF automatiquement (ce qui revient à doubler le caractère CR si le caractère CRLF est utilisé). Ceci doit être un dernier recours car cela ne correspond pas à la » RFC 2822.
    Solution : essaye donc avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $headers  = "From: Support TIVOLI <*******************>"."\r\n";
    $headers .= "Mime-Version: 1.0"."\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";	// au format HTML
    Dernière modification par Invité ; 22/08/2011 à 13h23.

  11. #11
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Merci bien pour ces infos, j'ai du modifier ce script entre la création de quelques fonctions JS pour faire une erreur pareil !.... (l'boulet l'garçon ...)

    J'ai également prix en compte la deuxième remarque mais toujours pareil, aucun retour de la fonction mail() ! je trouve ça bizarre tout de même !

  12. #12
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 104
    Points
    104
    Par défaut
    Je ne connais pas ton code mais :

    $band["demandeur"]
    $sujet["demandeur"]
    $title["demandeur"]
    $message["demandeur"]

    Ce serait pas plutôt l'inverse ?

    $demandeur["band"]
    $demandeur["sujet"]
    $demandeur["title"]
    $demandeur["message"]

    Sinon je crois que pour envoyer à plusieurs destinataires c'est des point virgule.

  13. #13
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Mon code est bon de ce niveau là je te confirme.

    J'ai essayer un truc tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $headers = "MIME-Version: 1.0"."\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
    $headers .= "From: Support TIVOLI <****@****.fr>"."\r\n";
     
    $test = mail("*****@****.fr", "MAIL TEST", "TEST TEST TEST", $headers);
     
    echo $test;die;
    Tjrs rien du tout en retour ...

  14. #14
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Bizoo Voir le message
    ...Tjrs rien du tout en retour ...
    Pourtant, j'ai fait pareil (avec 2 destinataires, dont 1 xxxx@free.fr), et ca marche !

    - Tu n'aurais pas un problème au niveau de l'hébergeur ? (blocage des mails)
    - $mail_to obligatoirement de la forme xxxxx@mondomaine.com ?
    - ou ... as-tu vérifié ta boite "spam" ?

  15. #15
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    question :
    est ce que cette ligne n'a pas provoquer une erreur ?
    $destinataires = $mail_demandeur + "," + $autre_mail_demandeur;car en affichant ce message ça aurait pu nous guider dans ton problème au lieu d'avoir a lire tout le code
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  16. #16
    Invité
    Invité(e)
    Par défaut
    Ah non !
    Tu n'as pas repris mon code !
    "From: ... " doit être en PREMIER :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $headers  = "From: Support TIVOLI <****@****.fr>"."\r\n";
    $headers .= "MIME-Version: 1.0"."\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
    doc mail() :
    Note:
    Lors de l'envoi d'un mail, le mail doit contenir un en-tête From. Il peut être défini par le paramètre additional_headers, ou un par défaut peut être défini dans le php.ini.

    Ne pas faire ceci causera un message d'erreur similaire à Warning: mail(): "sendmail_from" not set in php.ini or custom "From:" header missing. L'en-tête From définit également l'en-tête Return-Path sous Windows.
    ps : le fait qu'il doivent être en 1er n'est pas explicite ...

  17. #17
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par kdmbella Voir le message
    question :
    est ce que cette ligne n'a pas provoquer une erreur ?
    $destinataires = $mail_demandeur + "," + $autre_mail_demandeur;car en affichant ce message ça aurait pu nous guider dans ton problème au lieu d'avoir a lire tout le code
    Merci de ta participation mais si tu avais lu toute la discussion, tu aurais vu que le petit problème à ce niveau là était réglé...



    Sinon ben mon code est exécuter sur un serveur X et le serveur mail est sur un serveur Y.
    Je met bien le bon nom SMTP et le bon Port donc je ne comprend pas pourquoi cela ne marcherais pas, ou plutôt pourquoi aucun code ne m'est retourné !....

    Sans retour de la part de la fonction mail, je pense que le mail n'est même pas transmis au serveur mail pour diffusion ...

  18. #18
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Ah non !
    Tu n'as pas repris mon code !
    "From: ... " doit être en PREMIER :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $headers  = "From: Support TIVOLI <****@****.fr>"."\r\n";
    $headers .= "MIME-Version: 1.0"."\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
    doc mail() :

    ps : le fait qu'il doivent être en 1er n'est pas explicite ...
    Même en le passant en premier, aucun changement ...

  19. #19
    Invité
    Invité(e)
    Par défaut
    Tu n'aurasi pas une adresse email xxxx@hotmail.fr, ou xxxx@yahoo.fr, pas hasard ?
    Je crois que certains serveurs les blacklistent.
    Citation Envoyé par Bizoo Voir le message
    mon code est exécuter sur un serveur X et le serveur mail est sur un serveur Y.
    Je met bien le bon nom SMTP et le bon Port
    Re-vérifie tes paramètres, ....
    quoi te dire de plus ?

  20. #20
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 167
    Points : 112
    Points
    112
    Par défaut
    Non non pas d'adresse de ce type. Toutes les adresses mail utilisés restent des adresses internent.

    Par contre, j'ai fait un fichier de test que j'ai mis sur mon serveur actuelle et que j'ai également mis sur l'ancien serveur web :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    # Tentative modification du serveur SMTP
    if (ini_set("SMTP","mail.****.fr")){print "modification param SMTP OK<br>\n";}
    if (ini_set("smtp_port","25")){print "modification param smtp_port OK<br>\n";}
     
    $headers = "From: Support <DSIT****@dsit.****.fr>"."\r\n";
    $headers .= "MIME-Version: 1.0"."\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1"."\r\n";
    $test = mail("*****@dsit.***.fr", "MAIL TEST", "TEST", $headers);
     
    echo "Code retour = ".$test.".";die;
    ?>
    Et à l'execution, sur l'ancien serveur j'ai bien le code retour 1 et le mail qui arrive dans ma boite alors que toujours aucun retour de la part de mon serveur actuel...

    Faut-il déclarer quelque chose de spécial sur le serveur de mail, genre les noms ou ips des machines autorisés à faire parvenir des demandes d'envoi de mail ?

    Le problème viendrais peut être plutot de la configuration de mon serveur web alors ....

Discussions similaires

  1. Problème envoi mail via PHP
    Par Bizoo dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 17/10/2011, 14h15
  2. Problème d'envoi mail PHP avec Yahoo!
    Par nordine14 dans le forum Langage
    Réponses: 3
    Dernier message: 29/09/2011, 14h32
  3. Probléme Envoie Mail en php !
    Par guti11 dans le forum Langage
    Réponses: 2
    Dernier message: 09/09/2011, 10h40
  4. Problème envoi mail via PHP
    Par Bizoo dans le forum IIS
    Réponses: 4
    Dernier message: 07/09/2011, 11h07
  5. Xampp Php : problème envoi mail en local.
    Par diabli73 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 03/12/2008, 15h28

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