J'ai cherché le débordement de pile ainsi que les forums Ubuntu. J'écris un site web et je l'héberge moi-même en utilisant un serveur LAMP. J'ai un formulaire que l'utilisateur remplit et je veux qu'il envoie un email une fois que l'utilisateur clique sur le bouton soumettre. Jusqu'à présent, j'ai essayé sendmail, ssmtp, phpmailer, et en installant mailutils et en utilisant postfix. La raison pour laquelle je crois que c'est un problème avec le programme de messagerie est parce qu'après le test, je ne reçois aucune erreur du code et je suis incapable d'envoyer du courrier à partir de la ligne de commande. Je préférerais ne pas utiliser phpmailer car je ne veux pas coder en dur les mots de passe sur le site Web dans le cas où il serait compromis. J'apprécierais toute aide que quelqu'un pourrait me donner. J'ai inclus le script de mail si vous avez besoin de fichiers de configuration faites le moi savoir Merci d'avance.Difficulté à envoyer du courrier en php
<?php
session_start();
if(isset($_POST['submit'])){
$to = "[email protected]"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$subject = "Website Email";
$message = $first_name . " " . $last_name . " wrote the following:" . "\n\n" . $_POST['message'];
$type = 'plain'; // or HTML
$charset = 'utf-8';
$_SESSION['from'] = $_POST['email'];
$_SESSION['first_name'] = $_POST['first_name'];
$_SESSION['last_name'] = $_POST['last_name'];
$_SESSION['message'] = $_POST['message'];
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n";
$headers .= 'To: ' . $to . '<' . $to . '>' . "\r\n";
$headers .= 'From: ' . $from . '<' . $from . '>' . "\r\n";
if($first_name == NULL || $last_name == NULL || $from == NULL || $message == NULL){
header("Location: mailError.php");
die();
}
else{
//$headers2 = "From:" . $to;
mail($to,$subject,$message,$headers);
header("Location: thanksPage.php");
//mail($from,$subject2,$message2,$headers2); // sends a copy of the message to the sender
//echo "Mail Sent. Thank you " . $first_name . ", we will contact you shortly.";
}
}
?>
Votre serveur dispose-t-il d'un serveur de messagerie configuré? Rappelez-vous que 'mail()' ne fait que passer le message à un serveur de messagerie, il ne l'envoie pas lui-même. – RiggsFolly
Avez-vous essayé l'API Google Mail pour PHP? C'est vert pratique et rapide. Voici le lien pour en savoir plus: https://cloud.google.com/appengine/docs/php/mail/ – Rishi
Ou il y a le 'phpMailer' presque ubiquitus https://github.com/PHPMailer/PHPMailer Alors vous n'avez pas besoin pour installer et maintenir un serveur de messagerie – RiggsFolly