首頁 > 後端開發 > php教程 > 如何在Laravel發送電子郵件

如何在Laravel發送電子郵件

Joseph Gordon-Levitt
發布: 2025-03-07 01:15:24
原創
186 人瀏覽過

How to Send Emails in Laravel

本教程探討了Laravel的電子郵件功能,利用Symfony Mailer組件。 我們將介紹配置,創建可郵寄類和發送電子郵件,並在一個實際示例中達到最終

> configuration:

Laravel通過Symfony Mailer的包裝器簡化了電子郵件管理。 主配置文件為

。 該文件定義了郵件器(例如SMTP,Sendmail,Mailgun等)及其設置。 默認郵件器由config/mail.php>環境變量指定(inMAIL_MAILER)。 .env對於SMTP,您需要在您的

> file中配置

MAIL_HOSTMAIL_PORTMAIL_ENCRYPTIONMAIL_USERNAMEMAIL_PASSWORD驅動程序需要在中設置正確的.env路徑。 sendmail地址也可配置。 第三方服務(MailGun,郵政標誌,SES)需要在sendmail>中進行其他設置 config/mail.phpfrom創建一個可郵遞類:config/services.php>

>一個可郵遞的類處理電子郵件創建和發送。 使用工匠命令:

這將在中生成

類。 一個典型的可郵寄類包括:

php artisan make:mail DemoEmail
登入後複製

方法初始化數據,而DemoEmail設置電子郵件詳細信息(發件人,視圖,附件等)。 創建相應的視圖文件(app/Mail/DemoEmail.php

)。
<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class DemoEmail extends Mailable
{
    use Queueable, SerializesModels;

    public $demo;

    public function __construct($demo)
    {
        $this->demo = $demo;
    }

    public function build()
    {
        return $this->from('sender@example.com')
                    ->view('mails.demo')
                    ->text('mails.demo_plain')
                    ->with(['testVarOne' => '1', 'testVarTwo' => '2'])
                    ->attach(public_path('/images/demo.jpg'), ['as' => 'demo.jpg', 'mime' => 'image/jpeg']);
    }
}
登入後複製
>

__construct發送電子郵件: build resources/views/mails/demo.blade.php>一個控制器(例如,resources/views/mails/demo_plain.blade.php)使用

>

方法發送電子郵件。 添加一條路由

>訪問控制器。

MailController用於測試而無需實際發送電子郵件,將Mail設置為

> in
<?php

namespace App\Http\Controllers;

use App\Mail\DemoEmail;
use Illuminate\Support\Facades\Mail;

class MailController extends Controller
{
    public function send()
    {
        $demoData = new \stdClass();
        $demoData->demo_one = 'Demo Value 1';
        $demoData->demo_two = 'Demo Value 2';
        $demoData->sender = 'Sender Name';
        $demoData->receiver = 'Receiver Name';

        Mail::to("receiver@example.com")->send(new DemoEmail($demoData));
    }
}
登入後複製
>將電子郵件記錄到

>。 Mail::to()->send()routes/web.php結論:

> Laravel的郵件系統建立在Symfony Mailer上,為電子郵件管理提供了簡化的方法。 本教程展示了從配置到發送電子郵件的過程,為將電子郵件功能集成到您的Laravel應用程序中提供了堅實的基礎。 探索Envato市場以獲取進一步的Laravel資源。 MAIL_DRIVER

以上是如何在Laravel發送電子郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板