laravel自带SwiftMailer库,集成了多种邮件API,可以很方便的实现邮件的发送。在本教程中使用到的是SMTP(SimpleMessageTransferProtocol)简单邮件传输协议,通常理解为邮件发送服务器
配置
Laravel 的邮件服务可以通过 config/mail.php 配置文件进行配置。
邮件中的每一项都在配置文件中有单独的配置项,甚至是独有的「传输方式」,允许你的应用使用不同的邮件服务发送邮件
'mailers' => [
'smtp' => [
'transport' => 'smtp',
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
'port' => env('MAIL_PORT', 587),
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'),
'timeout' => null,
'local_domain' => env('MAIL_EHLO_DOMAIN'),
],
]
生成 Mailables
在构建 Laravel 应用程序时,应用程序发送的每种类型的电子邮件都表示为一个 mailable 类。 这些类存储在 app/Mail 目录中
php artisan make:mail OrderShipped
编写 Mailables
所有可邮寄类的配置都是在 build 方法中完成的。 在此方法中,可以调用各种方法,例如 from、subject、view 和 attach 来配置电子邮件的呈现和传递。
配置发件人
from 方法
首先,让我们浏览一下邮件的发件人的配置。或者,换句话说,邮件来自谁。有两种方法配置发件人。第一种,你可以在 mailable 类的 build 方法中使用 from 方法:
public function build()
{
return $this->from(env('MAIL_USERNAME'),env('MAIL_FROM_ADDRESS'))
->view('emails.shipped');
}
配置视图
可以在 mailable 类的 build 方法中使用 view 方法来指定在渲染邮件内容时要使用的模板。由于每封邮件通常使用 Blade 模板 来渲染其内容,因此在构建邮件 HTML 内容时你可以使用 Blade 模板引擎提供的所有功能及享受其带来的便利性
邮件模板一般存放于resources/views/emails下面
还可以配置视图变量,直接在视图模板中使用
在Mailables类中的构造方法中可以配置视图数据
/**
* @var User
*/
public $user;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct($user)
{
$this->user = $user;
}
在调用发送时
$user = User::all();
Mail::to('xxx@qq.com')->send(new OrderShipped($user));
视图
<h2>测试邮箱发送</h2>
<p>{{$user[0]['email']}}</p>
好的,到这一步就可以发送成功了
其实还可以使用with使用变量
public function build()
{
return $this->from(env('MAIL_USERNAME'),env('MAIL_FROM_ADDRESS'))
->with([
'name' => '测试变量',
'time' => date('Y-m-d H:i:s')
])
->view('emails.shipped');
}
视图
<h2>测试邮箱发送</h2>
名字:<p>{{$name}}</p>
发送时间<p>{{$time}}</p>
邮箱:<p>{{$user[0]['email']}}</p>
到此这篇关于PHP使用laravel邮件服务发送邮件的文章就介绍到这了,更多相关PHP laravel发送邮件内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:PHP使用laravel邮件服务发送邮件


- Laravel balde模板文件中判断数据为空方法 2023-08-30
- PHP仿tp实现mvc框架基本设计思路与实现方法分析 2022-10-18
- laravel通用化的CURD的实现 2023-03-17
- laravel实现按月或天或小时统计mysql数据的方法 2023-02-22
- PHP中PDO事务处理操作示例 2022-10-15
- php微信公众号开发之秒杀 2022-11-23
- 用nohup命令实现PHP的多进程 2023-09-02
- windows下9款一键快速搭建PHP本地运行环境的好工具(含php7.0环境) 2023-09-02
- PHP实现微信支付(jsapi支付)流程步骤详解 2022-10-09
- PHP简单实现二维数组的矩阵转置操作示例 2022-10-02