Sendmail en php avec Xampp

Fermé
Eche043 Messages postés 16 Date d'inscription mercredi 20 septembre 2017 Statut Membre Dernière intervention 30 mai 2020 - 30 mai 2020 à 12:08
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 - 31 mai 2020 à 08:35
Bonjours les amis, sa fait deux jours que je galère avec ce problème d'envoi de mail en local. en effet j'ai xampp et j'ai configuré les fichier sendmail.ini et php.ini mais je reçois toujours une erreur et le message n'ai pas envoyé

sendmail.ini

; configuration for fake sendmail

; if this file doesn't exist, sendmail.exe will look for the settings in
; the registry, under HKLM\Software\Sendmail

[sendmail]

; you must change mail.mydomain.com to your smtp server,
; or to IIS's "pickup" directory. (generally C:\Inetpub\mailroot\Pickup)
; emails delivered via IIS's pickup directory cause sendmail to
; run quicker, but you won't get error messages back to the calling
; application.

smtp_server=smtp.gmail.com

; smtp port (normally 25)

smtp_port=587

; SMTPS (SSL) support
; auto = use SSL for port 465, otherwise try to use TLS
; ssl = alway use SSL
; tls = always use TLS
; none = never try to use SSL

smtp_ssl=auto

; the default domain for this server will be read from the registry
; this will be appended to email addresses when one isn't provided
; if you want to override the value in the registry, uncomment and modify

default_domain=gmail.com

; log smtp errors to error.log (defaults to same directory as sendmail.exe)
; uncomment to enable logging

error_logfile=error.log

; create debug log as debug.log (defaults to same directory as sendmail.exe)
; uncomment to enable debugging

debug_logfile=debug.log

; if your smtp server requires authentication, modify the following two lines

auth_username=mon_mail_ici
auth_password=mon_mot_de_passe_ici

; if your smtp server uses pop3 before smtp authentication, modify the
; following three lines. do not enable unless it is required.

pop3_server=
pop3_username=
pop3_password=

; force the sender to always be the following email address
; this will only affect the "MAIL FROM" command, it won't modify
; the "From: " header of the message content

force_sender=

; force the sender to always be the following email address
; this will only affect the "RCTP TO" command, it won't modify
; the "To: " header of the message content

force_recipient=

; sendmail will use your hostname and your default_domain in the ehlo/helo
; smtp greeting. you can manually set the ehlo/helo name if required

hostname=


php.ini

juste la fonction mail function

[mail function]
; For Win32 only.
; https://www.php.net/manual/en/mail.configuration.php#ini.smtp
SMTP=smtp.gmail.com
; https://www.php.net/manual/en/mail.configuration.php#ini.smtp-port
smtp_port=587

; For Win32 only.
; https://www.php.net/manual/en/mail.configuration.php#ini.sendmail-from
sendmail_from = mon_mail

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
; https://www.php.net/manual/en/mail.configuration.php#ini.sendmail-path
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"

; Force the addition of the specified parameters to be passed as extra parameters
; to the sendmail binary. These parameters will always replace the value of
; the 5th parameter to mail().
;mail.force_extra_parameters =

; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename
mail.add_x_header=Off

; The path to a log file that will log all mail() calls. Log entries include
; the full path of the script, line number, To address and headers.
;mail.log =
; Log mail to syslog (Event Log on Windows).
;mail.log = syslog


mon code php est le suivant


<?php

if (isset($_POST['send'])) {
function Rec($text)
{
$text = htmlspecialchars(trim($text), ENT_QUOTES);
if (1 === get_magic_quotes_gpc())
{
$text = stripslashes($text);
}

$text = nl2br($text);
return $text;
};
$nom = (isset($_POST['nom'])) ? Rec($_POST['nom']) : '';
$email = (isset($_POST['email'])) ? Rec($_POST['email']) : '';
$contact = (isset($_POST['contact'])) ? Rec($_POST['contact']) : '';
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
$to_email = "kernel1.4@hotmail.com";
$subject = "Message de la bibliothèque";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();

if (mail($to_email, $subject, $message, $headers)) {
echo "Mail envoyé";
}else{
echo "Echec lors de l'envoi du mail";
}
}

?>


ai-je oublier quelque chose ou ma configuration est mauvaise? Merci de bien m'aider

2 réponses

yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
30 mai 2020 à 12:34
bonjour, ajoute ceci en cas d'erreur:
print_r(error_get_last());
0
Eche043 Messages postés 16 Date d'inscription mercredi 20 septembre 2017 Statut Membre Dernière intervention 30 mai 2020
30 mai 2020 à 15:30
j'ai ajouter sa me ramenais cette erreur Array ( [type] => 8192 [message] => Function get_magic_quotes_gpc() is deprecated [file] => C:\xampp\htdocs\anader_doc\contact-us.php [line] => 7 )

j'ai donc voulu fait plus simple et voila mon nouveau code php


<?php

if (isset($_POST['send'])) {

$nom = htmlspecialchars($_POST['nom']);
$email = htmlspecialchars($_POST['email']);
$contact = htmlspecialchars($_POST['contact']);
$message = htmlspecialchars($_POST['message']);
$to_email = "kernel1.4@hotmail.com";
$subject = "Message de la bibliothèque";
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();

if (mail($to_email, $subject, $message, $headers)) {
echo "Mail envoyé";
}else{
echo "Echec lors de l'envoi du mail";
print_r(error_get_last());
}
}

?>


mon mail ne va toujours pas
0
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556 > Eche043 Messages postés 16 Date d'inscription mercredi 20 septembre 2017 Statut Membre Dernière intervention 30 mai 2020
30 mai 2020 à 16:16
et tu as toujours la même erreur affichée?
0
Eche043 Messages postés 16 Date d'inscription mercredi 20 septembre 2017 Statut Membre Dernière intervention 30 mai 2020 > yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024
30 mai 2020 à 21:42
j'ai pas la même erreur mais j'ai Echec lors de l'envoi du mail le mail ne va donc pas
0
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 1 556 > Eche043 Messages postés 16 Date d'inscription mercredi 20 septembre 2017 Statut Membre Dernière intervention 30 mai 2020
30 mai 2020 à 22:18
et qu'affiche
print_r(error_get_last());
?
0
Eche043 Messages postés 16 Date d'inscription mercredi 20 septembre 2017 Statut Membre Dernière intervention 30 mai 2020 > yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024
30 mai 2020 à 22:23
  print_r(error_get_last());
n'affiche rien
0
yg_be Messages postés 23391 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 16 décembre 2024 Ambassadeur 1 556
31 mai 2020 à 08:35
quand tu écris "mon_mail_ici", il s'agit bien d'un compte gmail?
essaie de donner un maximum d'information utile.
0