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 :

Paramétrer le nom d'expéditeur via fonction mail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Par défaut Paramétrer le nom d'expéditeur via fonction mail
    Bonjour,

    Je rencontre un soucis avec le paramétrage de ma fonction mail.

    En gros j'envoie un mail venant de "contact@mon-site.com", et j'aimerais que l'expéditeur affiché soit "Mon site" (et non l'adresse email).

    Là j'arrive à afficher le destinataire "Contact", mais si je met "Mon site" cela ne fonctionne plus. J'ai l'impression que la doc php indique qu'en effet il n'est pas possible de mettre un libellé différent de l'adresse mail, mais du coup je me demande s'il y a un moyen de contourner? (au niveau de la variable $from)

    Merci de votre aide!

    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
    <?php
    $to = 'destinaire@gmail.com';
    $subject = 'Bienvenue sur Mon site';
    $from = 'Mon site <contact@mon-site.com>'; //génère une erreur quand je mets "Mon site", mais pas quand je mets "Contact"..
     
     
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
     
    $headers .= 'From: '.$from."\r\n".
        'Reply-To: '.$from."\r\n" .
        'X-Mailer: PHP/' . phpversion();
     
    $message = 'Hello';
     
    if(mail($to, $subject, $message, $headers)){
        echo 'Votre message a été envoyé avec succès.';
    } else{
        echo 'Impossible d\'envoyer des courriels. Veuillez réessayer.';
    }
    ?>

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    salut,

    sur l'envoi des mails, les serveurs sont hyper restrictifs depuis un bon bout de temps (lutte anti-spam) et je dois reconnaître que c'est assez efficace.
    Bref, ce que tu veux faire est difficilement réalisable dans la mesure où tu vas te heurter aux paramétrages stricts des serveurs de messagerie et aussi aux moteurs heuristiques de lutte contre le spam qui considèrent ce genre d'inadéquation comme du spam. Bref à moins d'avoir ton propre serveur d'envoi de mails, je ne vois pas trop tu pourrais t'en sortir.

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Par défaut
    Aie, c'est une histoire de serveur mutualisé/dédié?

    Ca peut se paramétrer avec mon hebergeur?

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    si c'est du mutualisé, c'est cuit, ton hébergeur ne changera pas d'un iota ce genre de paramétrage.
    Par contre, si tu es sur un dédié, rien ne t'empêche d'installer et de paramétrer ton propre serveur d'envois de mails.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Normalement, 'To: Mon site <contact@mon-site.com>' devrait fonctionner correctement, même sur mutualisé.

    Peut-être est-ce le Reply-To qui pose problème ?

    Essaie : (cf. DOC mail() exemple #5)

    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
    <?php
    // ---------
    $To = 'destinaire@gmail.com';
    $From = 'Mon site <contact@mon-site.com>';
    $ReplyTo = 'contact@mon-site.com';
     
    $subject = 'Bienvenue sur Mon site';
    $message = 'Hello';
    // ---------
    // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini
    $headers[] = 'MIME-Version: 1.0';
    $headers[] = 'Content-type: text/html; charset=iso-8859-1';
     
    // En-têtes additionnels
    $headers[] = 'To: '.$To;
    $headers[] = 'From: '.$From;
    $headers[] = 'Reply-To: '.$ReplyTo;
    // ---------
    if( mail($to, $subject, $message, implode("\r\n", $headers) )
    {
        echo 'Votre message a été envoyé avec succès.';
    } else{
        echo 'Impossible d\'envoyer des courriels. Veuillez réessayer.';
    }
    ?>

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Avril 2020
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Avril 2020
    Messages : 10
    Par défaut
    En fait je viens de faire plein de tests, et je viens de me rendre compte que ca ne fonctionne pas quand il y a un accent "é" dans le nom.

    Ca veut dire que je dois écrire tous mes accents en code "&eacute;" ??

  7. #7
    Invité
    Invité(e)
    Par défaut
    Continue tes essais...

    Et teste avec : '.... charset=utf-8'.

    Sinon, tu as phpMailer.

Discussions similaires

  1. Changer d'expéditeur pour un mailing via access et outlook
    Par AlexFred dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/11/2012, 10h50
  2. [Mail] envoi d'un mail via la fonction mail() de php
    Par Abac_Angelique dans le forum Langage
    Réponses: 1
    Dernier message: 09/02/2009, 23h46
  3. [Mail] les paramètres de la fonction mail()
    Par metrax dans le forum Langage
    Réponses: 1
    Dernier message: 31/03/2007, 02h08
  4. [Mail] fonction mail() : fixer l'expéditeur
    Par Dsphinx dans le forum Langage
    Réponses: 7
    Dernier message: 22/11/2006, 11h52
  5. [Mail] fonction mail / nom de l'expediteur
    Par santoya dans le forum Langage
    Réponses: 1
    Dernier message: 03/03/2006, 18h17

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