天天看點

Laravel使用smtp發送郵件我發送的郵件

先安裝 Guzzle HTTP 庫

composer require guzzlehttp/guzzle
           

安裝成功如下:

Laravel使用smtp發送郵件我發送的郵件

配置檔案是config/mail.php

郵件預設驅動是smtp

Laravel使用smtp發送郵件我發送的郵件

在修改.env配置前需要開通163郵箱第三方調用授權密碼

登入163郵箱然後點下面這裡

Laravel使用smtp發送郵件我發送的郵件

點選這裡開通授權密碼:

Laravel使用smtp發送郵件我發送的郵件

下面是163的伺服器位址:

Laravel使用smtp發送郵件我發送的郵件

在.env檔案修改配置如下:

Laravel使用smtp發送郵件我發送的郵件

MAIL_DRIVER=smtp

MAIL_HOST=smtp.163.com //這個地方固定

MAIL_PORT=465 //我的是阿裡雲伺服器這裡使用465

MAIL_USERNAME=your-mail-username //發送郵件的郵箱賬号

MAIL_PASSWORD=your-mail-password //發送郵件的郵箱授權密碼

MAIL_ENCRYPTION=ssl

生成可郵寄類,這些類都存放在 app/Mail 目錄:
           

php artisan make:mail OrderShipped

修改app/Mail/OrderShipped.php檔案的build方法:
           

public function build()

{

return $this->from(‘[email protected]’)

->view(‘emails.email1’);

//return $this->view(‘view.name’);

}

建立resources/views/emails/email1.blade.php,修改如下:
           

我發送的郵件

```

建立MailController:

php artisan make:controller MailController
           

修改app/Http/Controllers/MailController如下:

<?php

namespace App\Http\Controllers;

use App\Mail\OrderShipped;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Mail;

class MailController extends Controller
{
    public function send_email()
    {
        Mail::to('[email protected]')->send(new OrderShipped());
    }
}

           

修改routes/web.php加入如下内容:

Route::get('/send_email','[email protected]_email');
           

把代碼推送到線上伺服器運作。

發送成功截圖如下:

Laravel使用smtp發送郵件我發送的郵件