Welcome Guest, Not a member yet? Register   Sign In
freak_auth_light 1.1 user email activation problem
#1

[eluser]alectrash[/eluser]
Hi

Today I struggled getting email activation working but through trial and error I eventually fixed it by commenting out some important code in the Freakauth_light.php library file.

Around line 643 there is an if statement which says if users are registering via email remove user with that id and activation_code from fa_user_temp.

BUT...if id and activation_code are removed from f_user_temp then the code in the rest of the function which checks if they are in the fa_user_temp table and moves them to the fa_user table will not work.

here is the top of the activation function in Freakauth_light.php library file.
Code:
function activation($id, $activation_code)
    {            
      // let's clean the user_temp table
      // if we use registration with e-mail verification
      /*
        if (!$this->CI->config->item('FAL_register_direct'))
        {
         $this->cleanExpiredUserTemp();
        }
        */

However, while I was able to register and get an activation email some of my users have not been able to.

How strong is the Freakauth Light activation email script, people who have hotmail, gmail or yahoo, msn etc are not receiving any emails. Does anyone have any ideas? Has anyone had this problem before?
#2

[eluser]Natebot[/eluser]
a couple thoughts:

Instead of commenting out code or modifying the source of freakauth_light.php, why not create "MyFAL.php" and put your version of the activation method in it? I've found it a good way to expend on freakauth but also be able to replace the files if new versions come out. Maybe you already know that though and I'm not answering your questions...

Code:
class MyFAL extends Freakauth_light
{
    function MyFAL()
    {
        parent::Freakauth_light();
    }

    function activation($id, $activation_code)
    { ... }

}

I believe the activation emails are sent using CI's core email class, which seems to work for my setup. I've been able to reach aol, gmail, yahoo and hotmail. You might check to see what headers your server's mail program is sending - I'm no expert in isp mail systems but I believe if your from: domain doesn't resolve to the machine sending the mail, some isps will reject the email. I occasionally get users who claim they don't get any emails from the auth server. So far all of those have been from different isps with I would guess uber strict server side spam filters.
#3

[eluser]ashleyA[/eluser]
I am also experiencing similar email activation problem, what I came to find was, when the PHP Version you are running in your server has the 'Thread Safety enabled' then it works as it should, if it is disabled then I am experiencing email activation problems, such as, When you click on the activation link in your email it would complain saying "We are sorry, but your activation has failed. Contact the site administrator for assistance."

Some how the process moves the user from user_temp table to user table but it gives activation failed message. My guess is, without thread safety enabled multiple threads work on your request, so one thread races the other thread and moves the new user from the user_temp table to the user table and the other checks the user_temp table and doesn't find the user in it and complains saying activation failed.

-Ash




Theme © iAndrew 2016 - Forum software by © MyBB