首页 > 解决方案 > Swift_RfcComplianceException 给定邮箱中的地址 [required|unique:users,email] 不符合 RFC 2822, 3.6.2

问题描述

我正在使用 cartalyst sentinel,我正在通过验证来验证用户,但我无法找到我做错的问题:

我的控制器:

public function postRegister(Request $request)
{
    $fieldsValidation = [

        'email'      => 'required|unique:users,email',
        'first_name' => 'required',
        'last_name'  => 'required',
        'password'   => 'required',

    ];
    $user = Sentinel::register($fieldsValidation);
    $activation = Activation::create($user);

    $this->sendEmail($user, $activation->code);
    return redirect()->back()->with([
        'success' => 'user registered successfully'
    ]);
}

当我采取行动时,我得到了错误

Swift_RfcComplianceException 给定邮箱中的地址 [required|unique:users,email] 不符合 RFC 2822, 3.6.2。

我想通过唯一的电子邮件和其他字段验证来验证用户:我们将非常感谢您的帮助!

标签: phplaravelvalidationsentinel

解决方案


虽然你现在可能已经解决了这个问题,但我认为它以后可能会对某人有所帮助

$v = \Validator::make($request->all(), $fieldsValidation);
          if ($v->fails())
          {
              //Validation failed                      
          }else{    
              //Code to create user
          }

这就是您可以管理只有唯一用户才能注册的方式

对于您的无效邮件异常错误,您必须在 app/config 文件下的 mail.php 文件中提供电子邮件规范,laravel 将从那里获取它。或者你可以在 env in 中指定它然后在那里使用它

MAIL_DRIVER=smtp
MAIL_HOST= 
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_ADMIN=
MAIL_SIGNATURE =
MAIL_FROM_NAME=

所以检查你的配置是否正确。你可以走了

希望这可以帮助。


推荐阅读