欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

实现简单的邮件发送功能

程序员文章站 2022-04-08 21:24:20
...

1 创建路由

Route::get('/',function()){

    //查找Id为1的用户
    $user=\App\User::find(1);
    //to方法后面接的是邮件地址;send()方法接受的是默认实体类,该类可以通过php artisan来创建一个WelcomeToChina.php实体类,这样就可以发送到aaa@qq.com这个邮箱里面了
    //Mail::to('aaa@qq.com')->send(new \App\Mail\WelcomeToChina());
    //将写死的邮件改成用户为1的邮箱,同时$user传参,这样就可以直接让Mail\WelcameToChina中的__construct构造进行参数调用
    Mail::to($user->email)->send(new \App\Mail\WelcomeToChina($user));

}

2 创建类文件

php artisan make:mail WelcomeToChina

这时再app文件夹下会多出一个Mail文件夹;该文件夹下有一个WelcomeToChina.php文件

3 修改WelcomeToChina.php文件

class WelcomeToChina extends Mailable
{
    use Queueable, SerializesModels;
    //该属性一定要定义成public,这样能够被读取到
    public $user;
    public function __construct(User $user)
    {
        $this->user=$user;

    }
    public function build()
    {
        return $this->view('email.welcome')
    }
}

4 创建视图模板

在resources/views/文件夹下创建email文件夹,并在该文件夹下创建welcome.blade.php文件

//随便写一段代码用于测试,在类文件中实现了$this->user=$user的赋值,就可以在视图模板中直接调用了$user->name了。
<h1> Welcome To China:{{$user->name}} </h1>
<span> Dear foreign friends, welcome to China, welcome to beijing </span>

5 配置

配置config/mail.php文件

'from' => ['address' => 'aaa@qq.com','name' => 'fa_song_zhe_mail'],

6 关于.env文件

MAIL_HOST=mailtrap.io //追踪邮件的发送

打开mailtrap.io网站进行注册。将SMTP Setting下的SMTP中的Username和Password的值拷贝到.env文件中
实现简单的邮件发送功能
将其中的username和password两项内容

Username:   98e5a5ee33a592
Password:   743c72d10a8i47

填到.env文件中(约在第26~30行)

MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=98e5a5ee33a592
MAIL_PASSWORD=743c72d10a8i47
MAIL_ENCRYPTION=null

配置完成,这时触发路由文件则会向smtp.mailtrap.io邮件中发送邮件。

https://www.laravist.com/

相关标签: php 邮箱