美文网首页
Laravel 发送邮箱

Laravel 发送邮箱

作者: CaptainRoy | 来源:发表于2018-07-17 18:18 被阅读9次
    • 通过本地环境模拟发送邮件功能
    1.修改 .env 文件
    MAIL_DRIVER=log
    
    2.邮件路由
    Route::namespace('Learn')->group(function () {
        
        Route::get('sendEmail', 'MailController@sendEmail')->name('send.email');
        Route::post('confirmEmail/{id}', 'MailController@confirmEmail')->name('confirm.email');
        
    });
    
    3.通常情况我们要定制邮件的格式,所以可以新建一个blade模版来定制邮件内容,内容如下
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>确认链接</title>
    </head>
    <body>
        <h1>感谢您注册此网站</h1>
        <p>
            请点击下面链接完成步骤
            <a href="{{route('confirm.email',$id)}}">
                {{route('confirm.email',$id)}}
            </a>
        </p>
        <p>
            如果这不是您本人操作请忽略此邮件!
        </p>
    </body>
    </html>
    
    4.对应控制器的方法如下
    public function sendEmail()
    {
            $view = 'email.email';
            $id = 99;
            $data = compact('id',$id);
            $from = 'roy@mail.com'; // 发送者
            $name = 'roy';
            $to = 'li@mail.com'; // 接受者
            $subject = '感谢注册此网站!请您确认邮箱.';
    
            \Mail::send($view,$data,function ($message) use ($from,$name,$to,$subject){
                $message->from($from,$name)->to($to)->subject($subject);
            });
    }
    
    public function confirmEmail($id)
    {
            dd($id);
    }
    
    5. 执行发送路由,在 storage/logs/laravel.log 中有如下
    [2018-07-17 10:14:51] local.DEBUG: Message-ID: <32e04856f0f4a5ff1ce933e8c59239e6@learn.laravel.com>
    Date: Tue, 17 Jul 2018 10:14:51 +0000
    Subject: =?utf-8?Q?=E6=84=9F=E8=B0=A2=E6=B3=A8=E5=86=8C?=
     =?utf-8?Q?=E6=AD=A4=E7=BD=91=E7=AB=99=EF=BC=81?=
     =?utf-8?Q?=E8=AF=B7=E6=82=A8=E7=A1=AE=E8=AE=A4=E9=82=AE=E7=AE=B1=2E?=
    From: roy <roy@mail.com>
    To: li@mail.com
    MIME-Version: 1.0
    Content-Type: text/html; charset=utf-8
    Content-Transfer-Encoding: quoted-printable
    
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>确认链接</title>
    </head>
    <body>
        <h1>感谢您注册此网站</h1>
        <p>
            请点击下面链接完成步骤
            <a href="http://learn.laravel.com/confirmEmail/99">
                http://learn.laravel.com/confirmEmail/99
            </a>
        </p>
        <p>
            如果这不是您本人操作请忽略此邮件!
        </p>
    </body>
    </html>  
    
    

    相关文章

      网友评论

          本文标题:Laravel 发送邮箱

          本文链接:https://www.haomeiwen.com/subject/rwygpftx.html