PHP使用laravel邮件服务发送邮件

作者:小信啊啊 时间:2023-05-25 03:48:23 

配置

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>

好的,到这一步就可以发送成功了

PHP使用laravel邮件服务发送邮件

其实还可以使用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>

来源:https://blog.csdn.net/csdn876280441/article/details/129329555

标签:PHP,laravel,发送,邮件
0
投稿

猜你喜欢

  • 初学MySql5 所应了解的知识和常见问题

    2009-03-06 17:49:00
  • python实战教程之OCR文字识别方法汇总

    2021-09-20 05:36:21
  • 使用SQL语句 INNER JOIN 联接表

    2008-04-27 20:31:00
  • Python使用PyCrypto实现AES加密功能示例

    2022-09-18 13:23:57
  • Python自然语言处理 NLTK 库用法入门教程【经典】

    2022-10-06 04:36:54
  • 如何从0开始用node写一个自己的命令行程序

    2024-05-03 15:56:26
  • 用Python删除本地目录下某一时间点之前创建的所有文件的实例

    2021-07-29 05:34:59
  • 如何设置mysql允许外网访问

    2024-05-03 15:49:38
  • 使用 JScript 创建 .exe 或 .dll 文件

    2011-06-04 15:37:00
  • 利用python numpy+matplotlib绘制股票k线图的方法

    2022-12-16 07:21:52
  • 在Pandas DataFrame中插入一列的方法实例

    2021-08-17 19:39:18
  • 最新Listary v5.00.2843注册码 亲测可用

    2022-07-04 22:20:43
  • Win7 32/64位系统下安装SQL2005和SP3补丁安装教程[图文]

    2024-01-28 11:22:59
  • python 实现堆排序算法代码

    2023-01-12 21:21:26
  • Python高级编程之继承问题详解(super与mro)

    2023-08-08 18:58:47
  • MySQL中varchar和char类型的区别

    2024-01-22 22:36:05
  • mysql8.0忘记密码的详细解决方法

    2024-01-12 20:50:00
  • 使用Python实现大学座位预约功能

    2022-03-14 16:26:53
  • 读取MySQL的log方法

    2011-07-01 12:04:57
  • Python3多线程处理爬虫的实战

    2023-08-16 02:16:21
  • asp之家 网络编程 m.aspxhome.com