本教程探讨了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中文网其他相关文章!