Bonjour,

Hébergé par o2Switch, je ne parviens pas à faire fonctionner correctement PHP Mailer pour un formulaire de contact.

Ce que je veux

faire fonctionner correctement PHP Mailer pour un formulaire de contact.

Ce que j'obtiens

Les messages laissés avec une adresse gmail ne partent pas (sans qu'une erreur soit affichée) tandis que les autres sont acheminés.
Je précise qu'il s'agit de l'email laissé dans le champ que je récupère et pas celui qui reçoit le mail.
D'où l'étrangeté de la chose.

En principe, la variable n'intervient pas du moment qu'elle ressemble à une adresse mail.

Mon contact indique une adresse free ou n'importe quoi avec un @ le mail me parvient, une adresse gmail et je ne l'ai pas.

Je suppose qu'une des fonctions de vérification incluses doit être paramétrées, mais laquelle !
Quelqu'un aurait déjà eu ce souci ?
Merci par avance

4 réponses


Tu as vérifié dans spam car c'est très étrange que ça ne parte pas pour tous les emails. Tu utilise PHPMailer avec quel configuration (SMTP ou mail()) ?

J'ai essayé les deux, même combat ;-)
Je vous mets le code ci-après (je l'ai eu directement avec un Template acheté, mais avec un autre utilisant également PHP Mailer, j'ai le même problème chez cet hébergeur... A priori chez o2Switch le serveur peut rester localhost . )

<?php
use PHPMailer\PHPMailer\PHPMailer;

    //Server settings

     $mail->Host        = 'localhost';                         // Enter the smtp server address you got from your hosting here
    $mail->SMTPAuth   = true;       
    $mail->Port        = 25;                                        // TCP port to connect to
      $mail->Username   = 'adresse@mail.fr';                                // SMTP username
      $mail->Password   = 'mdp'; 

    //Recipients
    $mail->setFrom($user_Email,$user_Name);
    $mail->addAddress($your_email, 'Theme Industry');     // Add a recipient
    $mail->addReplyTo($your_email, 'Information');

    // Content
    $mail->isHTML(true);                                  // Set email format to HTML
    // ......
    if(!$mail->send())
    {
        $output = json_encode(array('type'=>'error', 'text' => 'Impossible de vous envoyer le courriel .'));
        die($output);
    }else{
        $output = json_encode(array('type'=>'message', 'text' => 'Bonjour, '.$user_Name .' merci de nous avoir contacté, nous répondons sous 48 heures'));
        die($output);
    }
}
?>

Et tu recois le message de succès même quand l'email ne part pas ?

Je n’ai pas vraiment trouvé le pourquoi, mais j’ai contourné. En passant par une connexion SSL et le port qui va avec au lieu du simple localhost (indiqué par l’hébergeur), le bug disparaît.
Intellectuellement peu satisfaisant, mais merci de t’y être intéressé !