如何在laravel中注册后删除默认邮件发送

时间:2018-06-01 09:39:40

标签: php laravel

在laravel 5.5中成功注册后,我们收到以下错误消息。

{ "message": "Address in mailbox given [1593698521] does not comply with RFC 2822, 3.6.2.", "exception": "Swift_RfcComplianceException", "file": "D:\\home\\site\\wwwroot\\vendor\\swiftmailer\\swiftmailer\\lib\\classes\\Swift\\Mime\\Headers\\MailboxHeader.php", "line": 354, "trace": [ { "file": "D:\\home\\site\\wwwroot\\vendor\\swiftmailer\\swiftmailer\\lib\\classes\\Swift\\Mime\\Headers\\MailboxHeader.php", "line": 271, "function": "assertValidAddress", "class": "Swift_Mime_Headers_MailboxHeader", "type": "->" } 

我们不需要在注册后发送邮件。如何禁用laravel中的邮件发送。我们无法找到默认的快速邮件发送编码。请告诉我如何禁用邮件发送选项。

1 个答案:

答案 0 :(得分:0)

我从laravel那里注册并从auth命令那里获取所有信息:

  • implements MustVerifyEmail中的class User extends Authenticatable implements MustVerifyEmail中删除app\User.php(注册后不会发送电子邮件)

    (如果您不想发送验证邮件,则只需执行以上操作即可。)

如果您想在我的网站上发生某个事件后发送注册邮件,但也要使用默认的laravel邮件发件人发送注册邮件,那么您需要执行以下操作:

  • 更改show()中的vendor\laravel\framework\src\Illuminate\Foundation\Auth\VerifiesEmails.php方法

    public function show(Request $request)
    {
        return $request->user()->hasVerifiedEmail()
            ? redirect($this->redirectPath())
            : $request->user()->sendEmailVerificationNotification();
    }
    
  • 并且如果需要,您可以在任何控制器上设置return redirect('/email/verify');行以发送验证电子邮件 或调用'/email/verify'发送邮件 因为它将在需要时调用相同的电子邮件验证,而不是在用户注册后进行。