当前位置: 首页 > 知识库问答 >
问题:

如何在laravel中向用户发送电子邮件验证

申屠喜
2023-03-14

伙计们,我在问我如何能发送验证到用户的邮件,换句话说,所有我在谷歌和youtube找到的东西,如何发送到你的电子邮件主机作为邮件陷阱等等。但是没有人解释如何使用用户的电子邮件。您对RQ有想法吗:我正在使用Laravel8和Laravel/UI引导程序

共有1个答案

富昕
2023-03-14

下面是为此目的的设置步骤:

  1. 您需要在app\models\user类中实现Illuminate\contracts\auth\mustVerifyEmail。这是必需的。Laravel在Illument\Foundation\Auth\User中使用MustVerifyEmail特征,并且App\Model\User类是从它继承的,您可以使用Laravel框架中已经可用的方法。
namespace App\Models;

use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;

class User extends Authenticatable implements MustVerifyEmail
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'email_verified_at',
        // Other attributes
    ];

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at'   => 'datetime',
    ];
}
namespace App\Providers;

use Illuminate\Auth\Events\Registered;
use Illuminate\Auth\Listeners\SendEmailVerificationNotification;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
use Illuminate\Support\Facades\Event;

class EventServiceProvider extends ServiceProvider
{
    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        Registered::class => [
            SendEmailVerificationNotification::class,
        ],
    ];

    /**
     * Register any events for your application.
     *
     * @return void
     */
    public function boot()
    {
        parent::boot();

        //
    }
}

通过这样做,laravel会自动将电子邮件发送给用户。您也可以自定义此默认电子邮件。

MAIL_MAILER=smtp
MAIL_HOST=
MAIL_PORT=
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=
MAIL_FROM_ADDRESS=

如果希望自定义laravel deafult电子邮件,请运行PHP artisan Vendor:publish-tag=Laravel-mail。它会将一些文件复制到生成电子邮件的/resources/views/vendor/mail中。您可以根据您的喜好定制它。

 类似资料:
  • 当我注册一个用户,或单击“单击此处请求另一个”时,不会发送验证邮件,尽管它的回答是“一个新的验证链接已发送到您的电子邮件地址”。我检查了我的和文件,并使用tinker和

  • 我正在使用Laravel 7,我想使用sendemail驱动程序和Laravel Mail Facade发送电子邮件,因为当我使用php邮件功能时,它可以工作,但我想使用Laravel Mail Facade。 这是我的. env文件电子邮件配置 这是我在config/mail中的默认邮件。php 什么是正确的配置?如何使其工作?

  • 我知道这里已经有很多关于向hotmail发送电子邮件的问题了。我已经通读了它们,以及过去几周的许多在线帖子,但仍然无法解决这个问题。 我遇到的问题是,我无法向拥有hotmail电子邮件地址的客户发送电子邮件。我可以向雅虎发送电子邮件,也可以向gmail发送电子邮件(尽管这些邮件似乎进入了垃圾文件夹),但是当我向hotmail电子邮件地址发送电子邮件时,它们似乎永远不会到达。 我在PHP Symfo

  • 我正在开发PHP应用程序,注册后,使用Amazon SES(简单电子邮件服务)向注册的电子邮件地址发送激活邮件。 但是SES只向经过验证的用户发送电子邮件。 如何将激活链接发送到任何未经验证的电子邮件地址?

  • 我正在尝试用Laravel 5.2发送电子邮件。这是我第一次在拉威尔发电子邮件。但它抛出了这个错误 这是我发送电子邮件的代码: 这是我在env文件中的电子邮件设置 我的欢迎视图只有一条消息“Hello world” 我已经在Gmail设置中为我的电子邮件配置了不太安全的应用程序设置。那么,我的代码有什么问题,为什么会抛出那个错误?

  • 我已经创建了一个shopping React应用程序,我想在用户点击购买按钮后向他发送一封批准邮件。我已经研究过了,但找不到这样做的方法。我尝试过NodeEmailer,但它只允许您向自己发送电子邮件(意思是代码中预先指定的地址) 有人知道这样做的包/方法吗? 编辑:这是使用nodemailer的答案- 重要提示 - 如果您想使用Gmail作为发件人帐户,则需要通过以下链接在Gmail帐户中使用安