Récupérer les données dun formulaire et les envoyer dans un mail

Fermé
abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017 - 12 mai 2017 à 12:28
 Utilisateur anonyme - 31 mai 2017 à 13:49
Bonjour,

Dans mon application , je souhaite ajouter des clients , pour ce faire j'ai crée un formulaire qui contient le nomPrenom du client , sa raison sociale , la date d'insertion et une image que je dois uploader :
voici mon code :

<form action="EnvoyerMail.php?id=<?php echo $code_commercial; ?>" class="form-horizontal" method="POST" enctype="multipart/form-data">
<div class="form-group">
<label class="control-label col-lg-4">Nom & Prénom :</label>
<div class="col-lg-4">
<input type="text" class="form-control" name="NomPrenom" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">Raison Sociale :</label>
<div class="col-lg-4">
<input type="text" class="form-control" name="RaisonSociale" />
</div>
</div>
<div class="form-group">
<label class="control-label col-lg-4">Date</label>
<div class="col-lg-4">
<input type="date" id="dateInsertion" name="dateInsertion" class="form-control" />
</div>
</div>
<div class="form-group" align="center">
<label class="control-label col-lg-4">Image Upload</label>
<div class="col-lg-8">
<div class="fileupload fileupload-new" data-provides="fileupload" >
<div class="fileupload-preview thumbnail" style="width: 300px; height: 200px;" ></div>
<div>
<span class="btn btn-file btn-success">
<span class="fileupload-new">Selectionner une image</span>
<span class="fileupload-exists">Changer</span>
<input type="file" name="imageCli" />
</span>
<a href="#" rel="nofollow noopener noreferrer" target="_blank" class="btn btn-danger fileupload-exists" data-dismiss="fileupload">Supprimer</a>
</div>
</div>
</div>
</div>
<div class="form-actions no-margin-bottom" style="text-align:center;">
<input type="submit" value="Enregistrer" class="btn btn-primary btn-lg " />
</div>
</form>

Maintenant, après avoir récupéré les informations saisies dans ce formulaire , je souhaite les envoyer dans un mail, j'ai fait comme suit (dans la page EnvoyerMail.php comme indiqué dans mon form ):


<?php
include("connect.php");
$code_commercial=$_GET['id'];
$nomPrenomClient=$_POST['NomPrenom'];
$raisonSociale=$_POST['RaisonSociale'];
$dateInsertion=$_POST['dateInsertion'];
var_dump($_POST);

if(isset($_FILES['imageCli']))
{
$dossier = 'upload/';
$fichier = basename($_FILES['imageCli']['name']);
if(move_uploaded_file($_FILES['imageCli']['tmp_name'], $dossier . $fichier))
{
echo 'Upload effectué avec succes !';
}
else
{
echo 'Echec de l\'upload !';
}
}

$mail_commercial="";
$sql_mail_commercial="select Email from Ref_Commercial where CCommercial='$code_commercial' ";
$stmt_mail_commercial=sqlsrv_query($conn, $sql_mail_commercial);
$rslt_mail_commercial=sqlsrv_fetch_array($stmt_mail_commercial, SQLSRV_FETCH_NUMERIC);
$mail_commercial=implode($mail_commercial, $rslt_mail_commercial);

$to=$mail_commercial;
$subject = 'Nouveau Client';
$message = 'Nom et Prénom du client : '.$nomPrenomClient."<br> RaisonSociale : ".$raisonSociale."<br> Date Ajout : ".$dateInsertion ;
$headers = 'From: '.$mail_commercial. "\r\n" .
'Reply-To: '.$mail_commercial. "\r\n" .
'X-Mailer: PHP/' . phpversion();

$envoi = mail($to, $subject, $message, $headers);

if ($envoi == true)
echo "<br />L'email a été envoyé avec succès :D";
else
echo "<br />échec de l'envoi du email :( ";

?>

Ceci me retourne le message d'erreur suivant :
Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\LTH3\EnvoyerMail.php on line 39
sachant que j'ai modifié le fichier php.ini comme suit :

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

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

S'il vous plait aidez moi à dépasser ce problème, je vous remercie d'avance

A voir également:

2 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
12 mai 2017 à 13:30
Hum, t'es sûr de pouvoir envoyer du localhost ?

Tu as des pares-feux, des routeurs qui bloc l'accès ?
0
Utilisateur anonyme
12 mai 2017 à 13:44
Bonjour

Si j'en crois ce document :
http://docs.sfr.fr/guide/parametres-serveurs-email.pdf
Tu devrais plutôt utiliser le serveur smtp.sfr.fr (port 465)
ou mail.sfr.net/mail.sfr.fr (port 25, sans authentification)
Je pense (pas sûr) qu'avec la fonction mail de php, tu es obligé d'utiliser la version sans authentification.
0
abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017
31 mai 2017 à 11:54
Bonjour,
Est ce que c'est possible d'envoyer un email sachant que je travaille sur localhost ? peut être que l'erreur est due à ça
0
Utilisateur anonyme > abirgl Messages postés 127 Date d'inscription lundi 31 octobre 2016 Statut Membre Dernière intervention 20 juin 2017
Modifié le 31 mai 2017 à 13:54
Je le fais bien chez moi.
Ton adresse $mail_commercial est bien une adresse de ton fournisseur d'accès ? Quel est ce fournisseur d'accès ?
Il est très possible que leur serveur smtp refuse de transmettre un mail pour un compte qui n'est pas de chez eux.
D'ailleurs, je trouve très bizarre ta façon d'obtenir la valeur de $mail_commercial. Un implode sans séparateur, un tableau là où on attend une valeur unique… As-tu vérifié avec un echo ce qu'il y a dans cette variable au moment de l'envoi ?
0