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 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 758
    Points : 2 995
    Points
    2 995
    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 479
    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 479
    Points : 43 302
    Points
    43 302
    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 399
    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 399
    Points : 5 754
    Points
    5 754
    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.

  6. #6
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 399
    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 399
    Points : 5 754
    Points
    5 754
    Billets dans le blog
    1
    Par défaut
    Hello,
    je reviens sur cette discussion pas toute neuve...As-tu testé PHPMailer ?
    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

  7. #7
    Membre habitué
    Homme Profil pro
    Educateur spécialisé
    Inscrit en
    Janvier 2012
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur spécialisé
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2012
    Messages : 215
    Points : 125
    Points
    125
    Par défaut
    Bonjour,
    Moi j'utilise PHPMailer en smtp et Certificat SSL avec ovh.
    Le problème est le quota des mails que l'on peu envoyer, 200 par heure donc 3 par minute.
    Pour la réception dans les spam ça change rien puisque si j'ai bien compris, il faut un certificat DKIM et DMARC pour être sur de ne pas aller dans les spam.
    Pour mon envois en masse j'utilise la fonction mail() de php avec un serveur performance je peux en théorie en envoyer 2000 par heure mais en réalité je suis bloqué à l'envoie si j'en envoie plus de 500 par heure.

    Voila, voila

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