we have the same problem. To illustrate it better I will say all the steps to reproduce it easier and point to the place where I think the problem is.
1. Check the "Usernames enabled" from the admin panel in customer settings. 2. Set the registration method to be "Email validation"
thus when a new customer is registered they receive an email validation that redirects to the site for completing the registration.
The problem is that in the "Customer.EmailValidationMessage" message template, which is used for the email, the token that is used for this url is "Customer.AccountActivationURL", which in the "AddCustomerTokens" method in the MessageTokenProvider is replaced in the following way:
Thanks, I will have a look. I'm actually running the no source code version so I will need to get that wired up.
I second this concern. I was hoping that I could run your change, but I'm also running the no source code version. Is there a change that I could implement?
Can you please make the following changes and let me know whether it helps: 1. Open \src\Presentation\Nop.Web\Controllers\CustomerController.cs 2. Replace
public ActionResult AccountActivation(Guid token, string email)
with
public ActionResult AccountActivation(string token, string email)
Tried, seem to produce no effect. Observation (original v2.1 code): if I delete parameters from the emailed URL - I always get error like "resource not found or WEB page not found" (in two different variants, for complete URL and URL with missing parameters), if I replace the "activation" with "accountactivation" (a quick improvisation to match the class method name) then I get the same error for the complete URL and an exception due to missing parameter if I delete one or both from the URL. Information provided above has to be taken critically: due to lacking time (playing with a working store on a remote server is rather time-consuming and is not very handy in general) no serious investigation was made, just quick experiments, which are often subject to experimenter's human factor :)