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 :

Fonction mail() avec mail non valide


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 17
    Par défaut Fonction mail() avec mail non valide
    Bonsoir à tous,

    j'apprends le PHP et j'ai développé un petit espace membre. Tout fonctionne mais j'ai du biaisé avec l'utilisation de la fonction mail().
    En effet, quand un nouvel utilisateur s'inscrit, un mail lui demandant de confirmer son inscription lui est envoyé.

    Quand le mail "existe" (la vérification syntaxique ayant été fait au-préalable avec une regex), tout se passe bien (le mail est accepté pour livraison comme dit dans la doc PHP).

    Quand le mail n'existe pas, exemple : popo@trefdserefkdj.com, (ou que le domaine n'existe pas ?) j'ai droit à cette merveilleuse erreur :

    Warning: mail(): SMTP server response: 550 5.1.2 <popo@trefdserefkdj.com>: Recipient address rejected: Domain not found in...

    J'ai donc écris la chose suivante pour m'affranchir du problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    error_reporting(0);
    if mail(.....)
    {
    // Page qui précise qu'un mail a été envoyé
    }
    else
    {
    // Affichage message d'erreur
    }

    je précise que la désactivation de toutes les erreurs n'intervient qu'à ce niveau du code puisque cette action termine l'inscription.

    Ma question est de savoir su je m'y prends correctement et si le message d'erreur renvoyé par PHP n'a pas de rapport avec ma configuration (WAMPSERVER 2.4) ? J'ai lu que la gestion des mails avec windows était assez différente de celle d'UNIX (cf doc PHP mail()).

    Merci à tous pour votre aide!

  2. #2
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Comment gères tu les postmasters ? As-tu bien une valeur "Return-Path" avec une adresse de retour dans le header de ton mail généré ?
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 17
    Par défaut
    Bonsoir et merci pour ta réponse.

    Je ne fais rien de tout cela...
    Je me suis basé sur un tuto du site, mais ça reste sommaire :

    Voici ma fonction qui gère la création puis envoi de mail :

    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
     
    // Envoi du mail pour confirmation
    function send_mail($mail,$adresse_confirm_mail)
    	{
    	// Préparation du mail contenant le lien d'activation
    	$destinataire = $mail;
    	$sujet = "Activation de votre compte V.B.R" ;
    	$entete = "From: inscription@V.B.R.com" ;
    	// Le lien d'activation est composé du pseudo et de la clé
    	$message = 'Bienvenue sur V.B.R,
     
    Pour activer votre compte, veuillez cliquer sur le lien ci dessous
    ou copier/coller dans votre navigateur internet.
     
    	'.$adresse_confirm_mail.'
     
    ---------------------------------------------------------
    Ceci est un mail automatique, Merci de ne pas y répondre.';
    	// Envoi du mail
    	return mail($destinataire, $sujet, $message, $entete) ; 	
    	}
    Je précise que le mail inscription@V.B.R.com n'existe pas. J'utilise tout simplement wampserver avec comme définition dans le php.ini :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    ;SMTP = localhost
    SMTP = smtp.free.fr
    ; http://php.net/smtp-port
    smtp_port = 25
     
    ; For Win32 only.
    ; http://php.net/sendmail-from
    ;sendmail_from = you@yourdomain
    sendmail_from = (mon vrai mail)@gmail.com
    Peux tu me donner des détails sur "Return-Path" ?

  4. #4
    Modérateur

    Avatar de kOrt3x
    Homme Profil pro
    Technicien Informatique/Webmaster
    Inscrit en
    Septembre 2006
    Messages
    3 650
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien Informatique/Webmaster
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 650
    Par défaut
    Donc, tu envois des mails sur des adresses qui n'existe pas avec une adresse mail qui n'existe pas... Tu penses pas que ça fait un peu trop ?

    Sinon, pour le Return-Path, une simple recherche suffit : https://duckduckgo.com/?q=Return-Path
    La rubrique Mac
    Les cours & tutoriels Mac
    Critiques de Livres Mac & iOS
    FAQ Mac & iOS

    ________________________________________________________________________
    QuickEvent : Prise de rendez-vous rapide pour iPhone/iPad et iPod Touch (AppStore)
    Mon Livre sur AppleScript : AppleScript: L'essentiel du langage et de ses applications

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Juin 2013
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 17
    Par défaut
    Le from du mail doit figurer c'est sur mais comme pour de nombreux mails de confirmation, il ne faut pas répondre à cette adresse.

    La doc dit ceci :

    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, sous Windows, définit également l'en-tête Return-Path.


    Par contre, j'ai regardé Return-Path et j'ai donc rajouté un 5eme parametre à mail

    mail($destinataire, $sujet, $message, $entete,"-fmonmail@gmail.com") ;

    ça n'a rien changé au problème lorsque l'utilisateur s'inscrit avec un mail non valide...

    Vu le warning que j'ai, je devrais (grâce à Return Path) recevoir un mail me stipulant que l'email de l'utilisateur est invalide ?

Discussions similaires

  1. Power Pivot / Fonction DAX avec IF non valide
    Par Mathsdeb dans le forum Excel
    Réponses: 4
    Dernier message: 19/04/2015, 00h05
  2. Réponses: 3
    Dernier message: 19/03/2009, 19h21
  3. Réponses: 3
    Dernier message: 09/01/2007, 09h37
  4. Réponses: 2
    Dernier message: 29/12/2006, 13h52
  5. [Mail] PEAR:: Mail avec logo
    Par legillou dans le forum Langage
    Réponses: 2
    Dernier message: 10/07/2006, 12h53

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