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

PHP & Base de données Discussion :

PHP8 envoi de mails


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2023
    Messages : 6
    Par défaut PHP8 envoi de mails
    Bonjour,

    Je viens de migrer de PHP7 à PHP8 et j'ai des problèmes pour l'envoi des mails, qui fonctionnait bien avant la migration.

    Je reçois bien les mails, j'ai l'objet mais le contenu est toujours vide.

    Quelqu'un a une piste ?

    Merci de votre aide,

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Non, pas d'idée.

    Je commencerais par vérifier que le contenu apparaît bien avec un message tout simple.

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2023
    Messages : 6
    Par défaut
    Oui, c'est ce que j'ai fait avec ça :

    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
    $mail_expediteur="contact@xxx.com";
    	$mail_destinataire="vi@yyy.com";
    	$titre="Titre du mail";
    	$msg="Mon message mail";
     
    	$Entetes=[];
    	$Entetes[] = "MIME-Version: 1.0";
    	$Entetes[] = "Content-type: text/html; charset=UTF-8";
    	$Entetes[] = "From: <a href="mailto:contact@xxx.com">contact@xxx.com</a>";
    	$Entetes[] = "Reply-To:contact@xxx.com";
     
    	if(mail($mail_destinataire,"=?UTF-8?B?".base64_encode($titre)."?=",$msg,implode("\r\n",$Entetes))){
    	  echo "ok";
    	} else{
    	  echo "pas ok";
    	}
    ou ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $message="mon message mail à envoyer";
    	$from = "contact@xxx.com"; 
    	$to = "vi@xxx.com";
    	$subject = "message";
    	$headers  = "MIME-Version: 1.0" . "\r\n";
    	$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
    	$headers .= "From: ".$from."\r\n".
    	"Reply-To: ".$from."\r\n" .
    	"X-Mailer: PHP/" . phpversion();
    	mail($to,$subject,$message, $headers);

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Dans cet exemple de code, je ne vois pas où est définie la variable $message.
    PS: avertissement de sécurité.

  5. #5
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $Entetes[] = "From: <a href="mailto:contact@xxx.com">contact@xxx.com</a>";
    Ceci ne peut pas fonctionner, le code est invalide !

    Par "tout simple" j'entendais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $to = 'dest@example.net';
    $subject = 'Sujet de test';
    $message = 'Message de test';
    mail($to, $subject, $message);
    Ensuite, si c'est bon, tu peux réintroduire petit-à-petit tes éléments.

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2023
    Messages : 6
    Par défaut
    Merci pour vos retour,


    @Séb. :
    Oui, c'est ce que j'ai mis dans la 2ème version de test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
            $message="mon message mail à envoyer";
    	$from = "contact@xxx.com"; 
    	$to = "vi@xxx.com";
    	$subject = "message";
    	$headers  = "MIME-Version: 1.0" . "\r\n";
    	$headers .= "Content-type: text/html; charset=UTF-8" . "\r\n";
    	$headers .= "From: ".$from."\r\n".
    	"Reply-To: ".$from."\r\n" .
    	"X-Mailer: PHP/" . phpversion();
    	mail($to,$subject,$message, $headers);
    @Binarygirl : $message est déclaré en ligne 1

    J'ai créé ces tests parce mon mail original ne fonctionnait plus. Ces 2 tests fonctionnent en php7.

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Et un test minimaliste, ce n'est pas possible ?

  8. #8
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2023
    Messages : 6
    Par défaut
    Bonjour Seb,

    Avec le code minimaliste, rien ne se passe. Le mail ne part pas.
    Si j'ajoute à ce code un header avec $headers = "Reply-To: $from\r\n" (avec $from de renseigné) ; rien ne se passe non plus.
    Si je complète le header avec

    $headers = "MIME-Version: 1.0 \r\n";
    $headers .= "Content-type: text/html; charset=utf-8\r\n";
    $headers .= "Content-Transfer-Encoding: 8bit\r\n";
    $headers .= "From: $from\r\n";
    $headers .= "Reply-To: $from\r\n";

    Le mail part ; je le reçois avec un objet mais pas de message.

    Il n'y aurait pas un problème de déclaration de variable dans le php.ini ?

    Merci de ton aide,

  9. #9
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Avec le code minimaliste, rien ne se passe. Le mail ne part pas.
    Montre-nous le code.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2023
    Messages : 6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $to = 'vi@xx.com';
    $subject = 'Sujet de test';
    $message = 'Message de test';
    mail($to, $subject, $message);
    J'ai aussi essayé en ajoutant un $from.

  11. #11
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $to = 'vi@xx.com';
    $subject = 'Sujet de test';
    $message = 'Message de test';
    $result = mail($to, $subject, $message);
    echo 'Résultat : ';
    var_dump($result);
    Que donne ceci ? Tu ne cacherais pas les erreurs ?

  12. #12
    Futur Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Février 2023
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2023
    Messages : 6
    Par défaut
    Il m'affiche :

    Résultat : bool(false)

    Les mails ne passent que si je mets en entête mais sans le contenu du message.

Discussions similaires

  1. Envoi de mail au format html
    Par Mephyston dans le forum C++Builder
    Réponses: 2
    Dernier message: 22/01/2004, 12h29
  2. Envoi de mail au format Rich-Text
    Par LineLe dans le forum ASP
    Réponses: 4
    Dernier message: 29/10/2003, 16h27
  3. envoi de mail avec attachement de fichier
    Par GMI3 dans le forum Modules
    Réponses: 2
    Dernier message: 24/09/2003, 11h22
  4. Outlook ne se ferme pas après un envoi de mail
    Par Joke dans le forum VBA Access
    Réponses: 2
    Dernier message: 07/06/2003, 17h32
  5. envoi de mail, protocol SMTP langage C
    Par Heimdall dans le forum Développement
    Réponses: 2
    Dernier message: 23/05/2003, 11h22

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