PHP

Création Newsletter

Résolu

Bonsoir à tous,


J'ai suivi un tutoriel pour créer newsletter, mais j'ai un souci lorsque je clique sur le bouton enregistrer après avoir rempli les formulaires j'obtiens une erreur :


warning mail(): failed to connect to mailserver at "localhost " port 25, verify your "SMTP" and "smtp port" setting in php.ini or use ini_set() in C:\xampp\htdocs\Be Compliance\actualite.php on line 55;


Voici le code :


<?php
    session_start();

    /*include("connexionDB.php");*/

    $erreur = "";

    $header = "";

    

    if(isset($_POST["envoyer"])){
        $name = $_POST['name'];
        $email = $_POST["mailing"];
        $pays = $_POST['pays'];

        if(!empty($name) AND strlen($name)>8){
            if(!empty($email)){
                if(filter_var($email, FILTER_VALIDATE_EMAIL)){
                    if(isset($pays) AND !empty($pays)){
                        
                        require_once "configuration.php";
                       

                        $rows = $pdo->prepare("SELECT * FROM members WHERE email = ?");
                        $rows->execute(array($email));

                        $count = $rows->rowCount();

                        if($count == true){
                            $erreur = "<span class='erreur'><i class='fa fa-exclamation-circle'></i>Email existant</span>";
                        }else{
                            $time = time();

                            $req = $pdo->prepare("INSERT INTO membres(name, email, country, date_time)VALUES
                                (?,?,?,?)");
                            $req->execute(array($name,$email,$pays,$time));

                            ini_set("SMTP","smtp.example.com" );
                            $header .= "MIME-Version: 1.0 \e\n";
                            $header .= 'FROM:BeCompliance.fr"<support@becompliance.fr>' . "\n";
                            $header .= '"Content-Type:text/html; charset="utf-8"'. "\n";
                            $header .= 'Content-Transfer-Encoding: 8bit';

                            $message = '<html>
                                            <head>
                                                <title>Newsletter</title>
                                            </head>
                                            <body>
                                                <div align="center" style="width:100%;height:auto;padding:30px;padding:15px;">
                                                    <h1 style="color: #000000">Merci pour inscription au newsletter de BeCompliance </h1>
                                                </div>
                                            </body>
                                        </html>';
                                        mail($email, "Inscription au newsletter BeCompliance ", $message, $header);
                                        $sucess="<span class='sucess'><i class='fa fa-check-circle'></i>Inscription réussi</span>";
                            unset($name);
                            unset($email);
                        }
                    }else{
                        $erreur = "<span class='erreur'><i class='fa fa-exclamation-circle'></i>Veuillez selectionnez un pays</span>";
                    }
                }else{
                    $erreur = "<span class='erreur'><i class='fa fa-exclamation-circle'></i>Veuillez saisir un mail valide !</span>";
                }
            }else{
                $erreur = "<span class='erreur'><i class='fa fa-exclamation-circle'></i>Veuillez saisir un mail</span>";
            }
        }else{
            $erreur = "<i class='fa fa-exclamation-circle'></i><span class='erreur'>Veuillez saisir votre nom complet</span>";
        }
    }
?>


J'ai essayé ajouté ce code ligne pour régler cette erreur, mais ça ne fonctionne pas :


ini_set("SMTP","smtp.example.com" );


Comment faire pour corriger cette erreur ?


Merci d'avance pour vos réponses.

478 vues
11 novembre 2020 à 23:36 (Édité)
Cette pub permet au site de vivre ...

2 commentaires

Bonjour @florent72,


J'ai ajouté cette ligne de code :


ini_set("SMTP","smtp.free.fr");


Et j'obtiens plus l'erreur qui a été affichée précédemment.


Je te remercie pour ton aide.




Salut @Epeny 😀,


Je pense que ce lien pourra peut-être t'aider 😉

Redis-nous !


Florent 😄


Cette pub permet au site de vivre ...