8768 sujets

Développement web côté serveur, CMS

Hello !

Suite à mon dernier post concernant mon gros bug de formulaire de contact en php (qui ne fonctionne tjrs pas),
--> https://forum.alsacreations.com/topic-20-84133-1-Bug-formulaire-de-contact-php.html
je me permets de re-poster un message pour trouver des réponses à mes nombreuses questions :

Lorsque l'on souhaite utiliser le langage php, sommes nous obliger d'installer php sur notre ordinateur ? J'utilise l'hébergeur gandi et celui-ci contient déjà les fichiers php d'après la FAQ de l'hébergeur.

Pour utiliser la fonction mail() dans un document php, doit-on indiquer les informations concernant l'hébergement quelque part ?
J'ai lu sur certains forum qu'il fallait indiquer des infos tels que SMTP etc... Mais je ne trouve aucun tutos complet là-dessus.

Ensuite, lorsque j'ai testé ma fonction mail(), j'ai vu qu'il y avait une console sur Gandi.net qui nous permet d'accéder aux infos de PHP, wordpress et MySQL...
Dans le fichier phpmail.log tous mes essais sont répertoriés, mais je n'ai reçu aucun mail dans ma messagerie.

Dans le fichier fpm.log, celui a blacklisté mon adresse email :
[16-Nov-2018 14:40:15] WARNING: [pool www] child 3764 said into stderr: "sendmail: RCPT TO:<monadresse@email.com> (550 5.7.1 <hosting-user@customer.gpaas.net>: Sender address rejected: Blacklisted user: hosting-user@customer.gpaas.net)"


Si quelqu'un pouvait m'aider et m'expliquer ou m'orienter vers un tutoriel ce serait génial !!


Merci d'avance ! Smiley sweatdrop
Modifié par com-comptoir (16 Nov 2018 - 15:53)
hm... bizare...
Sender address rejected: Blacklisted user....
bon, cette erreur est censé être "temporaire" et le déblocage automatique. Généralement tu as ce genre d'erreur si tu spam le mail et que t'en envoi ÉNORMÉMENT en peu de temps.
JENCAL a écrit :
hm... bizare...
Sender address rejected: Blacklisted user....
bon, cette erreur est censé être "temporaire" et le déblocage automatique. Généralement tu as ce genre d'erreur si tu spam le mail et que t'en envoi ÉNORMÉMENT en peu de temps.


J'ai compté mes tests et j'en ai fait 10 espacés sur cette aprem... Serieusement j'y comprends rien. Smiley rolleyes
J'ai jamais eu de mal à faire un formulaire de contact, simple qui fonctionne même sans le test if... Je me demande si le PB ne vient pas de mon hébergeur.. Smiley bawling
conctact les directement, tu auras sans doute des réponses plus pertinentes que les miennes! Smiley smile
JENCAL a écrit :
conctact les directement, tu auras sans doute des réponses plus pertinentes que les miennes! Smiley smile


Ok merci en tout cas !

Je laisse le sujet ouvert si d'autres personnes volent à mon secours !
JENCAL a écrit :
conctact les directement, tu auras sans doute des réponses plus pertinentes que les miennes! Smiley smile


Réponse de Gandi :

Les emails ne partent pas de votre instance Simple Hosting parce que vous avez omis de spécifier une adresse email valide d'expéditeur, ce que prouve les logs PHP de votre instance (auxquelles je vous rappelle vous avez accès):

[16-Nov-2018 14:40:15] WARNING: [pool www] child 3764 said into stderr: "sendmail: RCPT TO:<mon adresse email> (550 5.7.1 <hosting-user@customer.gpaas.net>: Sender address rejected: Blacklisted user: hosting-user@customer.gpaas.net)"

Par conséquent spécifiez une adresse d'expéditeur et cela marchera.
JENCAL a écrit :
et donc, tu as essayé ce qu'ils disent ?


Hello, oui... toujours pas de changement. J'ai renvoyé un mail aux experts. Quitte à payer.
J'ai déclarer ceci dans le fichier php.ini :

php_flag = On
display_errors = On

; For Win32 only.
SMTP = localhost
smtp_port = 25

sendmail_from = com@monentreprise.com


Mais la dernière ligne n'est pas acceptée...

Smiley hotbounce
Modérateur
Hello, tu peux indiquer le From dans la fonction mail:


     $to      = 'personne@example.com';
     $subject = 'le sujet';
     $message = 'Bonjour !';
     $headers = 'From: webmaster@example.com' . "\r\n" .
             'Reply-To: bidule@example.com';

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

Modifié par kustolovic (19 Nov 2018 - 11:00)
kustolovic a écrit :
Hello, tu peux indiquer le From dans la fonction mail:


     $to      = 'personne@example.com';
     $subject = 'le sujet';
     $message = 'Bonjour !';
     $headers = 'From: webmaster@example.com' . "\r\n" .
             'Reply-To: bidule@example.com';

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


Hello,
Je n'ai pas fait de from dans mon formulaire de contact.
Je ne pense pas en avoir besoin, vu que l'adresse mail spécifiée dans le code php a été uniquement créée pour le formulaire de contact
com-comptoir a écrit :


Hello,
Je n'ai pas fait de from dans mon formulaire de contact.
Je ne pense pas en avoir besoin, vu que l'adresse mail spécifiée dans le code php a été uniquement créée pour le formulaire de contact
$

mais as-tu tester comme cela ? en virant ta dernière ligne, et en mettant le from directement dans le header de ta requête mail ?
JENCAL a écrit :
$

mais as-tu tester comme cela ? en virant ta dernière ligne, et en mettant le from directement dans le header de ta requête mail ?


Je vais tester mais ducoup je mets quoi pour 'Reply-To: bidule@example.com' ?
Je mets le $_POST['emailclient'] ?
JENCAL a écrit :
Tu met ton mail, se sera celui qui sera afficher si le client click sur "répondre à"


Enfait je ne comprends pas pourquoi je dois mettre une autre adresse email que celle où seront reçue les demandes de contact.
Pour moi il y a le :
$to > vers la boite email de mon entreprise
$mail > email du client pour lui répondre

Dans un formulaire de contact, dit "basic" ; avec nom, email, tel , message et input "envoyer", je ne voit pas pq en mettre car c'est le client qui nous envoie des message et pas l'inverse..
JENCAL a écrit :
Tu met ton mail, se sera celui qui sera afficher si le client click sur "répondre à"


Merci beaucoup pour ton aide, j'ai résolu mon soucis.
Dans mon code j'ai rajouté certaines mentions :


<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

/*infos generales*/
$to = "com@monadresse.com";
$subject = "Formulaire de Contact | Nouveau message";

$nom = $_POST['name'];
$entreprise = $_POST['entreprise'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$message = $_POST['message'];

$body = "Nouveau message de : " .$nom. "\n" . 
	"Infos client : " .$email. " | " .$tel. "\n" .
	"Entreprise : " .$entreprise. "\n" .
	"Votre message : " . "\n" .$message;

/*connexion --> NOUVEAU */
$headers = 'From: com@monadresse.com' . "\r\n" .
    'Reply-To: ' .$email. "\r\n" .
    'X-Mailer: PHP/' . phpversion();


if (mail($to, $subject, $body, $headers)) {
echo("<p>Merci de votre message ! Nous vous répondrons dès que possible</p>");
} else {
echo("<p>Oups ! Le mail ne s'est pas envoyé</p>");
}
?>

Modifié par com-comptoir (19 Nov 2018 - 15:46)
Bonjour,
Je suis graphiste et je veux ajouter la corde "intégrateur" à mon arc.
Je suis en galère pour mettre en place un form de contact. J'ai copié ce que j'ai vu ici mais sans résultat. Alors excusez mon amateurisme mais le site doit-il être mis en service pour que cela fonctionne, ou suffit-il de passer par MAMP (comme je fais déjà) ?
P.S.: Je ne connais rien au php, d'où mes difficultés.