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 :

Envoie mail avec certitude de réception


Sujet :

Langage PHP

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Envoie mail avec certitude de réception
    bonjour

    je ne suis pas un pro du php, mais j'utilise depuis quelques années un script simple d'envoie de mail (pour la validation de l'inscription à une application)

    au début ça fonctionnait bien, parfois quelques réceptions dans les courriers indésirables (là encore je veux bien), mais depuis quelques temps mes utilisateurs disent ne rien recevoir

    auriez vous un bout de code ou une idée svp ? mon script était un basic mail()

    mon hébergeur est ovh

    merci

  2. #2
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 757
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 757
    Points : 2 991
    Points
    2 991
    Par défaut
    Bonjour

    "avec certitude" ... ça, tu peux l'oublier.

    Si, dans mon client mail, j'ai programmé une règle qui dit "Tout qui vient de ... hop, poubelle"; à aucun moment ton script ne le saura. D'ailleurs, ton script s'exécute à un temps T et hop, il est terminé. Des secondes, des minutes plus tard, il pourrait arriver dans ma mailbox et hop, poubelle. Ton script étant déjà terminé depuis belle lurette, tu comprends bien que "avec certitude" est absolument impossible.

    Perso, je n'envoie pas de mail avec PHP mais ... as-tu vérifié le retour de ta fonction sendmail, est-ce un code d'erreur ?

    As-tu étudié les bonnes règles en matière d'envoi (p.ex. si ton site se nomme monsite . fr et que ton email est envoyé avec une adresse email info@le-site-dun-autre.com, la majorité des outils vont suspecter un spam. Dans mon exemple simpliste, ton mail doit être envoyé depuis info@monsite.fr pour, déjà, avoir un score correct au niveau des outils d'analyse.

    Je ne peux pas rentrer dans les détails car je n'ai les ai pas mais, premier lien sur Ggle : https://www.altospam.com/actualites/...omme-spammeur/. As-tu fait des tests de ce genre?
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  3. #3
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 453
    Points : 43 108
    Points
    43 108
    Par défaut
    Pour commencer, j'utiliserais phpmailer.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 386
    Points : 5 733
    Points
    5 733
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par chrtophe Voir le message
    Pour commencer, j'utiliserais phpmailer.
    J'utilise cette librairie aussi :
    Code php : 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
    class Mailer
    {
        public static function send(string $msg, string $subject): void
        {
            try {
                $mail = new PHPMailer();
                $mail->isHTML(true);
                $mail->CharSet = "UTF-8";
     
                //$mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
                //$mail->isSMTP();                                            //Send using SMTP à enlever si en ligne
                $mail->Host       = 'smtp.gmail.com';                                    //Set the SMTP server to send through
                $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
                $mail->Username   = 'xxx@gmail.com';                     //SMTP username
                $mail->Password   = 'xxx';                               //SMTP password
                $mail->SMTPSecure = 'tls';                                //Enable implicit TLS encryption
                $mail->Port       = 465;
     
                $mail->From='xxx';
                $mail->addAddress('xxx@gmail.com');
                $mail->addReplyTo($_POST["email"]);
                $mail->Subject = $subject;
                $mail->Body = $msg;
                if(!$mail->send()){ //Teste le  code de la fonction
                    echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
                }
                $mail->smtpClose();
                //echo "envoi mail on est ds le try";
                unset($mail);
            }
            catch (Exception $e) {
                die("<br><strong>Erreur : " . $e->getMessage() . "</strong></h4>");
            }
        }
    }
    exemple d'utilisation : Mailer::send($msg, 'Sujet du mail');
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Décembre 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2014
    Messages : 26
    Points : 23
    Points
    23
    Par défaut PHPMailer
    Bonjour,
    Je vois que Laurent utilise PHPMailer, je m'interrogeai justement sur son efficacité.
    Comme l'a expliqué cavo789, l'envoi de mail par un nom de domaine différent de celui de l'adresse mail de l'expéditeur pose problème.
    La programmation du serveur SMTP de l'expéditeur dans PHPMailer résout-elle le problème ?
    Merci de vos réponses.

Discussions similaires

  1. [javamail] envoi mail avec message en pièce jointe
    Par k4eve dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 16/11/2007, 11h17
  2. [VB]Bp envoie mail avec piéce jointe
    Par jm1213 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/02/2006, 20h55
  3. [Oracle 10g] Envoi mail avec PJ à une heure donnée
    Par djoule6 dans le forum Oracle
    Réponses: 5
    Dernier message: 25/10/2005, 11h51
  4. Envoi mail avec Outlook accusé de réception
    Par KapoueMan dans le forum Access
    Réponses: 2
    Dernier message: 14/04/2005, 10h41
  5. envoi mail avec piece jointe fichier excel
    Par flogreg dans le forum ASP
    Réponses: 12
    Dernier message: 20/12/2004, 16h02

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