2026年1月7日 星期三

如何在 Laravel 12 使用 Gmail SMTP 寄信

一、前置條件
1.準備 Gmail「應用程式密碼」
(1).Gmail 帳號需開啟 兩步驟驗證
(2).前往Google帳戶 →安全性 →應用程式密碼

=>這組密碼就是等下 Laravel 要用的 MAIL_PASSWORD
(3)建立laravel 12 專案
    指令:composer create-project --prefer-dist laravel/laravel laravel12Gmail
                cd laravel12Gmail
二、設置 .env
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_gmail@gmail.com
MAIL_PASSWORD=xxxxxxxxxxxxxxxx
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your_gmail@gmail.com
MAIL_FROM_NAME="${APP_NAME}"

注意:
MAIL_ENCRYPTION=tls
Port 使用 587
Gmail 不支援 (Laravel 常出錯)ssl + 465

三、確認 config/mail.php
Laravel 12 預設就支援 SMTP,通常不需修改
只確認 使用 env:default
'default' => env('MAIL_MAILER', 'smtp'),
四、建立Mail
指令:php artisan make:mail TestMail
編輯app/Mail/WelcomeMail.php
use Illuminate\Mail\Mailable;
    與
    public function build()
    {
        return $this
            ->subject('Laravel 12 測試郵件')
            ->view('emails.test');
    }
    如下圖:
五、建立郵件範本
編輯resources/views/emails/test.blade.php
<h1>測試成功</h1>
<p>這是從 Laravel 12 透過 Gmail SMTP 寄出的郵件。</p>
    如下圖:
六、建立路由
編輯routes/web.php
use Illuminate\Support\Facades\Mail;
use App\Mail\TestMail;
    與
Route::get('/send-test-mail', function () {
    Mail::to('xxxxxxxx@skjh.chc.edu.tw')->send(new TestMail());
    return '寄送完成(如果没報错)';
});
    如下圖:
七、測試
指令:php artisan serve
開啟瀏覽器,輸入http://127.0.0.1:8000/send-test-mail





















沒有留言:

張貼留言

如何在 Laravel 12 使用 Gmail SMTP 寄信

一、前置條件 1.準備 Gmail「應用程式密碼」 (1).Gmail 帳號需開啟 兩步驟驗證 (2).前往Google帳戶 →安全性 →應用程式密碼 =>這組密碼就是等下 Laravel 要用的 MAIL_PASSWORD (3)建立 laravel 12 專案     ...