47 votes

La messagerie PHP ne fonctionne pas pour une raison quelconque

Je suis nouveau en PHP et j'utilise la fonction mail pour envoyer des emails qui ne fonctionne pas. Je reçois un message de réussite, mais cela ne fonctionne toujours pas

même code

 <?php
    $email_to = "abc@abc.com";
    $email_subject = "Test mail";
    $email_body = "Hello! This is a simple email message.";


    if(mail($email_to, $email_subject, $email_body)){
        echo "The email($email_subject) was successfully sent.";
    } else {
        echo "The email($email_subject) was NOT sent.";
    }
?>

Est-ce que je manque quelque chose, dois-je inclure des fichiers pour cette fonction. Je viens d'asp.net et c'est le script de base trouvé sur le site Web.

J'ai essayé d'autres scripts liés au courrier, ils ne fonctionnaient pas non plus.

JE LAISSE CE SCRIPT SUR LE SITE WEB PAS sur le localhost

73voto

Prabhat Kashyap Points 159

Si vous utilisez Ubuntu et qu'il semble que sendmail ne soit pas dans /usr/sbin/sendmail , installez sendmail à l'aide du terminal avec cette commande :

 sudo apt-get install sendmail

puis exécutez recharger la page PHP où mail() est écrit. Vérifiez également votre dossier spam.

20voto

Orentet Points 1472

Il s'agit probablement d'une erreur de configuration. Si vous insistez pour utiliser la fonction PHP mail , vous devrez éditer php.ini .

Si vous recherchez une option plus simple et plus polyvalente (à mon avis), vous devriez utiliser PHPMailer .

6voto

Cela pourrait être le problème de votre configuration SMTP dans votre fichier php.ini.

Puisque vous êtes nouveau sur PHP, vous pouvez trouver le fichier php.ini dans votre répertoire racine du dossier d'installation de PHP et vérifier SMTP = et smtp_port= et changer la valeur en

 SMTP = your mail server e.g) mail.yourdomain.com
smtp_port = 25(check your admin for original port)

Si votre serveur nécessite une authentification pour l'envoi de courrier, utilisez la fonction de courrier PEAR.

2voto

Darhazer Points 17541

La fonction courrier ne garantit pas la livraison effective du courrier. Tout ce qu'il fait est de transmettre le message à un programme externe (généralement sendmail). Vous avez besoin d'un serveur SMTP correctement configuré pour que cela fonctionne. Gardez également à l'esprit qu'il ne prend pas en charge l'authentification SMTP. Vous pouvez consulter la bibliothèque PEAR::Mail de SwiftMailer, les deux vous offrent plus d'options.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X