Laravel 4:在注册期间检查电子邮件是否真实

时间:2013-11-26 03:16:46

标签: php email laravel-4

我需要检查用户在注册期间输入的电子邮件是否有效/真实,这意味着只要符合正确的电子邮件格式,他们就不能只输入他们想要的内容,我需要实际能够发送邮件到它

我也不想做电子邮件确认,但用户必须点击电子邮件中的链接进行注册。我只是想让它当场验证。

3 个答案:

答案 0 :(得分:1)

您可以进行所需的所有验证,但最终唯一的方法是发送包含验证链接的电子邮件。

此外,由于您认为不存在大量有效和奇怪的电子邮件,因此通常需要进行相当宽松的验证。 Take a look here用于各种有趣的电子邮件。

答案 1 :(得分:0)

您需要对域的MX记录执行DNS查找,然后确保mx域是可联系的。我认为这是尽可能接近的。

您也可以考虑让第三方为您进行验证 - 例如实施Google OAuth作为您网站的注册方法。

答案 2 :(得分:0)

对于Laravel(你已经提到它作为问题的标签),我建议你使用这样一个Laravel的原生功能作为验证:Laravel 3 / Laravel 4。 以下是我在POST控制器中使用它的方法:

// Rules for form validation
$rules = array(
        'email'    => array('required', 'email', 'unique:users,email'), // Email is required and should satisfy E-mail format and it should be unique for table users.
);

// Form validation
$validation = Validator::make(Input::all(), $rules);

if($validation->fails()) {
    // Flash validator with input values and errors to some controller
        Former::withErrors($validation);
        return Redirect::to_action('some.controller')
            ->with_input()
            ->with_errors($validation);
    }

}

在一般的PHP使用案例中,您可以使用PHP的本机函数来检查它:

filter_var($email, FILTER_VALIDATE_EMAIL)
相关问题