Jump to content
Mellow

[MODULE] + [CONTROLEUR] Activation de compte par email (validation d'adresse mail)

Recommended Posts

Edit par Antoine F : suite à une faille de sécurité signalé par un membre de la communauté, j'ai retiré temporairement les liens/pj de ce module (faille dans le méthode notify).

------------------
 
Bonjour à tous,

Je suis nouveau dans le monde de PrestaShop, et j'ai été sidéré de voir qu'il n'y avait pas de validation des comptes par email en natif ! Peut-être sur la version 1.5...?

En attendant j'avais besoin de cette fonctionnalité pour un site en version 1.4.7, et les rares modules gratuits que j'ai pu trouver ne me convenaient pas, surtout parce qu'à chaque fois deux mails étaient envoyés pour chaque inscription (le mail de bienvenue et le mail de validation)

Je me suis donc fabriqué le module (+ controleur) qu'il me fallait, en partant du module emailverify proposé par erico sur ce post :
http://www.prestasho...post__p__472949

Les caractéristiques sont les suivantes :

  • Envoi d'un SEUL mail lors de l'inscription, avec le message de bienvenue ET un lien d'activation du compte (a condition d'utiliser le module + le controleur)
  • Affichage d'un message en fin d'inscription pour prévenir le client que son compte doit encore être activé
  • Affichage d'un message de confirmation après l'activation du compte
  • Connexion automatique du client après l'activation
  • Récupération du panier du client après inscription, activation, et connexion
  • Possibilité d'envoi d'une notification à l'admin (module v1.2, configuration dans le backoffice)
  • Possibilité de se faire renvoyer le lien d'activation (module v1.3)

Pour n'avoir qu'un seul mail j'ai du "neutraliser" le mail de bienvenue de Prestashop, mais grace à l'override (sur les versions 1.4.x) cela se fait sans toucher aux fichiers originaux.

Donc l'archive ci jointe contient à la fois le module emailverify modifié, à copier dans /modules/ et à installer depuis le gestionnaire de module du backoffice (onglet administration), et le fichier AuthController.php à placer dans /override/controllers/

C'est le fichier AuthController.php qui permet de supprimer le mail de bienvenue original. Celui de cette archive provient de la version 1.4.7.3 (identique en version 1.4.8.2)

Ce module devrait surement fonctionner sur toutes les versions 1.4.x, mais pour avoir la bonne version du fichier AuthController.php il faudra le confectionner vous-même à partir de votre fichier d'origine. Un document texte dans l'archive explique comment faire la manip.

Voila, je vous livre donc ce module au cas ou ça intéresserait quelqu'un.

Et merci au programmeur de l'original smile.png

PS : Le module est en français et en anglais et les templates de mails aussi. Si vous utilisez d'autres langues sur votre site il faudra créer les templates de mails correspondants (ils sont dans /modules/emailverify/mails/), sinon vos clients risqueraient de ne pas recevoir leur mail de bienvenue/activation

Le module emailverify v1.1 + le controleur pour PS v1.4.7 / 1.4.8
[Contenu modéré]
MAJ : Module emailverify v1.2 (avec notification admin)
[Contenu modéré]
MAJ : Module emailverify v1.3 (possibilité de renvoi du lien d'activation)
Si le client essaye de se connecter alors que son compte n'a pas été activé, il est redirigé vers le module, et il a la possibilité de se faire renvoyer le lien d'activation
[Contenu modéré]

Version Compatible PS1.5 (Testé sur 1.4.7 à 1.5.3) (remplacer les fichiers et réinitialiser le module)
[Contenu modéré]
Voir ce message : http://www.prestasho...ost__p__1136929

post-344943-0-87284600-1336425432_thumb.png post-344943-0-80745500-1336428874_thumb.png post-344943-0-47475700-1337472315_thumb.png post-344943-0-67569900-1337472065_thumb.png

  • Like 5

Share this post


Link to post
Share on other sites

I tried the module and it works perfectly!

(version 1.4.7.3)

 

Would it be possible to add the option to send an e-mail for alert

the administrator of the customer registration?

With this option, for me, would be perfect.

 

regards

Share this post


Link to post
Share on other sites

Hi Waltod, thanks for your feedback

 

This is a good suggestion, and I will probably add it.

As I'm still learning Prestashop's structure, I think within a few days there will be a new version.

Share this post


Link to post
Share on other sites

Testé sur PS 1.4.7,

le module marche sans changer le Controller

mais se duplique ( 1 mail avec le lien un mail sans lien vers le module)

Excellent module qui rassure un acheteur....

Merci

Share this post


Link to post
Share on other sites

Mise à jour :

Ajout du module emailverify en version 1.2 (avec la possibilité d'envoyer une notification a l'admin à chaque nouvelle création de compte)

 

@redtango : En fait le module ne se duplique pas, c'est normal d'avoir deux mails si tu n'a pas mis en place le controleur, car c'est justement lui qui permet de ne plus envoyer le mail de bienvenu original de prestashop...

Share this post


Link to post
Share on other sites

Vous allez peut être trouver ça bizarre, mais je ne vois pas trop l'intérêt de demander au client de cliquer sur un lien pour activer son compte....

 

En effet, il y a risque que le lien ne fonctionne pas, le client doit alors entrer lui même le lien dans son navigateur et il y a alors risque que la personne ne sache pas le faire ou le fasse mal et de ce fait il se peut que le client n'active jamais son compte et donc qu'on perde un potentiel acheteur.

 

edit : à part la création de comptes bidons.. même si ça n'empeche pas à 100% : /

Edited by LEDestock (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

@LEDestock

 

Non ce n'est pas bizarre, ton raisonnement est tout à fait juste. Mais je pense que les gens qui commandent sur internet sont maintenant bien habitués à ce genre de procédure. Et puis aujourd'hui il est quand même assez rare de tomber sur un logiciel de messagerie ou un webmail qui n'affiche pas correctement les liens.

 

Moi ça me rassure de savoir que les gérants d'un site ou je m'apprête à passer une commande se soucient de la validité de mon adresse mail. Car en cas de pb, ou tout simplement pour le suivi de la commande, il faut bien pouvoir me contacter. (et je ne compte pas trop sur le téléphone car je vis en Guadeloupe et je commande souvent en métropole...)

 

Ca évite aussi d'avoir des séries de mails en erreur qui peuvent à la longue aboutir au blocage de la messagerie chez certains hébergeurs.

  • Like 1

Share this post


Link to post
Share on other sites

MAJ : Module emailverify v1.3 (possibilité de renvoi du lien d'activation)

Si le client essaye de se connecter alors que son compte n'a pas été activé, il est redirigé vers le module, et il a la possibilité de se faire renvoyer le lien d'activation

(Pour la mise à jour, remplacez les fichiers et réinitialisez le module dans le BO)

 

Voila, je pense que le module est complet maintenant...

Share this post


Link to post
Share on other sites

Wich archives i have to modify to convert to Spanish? Thanks

 

You need to build the spanish e-mail templates :

  • Unzip the archive wherever you want
  • Go to /emailverify/mails/
  • Make a copy the folder "en" or "fr"
  • Rename this copy to "es"
  • Using a text editor, translate the texts of all files in the "es" folder to Spanish
    (Don't forget to encode all Spanish special characters in the html files, to html entities ! Here is an online tool that may help http://www.htmlescap...scape_tool.html )
  • Then you can upload your "es" folder to your online server in /modules/emailverify/mails/ (or you can make a new archive including the Spanish templates)

You can translate the rest of the module directly online :

  • Go to your back-office > Tools > Translations > Modify translations
  • Chose "Translations of installed modules" and click the Spanish flag (assuming you have spanish language installed…)
  • Then locate "Module: emailverify" to access the texts to translate (32 expressions)
  • When you will save your work, a new file "es.php" will be created in the folder /modules/emailverify/

It would be nice if you could share your translation here, it could be useful for someone else. :)

  • Like 1

Share this post


Link to post
Share on other sites

hi, mellow

 

I used your module. everything is fine except that the activation email gets into the trash box all the time. I suppose it is because the mail has attachment, which is my logo.

 

The weirdest thing is that I cannot find any code related to my logo in your module and cannot delete it.

 

Do you have any idea?

Share this post


Link to post
Share on other sites

Hi bananashen

 

The only pieces of code related to the logo are in the html email templates :

<a href="{shop_url}" title="{shop_name}"><img alt="{shop_name}" src="{shop_logo}" style="border:none;" ></a>

 

Removing this code would avoid displaying the logo in the message body, but it would still remain attached to the email, because this is a core feature of prestashop.

The shop logo (or a specific email logo if it is defined in BO) is automatically embedded in all html email sent by the system.

 

Some email clients treats this as an attachment as well as an embedded image, but I'm not sure this is the reason why the message goes to trash.

Maybe your spam filter rules are too strict… You should try adding your shop email address to your list of approved senders

 

But if you wont to completely remove the logo in the emails, the simplest way is to set the email format to "text only" in the BO...

Share this post


Link to post
Share on other sites

Bonjour à tous,

 

le module fonctionne parfaitement sur va V1.4.8.

 

Même souci par contre, le mail de validation fini dans les spams.

Sinon le client ne reçoit pas de mail une fois le compte activé?

 

Sinon excellent travail.

Edited by yZ0 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour yZ0,

 

Non, pas de mail pour confirmer l'activation, mais le client a un message sur le site et il est automatiquement connecté. Je pense que ça devrait suffire, non ?

Et puis le but de départ c'était d'avoir confirmation des adresses des clients sans forcément augmenter le nombre de mails envoyé...

 

Justement, pour les mails qui finissent dans les spam, je pense vraiment que c'est au niveau des filtres qui sont parfois un peu trop agressif ou pas très pertinents.

J'ai testé sur des boites hotmail, ainsi que des adresses hébergées chez OVH et relevées avec Outlook 2007 (filtre de courrier indésirable à jour), et je n'ai pas eu de pb particulier. Tout au plus, hotmail demande de confirmer que le message est légitime avant de pouvoir cliquer sur le lien.

 

En tout cas les messages envoyés par le module ont exactement la même structure que les mails natifs de Prestashop. Donc si ils atterrissent dans les spam, les autres messages du système (contact, envoyer à un ami, suivi de commande, etc.) devraient logiquement subir le même sort. à vérifier...

Share this post


Link to post
Share on other sites

I use Prestashop 1.4.7 and I tried all the possibilities. Override the controller, modify the controller manually, v1.1, v1.2 v.1.3...

 

The mail from Prestashop core is not send (the controller override it correctly) but I get this error:

 

Validation email could not be sent. Maybe you typed a wrong address

 

Thank's in advance.

Share this post


Link to post
Share on other sites

@sak2

 

Are you talking about an online installation, or do you test locally ?

Did you properly set your e-mail configuration, and did you test it ?

 

If you are using a local installation, most probably you can't send mails unless you have configured an smtp account in the back office.

 

You should try testing your e-mail configuration : Back office => Preferences => E-mails

Share this post


Link to post
Share on other sites

@Mellow No, it's an online store on test enviroment. The mails are sending properly in php mode.

 

Before I installed the module the costumer got the welcome mail from Prestashop. After the module installation no mail is received.

 

The Presta version is 1.7.0.0.

 

Than's for your reply.

Share this post


Link to post
Share on other sites

Ohhh, I am sorry.

 

My Prestashop is in spanish I create the 'ES' folder and works perfectly.

 

Thank you so much for your work.

  • Like 1

Share this post


Link to post
Share on other sites

Hello,

an update to PS 1.5.0.17 should be great here, too :)

Thanks in advance

Share this post


Link to post
Share on other sites

Oups, petit problème sur une 1.4.5.1 en Smarty 2 (le template maison est un peu capricieux). Site en test mais en ligne en config de prod. :

Fatal error: Smarty error: [in /htdocs/public/www/modules/emailverify/notify.tpl line 9]: syntax error: unexpected {else} (Smarty_Compiler.class.php, line 478) in /htdocs/public/www/tools/smarty_v2/Smarty.class.php on line 1095

 

Il y a moyen de faire fonctionner quand même ?

- j'envoie l'accès en MP -

Share this post


Link to post
Share on other sites

1er Problème résolu :

j'ai repris le code de notify.tpl en réordonnant les conditions de la façon suivante :

 

{if $errors|@count > 0}

{include file="$tpl_dir./errors.tpl"}

{else}

{if $mailresended}

<h2>{l s='Pending registration' mod='emailverify'}</h2>

<br /><br />

<h4>

{l s='Your activation link has been resent to your e-mail address :' mod='emailverify'} <span style="color:#008000">{$mailresended}</span>

</h4>

{else}

<h2>{l s='Pending registration' mod='emailverify'}</h2>

<br />

<h4>

{l s='Your account has been successfuly created but need to be activated.' mod='emailverify'}

<br /><br />

{l s='An activation link has been sent to your e-mail address.' mod='emailverify'}

</h4>

{/if}

{/if}

 

et, en apparence, tout fonctionne normalement.

 

En apparence seulement car les mails ne partent pas mais ça, ça doit provenir de ma config d'envoi mail car le mail de test du back office ne fonctionne pas non plus.

 

Keep on searching...

  • Like 1

Share this post


Link to post
Share on other sites

Super, tout fonctionne.

 

la fonction email a été rétablie grace à ce petit tuto :

http://www.presto-changeo.com/en/content/9-fix-email-problems

 

L'idéal serait maintenant qu'aprés l'inscription, les clients puissent revenir directement sur la page produit qu'ils étaient en train de consulter (sur ce site de vente de produits amway , les clients ne peuvent pas voir les prix tant qu'ils ne sont pas inscrits - impératif de la vente directe -)

Share this post


Link to post
Share on other sites

Bonsoir,

 

Je suis en 1.4.6.2.

 

J'ai des modfis à faire pour pouvoir intégrer le module v1.3 ?

 

Merci d'avance

Share this post


Link to post
Share on other sites

Super module Mellow, par contre j'ai voulu modifier le fichier authcontroll comme indiqué mais cela ne marche pas. J'ai mis le module v1.3. J'ai une erreur de code, lorsque je souhaite aller dans la partie mon compte.

 

Merci.

Share this post


Link to post
Share on other sites

Je suis en 1.4.6.2.

J'ai des modfis à faire pour pouvoir intégrer le module v1.3 ?

Je ne sais pas si le module fonctionne en v1.4.6.2 (testé sur 1.4.7.3 à 1.4.9.0) Je pense que ça devrait marcher sur toutes les v1.4.x mais il faut tester pour voir.

Après, si le module fonctionne, la modif de AuthController.php c'est juste pour supprimer le mail de bienvenue original de Prestashop (qui fait doublon)

 

 

j'ai voulu modifier le fichier authcontroll comme indiqué mais cela ne marche pas. J'ai mis le module v1.3. J'ai une erreur de code, lorsque je souhaite aller dans la partie mon compte.

Je pense que tu as du faire une erreur dans la modif, il s'agit juste de supprimer les lignes qui servent à envoyer le mail de bienvenu, donc ça ne devrait avoir aucune incidence sur le reste

 

 

Édit :

Voici les lignes à supprimer dans AuthController.php (ou à mettre en commentaire)

		if (!$customer->is_guest)
	{
	 if (!Mail::Send((int)self::$cookie->id_lang, 'account', Mail::l('Welcome!', (int)self::$cookie->id_lang),
	 array('{firstname}' => $customer->firstname, '{lastname}' => $customer->lastname, '{email}' => $customer->email, '{passwd}' => Tools::getValue('passwd')), $customer->email, $customer->firstname.' '.$customer->lastname))
	  $this->errors[] = Tools::displayError('Cannot send email');
	}

Edited by Mellow (see edit history)

Share this post


Link to post
Share on other sites

Effectivement cela marche mieux :) j'avais effacer trop de chose. Super module, qui permet d'avoir au moins un contact valide.

Share this post


Link to post
Share on other sites
Ciao a tutti, mi interessa per 1.5.3.1. Qualcuno ha fatto test?

Trying on localhost, WAMP. Not really working. Don't understand why. :(

Share this post


Link to post
Share on other sites

help.. problem when redirect url... notfound url..im using prestaashop 1.5.x

 

page-not-found?err=0

 

Tools::redirect('modules/emailverify/notify.php?id_lang='.$id_lang.'&err='.$err);

Edited by vespaman (see edit history)

Share this post


Link to post
Share on other sites

Bonjour, je n'arrive pas à installé ce module sur PS 1.5.3. Quelqu'un pourrait m'expliquer où copier les fichiers car j'ai l'impression que c'est pas la même structure que sur les version antérieur de PS. Merci pour vos éclaircissements.

Edited by david86 (see edit history)

Share this post


Link to post
Share on other sites

Ce module est pour Prestashop 1.4.x

This module is for Prestashop 1.4.x

Este módulo es para Prestashop 1.4.x

Questo modulo è per Prestashop 1.4.x

 

Si quelqu'un a déjà réalisé cette adaptation, ce serait très sympa de le poster ici (ou ailleurs sur le forum...)

 

Merci d'avance, pour les utilisateurs et futurs utilisateurs de PS1.5 :mellow:

Edited by Mellow (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Salut, merci d'avoir poster aussi vite une solution. Je me suis empressé de la tester, après son installation j'ai crée un client avec adresse complète (d’ailleurs je le force dans le panneau d'admin par défaut) mais quand je clique sur le bouton confirmer. J'obtiens cette erreur alors que j'ai 0 client d'inscrit : Le mail de validation n'a pas pu être envoyé. Peut-être avez-vous taper une mauvaise adresse...

 

Tu crois que ça peut venir d'ou ? Je dois vider le cache ?

Share this post


Link to post
Share on other sites

Tu teste en local ou en ligne ?

Si c'est en local, l'envoi de mail est bien configuré en back office ? (en local il faut utiliser un serveur smtp car la fonction mail() de php ne fonctionnera pas)

Share this post


Link to post
Share on other sites

je suis en local et c'est configuré comme ça

Utiliser la fonction mail() de PHP. Recommandé ; fonctionne dans la majorité des cas

Share this post


Link to post
Share on other sites

Si tu teste en local il te faut configurer l'envoi de mail par serveur smtp en back office, car les mails ne peuvent pas être envoyé par la fonction mail() de php en local.

back office => Paramètres avancées => Emails

 

Si tu n'a pas encore l'hébergement avec un serveur smtp tu peux utiliser le serveur smtp de ton fournisseur d’accès internet, mais ce n'est pas toujours simple à configurer...

 

pour orange par exemple :

Serveur SMTP : smtp.orange.fr

Utilisateur : ton-adresse@orange.fr

Mot de passe : Mot de passe du compte

Port : 587

 

après il faut tester la configuration en envoyant un mail de test

Share this post


Link to post
Share on other sites

Bonjour,

je veux savoir comment faire pour que quant j'active le compte de client, ce dernier reçoit un mail l'informe que sont compte est activé. c'est très urgent Merci

Share this post


Link to post
Share on other sites

Bonjour,

je veux savoir comment faire pour que quant j'active le compte de client, ce dernier reçoit un mail l'informe que sont compte est activé. c'est très urgent Merci

Bonjour,

J'ai du mal à comprendre. Si tu utilise ce module, le client active lui même son compte, et il est renvoyé sur une page indiquant que l'activation est effective. ça ne suffit pas ?

Share this post


Link to post
Share on other sites

C'est ça ce que je veux mais le client ne reçoit pas le mail d'activation.

quant le client s'enregistre, il reçoit une alerte " erreur d’envoi de mail d'activation"

Share this post


Link to post
Share on other sites

@kh.abdessamad,

 

Which language do you use on your shop?

If it's a language other than French or English, you must create email templates for your language.

Make a copy of folder /modules/emailverify/mails/en and rename it to your language code.

After you will have to edit the files in that folder...

And translate the module...

 

Sinon, si le message exact est :

Le mail de validation n'a pas pu être envoyé. Peut-être avez-vous taper une mauvaise adresse...

ou

Validation email could not be sent. Maybe you typed a wrong address...

alors tu dois être dans le même cas que david86, il faut vérifier ta configuration d’envoi de mails...

Edited by Mellow (see edit history)

Share this post


Link to post
Share on other sites

oui je reçois ce message:

Le mail de validation n'a pas pu être envoyé. Peut-être avez-vous taper une mauvaise adresse...

 

je vais voir la configuration

 

Merci

Share this post


Link to post
Share on other sites

Bonjour,

Merci pour le module tous marche trés b1, seulement j'ai une petit bug concernant le lien qui s'envoie à l'utilisateur

pour qu'il peut activé sans compte.

 

Voila l'erreur que je recoit, quant je click sur le lien

 

The requested URL /prestashop/index.phpmodules/emailverify/activate.php was not found on this server.

Edited by kh.abdessamad (see edit history)

Share this post


Link to post
Share on other sites

Désolé, mais quelle que soit la configuration, je n'arrive pas à reproduire la même chose...

 

Quelle version de prestashop utilise-tu ? Et quelle version du module ?

Si tu utilise PS1.5, as tu téléchargé la bonne version du module ?

Ton serveur est il en ligne ou en local ?

Share this post


Link to post
Share on other sites

Hi

 

I have PS 1.4.7 and this module doesn't work perfectly for me. After I click the submit button on the registration page, it shows a blank page with the menu only. The url shown is ~/modules/emailverify/notify.php?id_lang=1&err=2

 

Same error happens after pressing the resend link button. I get the url ~/modules/emailverify/notify.php has a blank page with only the menu.

 

The verification email is sent properly. Once the link is clicked, it goes to the page to give registered successfully message however it breaks the entire css and the page looks terrible. See attachment.

 

Please help me solve this.

 

Thanks

post-133792-0-32827400-1364263615_thumb.png

post-133792-0-56128300-1364264193_thumb.png

Edited by peanut (see edit history)

Share this post


Link to post
Share on other sites

After I click the submit button on the registration page, it shows a blank page with the menu only. The url shown is ~/modules/emailverify/notify.php?id_lang=1&err=2

Same error happens after pressing the resend link button. I get the url ~/modules/emailverify/notify.php has a blank page with only the menu.

The verification email is sent properly. Once the link is clicked, it goes to the page to give registered successfully message however it breaks the entire css and the page looks terrible. See attachment.

 

I'm afraid this is a theme compatibility issue. With the default theme (or my modified theme made from the default one) this doesn't occur.

 

You can try the last version that I just added on the first post of this topic, it has some display enhancements. But more probably you will need to correct some CSS in your theme. (maybe add a clear:both; on the container of the module which displays the facebook like box...)

Sometimes, CCC options may also cause these kind of things...

Edited by Mellow (see edit history)

Share this post


Link to post
Share on other sites

I'm afraid this is a theme compatibility issue. With the default theme (or my modified theme made from the default one) this doesn't occur.

 

You can try the last version that I just added on the first post of this topic, it has some display enhancements. But more probably you will need to correct some CSS in your theme. (maybe add a clear:both; on some divs)

Sometimes, CCC options may also cause these kind of things...

 

Thanks Mellow, I'll try the version meant for 1.5 and see. I'm not an expert so CSS is not something I know much about. Will try to fix it if possible. But its a great module! Thanks.

Share this post


Link to post
Share on other sites

1er Problème résolu :

j'ai repris le code de notify.tpl en réordonnant les conditions de la façon suivante :

 

{if $errors|@count > 0}

{include file="$tpl_dir./errors.tpl"}

{else}

{if $mailresended}

<h2>{l s='Pending registration' mod='emailverify'}</h2>

<br /><br />

<h4>

{l s='Your activation link has been resent to your e-mail address :' mod='emailverify'} <span style="color:#008000">{$mailresended}</span>

</h4>

{else}

<h2>{l s='Pending registration' mod='emailverify'}</h2>

<br />

<h4>

{l s='Your account has been successfuly created but need to be activated.' mod='emailverify'}

<br /><br />

{l s='An activation link has been sent to your e-mail address.' mod='emailverify'}

</h4>

{/if}

{/if}

 

et, en apparence, tout fonctionne normalement.

 

En apparence seulement car les mails ne partent pas mais ça, ça doit provenir de ma config d'envoi mail car le mail de test du back office ne fonctionne pas non plus.

 

Keep on searching...

 

Thank you, this solved half my problem. Now I only need to fix the page they see after they click on the activation link.

Edited by peanut (see edit history)

Share this post


Link to post
Share on other sites

Thank you, this solved half my problem. Now I only need to fix the page they see after they click on the activation link.

 

Ok, I see that it may be a smarty problem

So, if now the only thing that doesn't work is the activation link, you can try hardcoding the link in emailverify.php

 

In emailverify.php find the two lines with :

$actlink = $domain.__PS_BASE_URI__.'modules/emailverify/activate.php?id_lang='.$id_lang.'&actkey='.$actkey;

and replace them with :

$actlink = 'http://your-domain/modules/emailverify/activate.php?id_lang='.$id_lang.'&actkey='.$actkey;

 

This should solve this redirect issue

Edited by Mellow (see edit history)

Share this post


Link to post
Share on other sites
Ok, I see that it may be a smarty problem So, if now the only thing that doesn't work is the activation link, you can try hardcoding the link in emailverify.php In emailverify.php find the two lines with :
 $actlink = $domain.__PS_BASE_URI__.'modules/emailverify/activate.php?id_lang='.$id_lang.'&actkey='.$actkey; 

and replace them with :

 $actlink = 'http://your-domain/modules/emailverify/activate.php?id_lang='.$id_lang.'&actkey='.$actkey; 

This should solve this redirect issue

 

Hi Mellow, I think you mis understood my problem, the activation link works fine but when they click it, the page it displays breaks the css.

 

Also now the module won't load in the back office and I get the error:

 

 

 

The following module(s) couldn't be loaded:

  • emailverify (parse error in /modules/emailverify/emailverify.php)
  • emailverify (class missing in /modules/emailverify/emailverify.php)

Edited by peanut (see edit history)

Share this post


Link to post
Share on other sites

Ok, forget this, I made a mistake <_<

 

If you didn't make any change to emailverify.php, I can't figure why you have this message. try replacing whit the original file...

Share this post


Link to post
Share on other sites
Ok, forget this, I made a mistake <_< If you didn't make any change to emailverify.php, I can't figure why you have this message. try replacing whit the original file...

 

Thanks Mellow, I figured the error.

 

I changed the lines:

 

'.$this->l('If you still doesn\'t receive it, your mail address may be wrong or unreachable.').'<br /><br />
    <form action="notify.php" method="post">
			    <label class="t" for="email">E-mail :</label>
							  <input type="text" name="email" value="'.$email.'" size="30" /><br /><br />
							  <input type="submit" name="submitResend" value="'.$this->l('Resend actvation link').'" class="button_large" />

 

to

 

'.$this->l('If you still don't receive it, your mail address may be wrong or unreachable.').'<br /><br />
    <form action="notify.php" method="post">
			    <label class="t" for="email">E-mail :</label>
							  <input type="text" name="email" value="'.$email.'" size="30" /><br /><br />
							  <input type="submit" name="submitResend" value="'.$this->l('Resend activation link').'" class="button_large" />

 

The issue was replacing doesn\'t to don't which I corrected by using don\'t

Share this post


Link to post
Share on other sites

For people, who template crash in notify or activate.php, I modified module.

What I've done:

- change some code in activate.php and notify.php by adding

 

if (isset(Context::getContext()->controller))
$controller = Context::getContext()->controller;
else
{
$controller = new FrontController();
$controller->init();
}
Tools::addCSS(_THEME_CSS_DIR_.'global.css', 'all');

after including config.php

- some display changes in tpl files

- few translates of polish language

- I don't remember... :)

The file is here: http://mirrim.eu/pli...PS1.5.x_mod.zip

 

PS. Sorry for logo.gif inside... You can delete this file.

Edited by ciapol (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Un enorme merci a MELLOW et a CIAPOL pour leur contribution.

 

J'ai installé le module emailverify et charger le fichier AuthController.php, tous fonctionne nickel, a part que j'ai 2 fois l'email d'activation.

y'a t il un moyen de savoir si le nouveau fichier AuthController.php est bien pris en compte ?

Edited by richo (see edit history)

Share this post


Link to post
Share on other sites

J'ai installé le module emailverify et charger le fichier AuthController.php, tous fonctionne nickel, a part que j'ai 2 fois l'email d'activation.

y'a t il un moyen de savoir si le nouveau fichier AuthController.php est bien pris en compte ?

 

Bonjour,

Si tu as deux fois le mail d'activation (en fait, mail d'activation + mail de bienvenue de PS) c'est que manifestement l'override de AuthController.php n'est pas pris en compte.

 

Quelle est ta version de Prestashop ?

Et utilise-tu la bonne version de AuthController.php ?

As tu bien copié le fichier au bon endroit ?

- Pour PS1.4 : override/controllers/AuthController.php

- Pour PS1.5 : override/controllers/front/AuthController.php

Share this post


Link to post
Share on other sites

In PS 1.4.9 give error to send activation, my settings are ll ok, something in the module not work fine..

 

Error : Validation email could not be sent. Maybe you typed a wrong address..

 

Any solution ?

 

Tks..

Share this post


Link to post
Share on other sites

Error : Validation email could not be sent. Maybe you typed a wrong address..

 

If it is not a mail configuration problem, it is more likely a problem of language.

 

Which language do you use on your shop?

If it is a language other than French or English, you must create email templates for your language.

Make a copy of folder /modules/emailverify/mails/en and rename it to your language code.

After you will have to edit the files in that folder...

And translate the module...

Share this post


Link to post
Share on other sites

Hi friend many tks.. now work fine.. was the lang file i forgot to put inside the email folder... ;)

Share this post


Link to post
Share on other sites

Bonjours à tous et merci pour cette solution. De mon coté par contre j'obtiens une erreur serveur des que je remplace le fichier authcontroller.php et que je veux accéder à la page d'inscription / connexion.

 

J'ai bien pris la version pour 1.5.4 et supprimé l'index mais rien n'y fait. D'où pourrait venir le problème ?

Share this post


Link to post
Share on other sites

pour finir j'ai enlever les 3 parties faisant références à "sendconfirmationmail" et je ne reçoit donc plus que le mail d'activation. Quelles fonctionnalité ai-je pu perdre dans la bataille ?

 

Sinon je cherche à inclure le nom de l'inscrit dans le mail que je reçoit une fois qu'il s'est validé ? Est ce possible ?

Share this post


Link to post
Share on other sites

Bonjour,

 

Tout d'abord je tiens à remercier Mellow pour ce module très fonctionnel et très bien fait.

 

Il fonctionne très bien de mon côté, mais il me bloque pour une fonctionnalité et je n'arrive pas à en modifier le comportement.

 

Je m'explique : J'ai autorisé sur ma boutique les commandes en tant qu'invité, c'est à dire sans création de compte. Mais le module demande une validation et le client qui ne veut pas créer de compte doit malgré tout valider son mail comme lors de la création d'un vrai compte client.

 

Comment puis-je passer outre ce module dans le cas d'une commande sans création de compte?

Share this post


Link to post
Share on other sites

J'ai autorisé sur ma boutique les commandes en tant qu'invité, c'est à dire sans création de compte. Mais le module demande une validation et le client qui ne veut pas créer de compte doit malgré tout valider son mail comme lors de la création d'un vrai compte client. Comment puis-je passer outre ce module dans le cas d'une commande sans création de compte?

 

Bonjour,

 

C'est une excellente question, et pour être honnête je ne me l'étais jamais posé...

En fait dans ma logique, si on s’inquiète de la validité des adresses e-mails des clients, on n'active pas la commande express... :blink:

 

Mais bon, ça peut se régler assez simplement :

dans emailverify.php, fonction hookCreateAccount($params), juste après

			$customer=new Customer($params['newCustomer']->id);
			$customer->getFields();

ajouter

			if ($customer->is_guest) return;

ça devrait stopper l'exécution du module dans le cas d'un compte invité :)

Share this post


Link to post
Share on other sites

Bonjour,

 

Merci pour ce travail formidable !!!

 

- avec un compte gmail le mail d'activation arrive de suite.

- avec un compte hotmail le mail d'activation est classé dans les "indésirables". Depuis Thunderbird impossible de le savoir, j'ai du me connecter sur le site hotmail pour le trouver.

 

Ma question est, est-ce lié au module ? Si oui ou non comment faire pour que les messages de la boutique n'arrive pas en indésirable sur la boite mail des clients ?

 

Cela peut malheureusement nous faire perdre une clientèle si elle ne reçoit jamais ses mails et n'a pas le réflexe de regarder les indésirables.

 

Cordialement,

Romain.

Share this post


Link to post
Share on other sites

Bonjour,

 

Les mails envoyés par le module ont exactement la même structure que les mails originaux de Prestashop.

Après, la différence ne peux se faire qu'au niveaux des mots employés... Peut être que les filtres de hotmail n'aiment pas des mots comme "activation" ou qu'ils se méfient des mails contenant un lien à cliquer. ( peut-être aussi en fonction du nom du client, si le gars s’appelle viagralovich c'est perdu d'avance ;) )

Mais je crois bien que c'est un peu aléatoire, et que gmail aussi le fait de temps en temps...

Share this post


Link to post
Share on other sites

Bonjour et merci pour ce module

Je l ai installer sur un presta 1.4.6 tout marche nickel sauf que quand le client s enregistre sur le site aucun message n' apparaît en précisant qu'un e-mail lui a été envoyé et qu il doit activer son compte j utilise un theme personalise es que cela peut venir de la ?

c est bien domage parceque c est vraiment un super module et du super boulot.

Merci de votre aide

mon site www.mattasoglio.fr si vous voulez tester

Share this post


Link to post
Share on other sites

Je l ai installer sur un presta 1.4.6 tout marche nickel sauf que quand le client s enregistre sur le site aucun message n' apparaît en précisant qu'un e-mail lui a été envoyé et qu il doit activer son compte j utilise un theme personalise es que cela peut venir de la ?

 

Bonjour,

 

Je suis allé voir sur ton site, et je pense qu'il pourrait y avoir un problème de redirection.

Quelle version du module utilise-tu ?

Est ce que le message de confirmation après l'activation du compte s'affiche correctement ?

 

La console de firebug renvoie également plusieurs erreurs, voir s'il n'y aurait pas un conflit avec un autre module...

 

Par contre je n'ai pas créé de compte pour constater, parce que quelque chose m'a stoppé net !

A l'enregistrement, l'inscription à la newsletter est obligatoire ??? Sorry mais par principe je décline :(

(Je ne sais pas si c'est volontaire, mais à mon avis c'est plutôt contre productif...)

Share this post


Link to post
Share on other sites

Merci d’être allez voir j ai réglé le problème en modifiant un fichier concernant l inscription a la news elle n est pas obligatoire il suffit de se décocher pour ne pas être inscrit elle facilite juste le prospect beaucoup de boites le font et même des grandes comme la redoute par ex

Share this post


Link to post
Share on other sites