本教程探討了Laravel的電子郵件功能,利用Symfony Mailer組件。 我們將介紹配置,創建可郵寄類和發送電子郵件,並在一個實際示例中達到最終
> configuration:
Laravel通過Symfony Mailer的包裝器簡化了電子郵件管理。 主配置文件為。 該文件定義了郵件器(例如SMTP,Sendmail,Mailgun等)及其設置。 默認郵件器由config/mail.php
>環境變量指定(inMAIL_MAILER
)。
.env
對於SMTP,您需要在您的
,MAIL_HOST
,MAIL_PORT
,MAIL_ENCRYPTION
,MAIL_USERNAME
。 MAIL_PASSWORD
驅動程序需要在.env
路徑。 sendmail
地址也可配置。 第三方服務(MailGun,郵政標誌,SES)需要在sendmail
>中進行其他設置
config/mail.php
from
創建一個可郵遞類: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
設置為
<?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中文網其他相關文章!