en Jump to content
  • 0
jeanyves1976

Problème module "formulaire de contact" de prestashop

Question

Bonjour,

cela fait quelques semaines que je découvre la nouvelle version de prestashop 1.7.3

J'ai rajouté le modules de recaptcha pour les envois des mails et je me suis rendu comptes que je ne sais pas envois de mail, j'ai le message d'errur suivant

"An error occurred while sending the message, please try again."

Le site prestashop est installer provisoirement sur une adresse que j'ai chez one.com

Sur mon site j'ai aucun soucie pour l'envoi de mail avec la fonction mail()

Dans la configuration de prestashop, j'ai vus que par défaut c'est cette méthode qui est utilisé, bon vus que çà ne marche pas j'ai tenté de configuré les deux autres puisque sur one.com il donnent les infos mais çà change rien.

Suis-je passé à côté de quelque chose ?

Je précise que je ne sais pas envoyé de mail par "contactez-nous" mais pas non plus lorsque je fais un import, à la fin il devrait aussi envoyer un mail et la aussi erreur...

 

Merci d'avance,

Jean-Yves

Share this post


Link to post
Share on other sites

10 answers to this question

Recommended Posts

  • 0

La fin de ta question est plutôt incompréhensible.

Passons.

 

Active le debug, vérifie que ton thème possède la même structure au niveau du template contact-form: https://aide.prestashop.click/topic/1003/1-6-1-17-erreur-à-l-envoi-formulaire-de-contact

Par contre étant en 1.7, tu n'aura que peu d'aide supplémentaire sur cette plateforme moisie

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,

Bon, j'ai recherché le fameux contactform.php

Là dedans je retrouve bien les lignes qui gère le contrôle avant l'envoi d'un email (à partir de la ligne 401), d'ailleurs j'y retrouve bien le message d'erreur qui est afficher chez moi par contre je m'attends quand même à retrouvé quelque part le fameux mail()... ben non effet je ne vois pas comment et où il gère cela !

En parallèle de çà et comme j'avais déjà lu à gauche et droite et vous aussi qu'il serait mieux d'utiliser la version 1.6, je l'ai donc aussi installer en ligne pour faire mes tests...

Mauvaise surprise, exactement le même problème avec la version de prestshop 1.6.1.18 bizarre ! même message d'erreur !

Donc pour être plus clair dans les deux version (1.7.3 & 1.6.1.18) quand je vais dans l'onglet paramètres avancés/email on peut choisir la type de configuration d'envoi d'email et par défaut justement mail(), j'ai quand même testé avec l'option smtp qui est possible avec one.com sans résultat et peu important la version prestashop utilisé.

J'espère être suffisamment clair ;) et merci de vous pencher sur mon problème.

Jean-Yves

 

Share this post


Link to post
Share on other sites
  • 0

Hi 

Many users use Cpanel without have access to WHM.

CPanel / WHM have a option to block smtp.

This feature prevents users from bypassing the mail server to send mail, a common practice used by spammers. 

If you have  access to WHM turns off this feature (SMTP Restrictions)(Picture Attached)

If you dont have access to WHM contact your hosting provider.

SKYPE: luisleitaoaudio

Screenshot_1.png

Share this post


Link to post
Share on other sites
  • 0

Bonsoir,

Je vous remercie pour vos réponses.

Mon problèmes est résolu à moitié résolu...

Toujours sur prestashop 1.7.3

En fait dans "paramètre de la boutique" et "contact" je n'avais pas utilisé des emails que j'avais créé chez mon fourniseur one.com

Maintenant quand je vais sur "paramètres avancés" et "email" j'ai mis sur l'option "Utilisation de la fonction mail() de php"

En bas on peut tester la configuration par l'envoi d'un email, si je met l'un des email que j'ai chez mon fourniseur one.com c'est ok et je recois bien l'email mais aucune autre adresse email ne passe et j'ai le message suivant:

Erreur : veuillez vérifier votre configuration

Quand sur ma boutique j'essai d'envoyer un message par "nous contacter" j'ai le message d'erreur :

  • An error occurred while sending the message, please try again.

 

 

J'ai aussi testé cette modification sur la version 1.6.1.18 et j'ai exactement le même résultat.

Je reprécise que j'ai mis la boutique en test sur l'adresse d'un site que j'utilise et où je n'ai pas du souci avec mon formulaire php mail()

Merci,

Jean-Yves

 

 

Share this post


Link to post
Share on other sites
  • 0

Bonjour,

 

Je reviens encore avec mon problème, j'avance doucement...

Bon le problème viens directement du module Formulaire de contact de prestashop (v4.1.0)

Bien que j'ai quelque connaissance en php, j'ai trouvé les deux fichiers (contactform.php et contactform.tpl).

Donc lors de l'envoi d'un message par le formulaire de contact :

Fichier : contactform.php

(ligne 392)

public function sendMessage()

la fonction s'arrête à la ligne 419 :

$this->context->controller->errors[] = $this->trans('Une erreur est survenue lors de l envoi du message, veuillez réessayer.', array(), 'Modules.Contactform.Shop');

Je ne comprend pas vraiment ce qui valide cette ligne car toute les condition au dessus son ok (selon moi ;))

Dans le fichier contactform.tpl

(ligne 31)

<form action="{$urls.pages.contact}" method="post" {if $contact.allow_file_upload}enctype="multipart/form-data"{/if}>

Ici ce que je ne comprend pas dans le form c'est : action="{$urls.pages.contact}"

Sur mon site j'utilise aussi la method="post" donc normalement çà devrait fonctionner.

Je ne sais pas vraiment où çà coince, si quelqu'un à une idée, ce sont les deux fichiers du thème de base que j'ai mis en pièces jointes.

 

Merci d'avance et bonne journée,

Jean-Yves

contactform.php

contactform.tpl

Share this post


Link to post
Share on other sites
  • 0

Vous êtes PENIBLE !

Comment espérez vous que votre garagiste répare votre voiture? En la lui amenant!

Comment espérez vous que votre médecin vous prescrive une ordonnance  ? En allez le voir et en vous mettant tout nu!

 

Comment espérez vous que l'on répare votre site internet ? En lisant une boule de cristal !!!!!!

Ton url !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

 

Share this post


Link to post
Share on other sites
  • 0

Bonjour doekia et à tous, (formule de politesse)

Content de voir que vous avez pris la peine de répondre à mon message ;) bon certe, il y a 15 jours vous m'auriez dit qu'avec l'url du site vous auriez pu m'aider ou pas, on n'aurait déjà gagné 15 jours. D'un autre côté je veux bien comprendre votre point de vue sur la version 1.7, il y a certainement plein de souci avec, j'avais déjà il 6 mois testé la 1.6 et maintenant en parallèle la 1.6.1.18, qui là pour moi la fonction import n'affiche pas du tout l'avancement du chargement, ben oui excusez-moi d'être "PENIBLE" mais non je ne veux pas démarrer une boutique en 1.6, déjà pour la question d'import au moins sur la 1.7. je vois quand c'est planté ! et de plus, même si 1.7 pas fiable à 100% , ni pour 2018, 2019 ou jamais au vus de tout les commentaires que j'ai lu ici, comme ce sont deux plate forme totalement différent, je ne peut pas me permettre, le jour ou prestashop dira fini 1.6, ce qui arrivera, d'avoir trop de souci pour transférer ma boutique vers 1.7 et d'avoir un souci avec le module formulaire contact et pas avoir d'avancé pendant 15 jours car je ne suis pas un "prestashop superstar"

Petite parenthèse sur ton premier message sur le point "La fin de ta question est plutôt incompréhensible. Passons."

Je suppose que tu as tester la version 1.7 et en l’occurrence la fonction import. Comme moi j'ai fait l'inverse, sur la 1.6.1.18 dans import il n'y a pas la possibilité de ce faire envoyer un email à la fin de l'import.

Bon allez doekia et tout le monde, trêve de blabla voici le lien où j'ai mis la boutique pour faire mes teste : URL site test

PS : Si vous avez besoin plus d'info, n'hésitez pas, si je répond pas de suite c'est que je travail le week-end en nuit ;)

Jean-Yves

 

Share this post


Link to post
Share on other sites
  • 0

Bonjour à tous,

 

Allez comme je vois que doekia ne trouve pas, j'ai cherché par moi meme le pourquoi du comment, en regardant bien dans contactform.php, je me suis rendu compte que le problème venait des "token", si je supprimais cette vérification, l'envoi des deux emails se fait bien (client et boutique)

En réalité depuis le début je fait mes modifications dans modules/contactform/... et visuellement çà provoquait bien des modifications visuelle sur mon site.

En fouillant sur le net pour cette histoire de token, on parle bien d'une vérification token fait avant l'envoie par contactform.tpl

Mais aussi que ce fichier et normalement dans themes/modules/contactform/...

En réalité dans themes le fichier et différent de celui se trouvant directement dans le chemin modules.

D'ailleurs, le formulaire de contact n'affichait pas non plus le GRPD en bas.

Bref, une simple copie du fichier pourrais faire l'affaire mais la mise en page est "brut", du coup j'ai modifié l'ancien...

Maintenant çà marche nikel ;)

A+

Share this post


Link to post
Share on other sites
  • 0
On 27/06/2018 at 1:40 AM, jeanyves1976 said:

Bonjour à tous,

 

Allez comme je vois que doekia ne trouve pas, j'ai cherché par moi meme le pourquoi du comment, en regardant bien dans contactform.php, je me suis rendu compte que le problème venait des "token", si je supprimais cette vérification, l'envoi des deux emails se fait bien (client et boutique)

En réalité depuis le début je fait mes modifications dans modules/contactform/... et visuellement çà provoquait bien des modifications visuelle sur mon site.

En fouillant sur le net pour cette histoire de token, on parle bien d'une vérification token fait avant l'envoie par contactform.tpl

Mais aussi que ce fichier et normalement dans themes/modules/contactform/...

En réalité dans themes le fichier et différent de celui se trouvant directement dans le chemin modules.

D'ailleurs, le formulaire de contact n'affichait pas non plus le GRPD en bas.

Bref, une simple copie du fichier pourrais faire l'affaire mais la mise en page est "brut", du coup j'ai modifié l'ancien...

Maintenant çà marche nikel ;)

A+

Bonjour 

Je rencontre le même problème que vous sur mon site. Je sui novice en PHP, donc j'ai un peu de mal comprendre ce que vous avez changé dans  le fichier "contactform" pour que le problème disparaisse ...pourriez vous m'aider svp ?

Merci d'avance

bonne journée

FC

Share this post


Link to post
Share on other sites
  • 0

Bonjour FC76,

Le plus simple c'est que je peux te donner mon fichier, suit le chemin suivant sur ton serveur :

./themes/classic/modules/contactform/views/templates/widget/

là tu as le fichier contactform.tpl, par sécurité change l'extension du tiens pour avoir contacrform.old par exemple et copie celui que tu aura chargé ici.

tu peux aussi regarder la différence qu'il y a entre les deux fichiers, c'est à la fin qu'il manque la ligne :

<input type="hidden" name="token" value="{$token}" />

qui devrait se trouver en dessous de :

<input type="text" name="url" value=""/>

Voilà :)

PS : si tu n'as pas de changement, pense à vider le cache dans le backoffice / paramètres avancés / Performance et là "vider le cache" en haut ;)

Jean-Yves

contactform.tpl

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More