搜索
首页php框架LaravelLaravel - 发送电子邮件

Laravel 使用免费的功能丰富的库 SwiftMailer 来发送电子邮件。使用库函数,我们可以轻松地发送电子邮件,而无需太多麻烦。电子邮件模板的加载方式与视图相同,这意味着您可以使用 Blade 语法并将数据注入到模板中。

下表显示了send函数的语法和属性 -

表>

在第三个参数中,$callback 闭包接收到消息实例,通过该实例,我们还可以调用以下函数并更改消息,如下所示。

  • $message → subject('欢迎来到教程点');
  • $message → from('email@example.com', '示例先生');
  • $message → to('email@example.com', '示例先生');

一些不太常见的方法包括 -

  • $message → sender('email@example.com', '示例先生');
  • $message → returnPath('email@example.com');
  • $message → cc('email@example.com', '示例先生');
  • $message → bcc('email@example.com', '示例先生');
  • $message→replyTo('email@example.com', '示例先生');
  • $消息 → 优先级(2);

要附加或嵌入文件,您可以使用以下方法 -

  • $message → Attach('path/to/attachment.txt');
  • $message → embed('path/to/attachment.jpg');

邮件可以以 HTML 或文本形式发送。您可以通过传递数组来指示要在第一个参数中发送的邮件类型,如下所示。默认类型是 HTML。如果您想发送纯文本邮件,请使用以下语法。

语法

雷雷

在此语法中,第一个参数采用数组。使用 text 作为视图的键名作为键的值。

示例

第 1 步 - 我们现在将从 Gmail 帐户发送一封电子邮件,为此您需要在 Laravel 环境文件 - .env 文件中配置您的 Gmail 帐户。在您的 Gmail 帐户中启用两步验证并创建应用程序特定密码,然后更改 .env 参数,如下所示。

.env

雷雷

第 2 步 - 更改 .env 文件后,执行以下两个命令以清除缓存并重新启动 Laravel 服务器。

雷雷

步骤 3 - 通过执行以下命令创建一个名为 Laravel - 发送电子邮件 的控制器。

雷雷

步骤 4 − 成功执行后,您将收到以下输出 −

Laravel - 发送电子邮件

第 5 步 - 将以下代码复制到

app/Http/Controllers/Laravel - 发送电子邮件.php 文件。

app/Http/Controllers/Laravel - 发送电子邮件.php

雷雷

第 6 步 - 将以下代码复制到 resources/views/mail.blade.php 文件中。

resources/views/mail.blade.php

雷雷

第 7 步 - 在 app/Http/routes.php.

中添加以下行

app/Http/routes.php

雷雷

第 8 步 - 访问以下 URL 来测试基本电子邮件。

雷雷

步骤 9 - 输出屏幕将如下所示。检查您的收件箱以查看基本的电子邮件输出。

Basic Email Sent

第 10 步 - 访问以下 URL 来测试 HTML 电子邮件。

雷雷

步骤 11 - 输出屏幕将如下所示。检查您的收件箱以查看 html 电子邮件输出。

HTML Email

第 12 步 - 访问以下 URL 来测试带有附件的 HTML 电子邮件。

雷雷

第 13 步 - 您可以看到以下输出

Email Sent

注意 - 在Laravel - 发送电子邮件.php 文件中,from 方法中的电子邮件地址应该是您可以发送电子邮件地址的电子邮件地址。一般应该是你服务器上配置的邮箱地址。

语法 void send(string|array $view, array $data, Closure|string $callback)
参数
  • Syntax void send(string|array $view, array $data, Closure|string $callback)
    Parameters
    • $view(string|array) − name of the view that contains email message

    • $data(array) − array of data to pass to view

    • $callback − a Closure callback which receives a message instance, allowing you to customize the recipients, subject, and other aspects of the mail message

    Returns nothing
    Description Sends email.
    $view(string|array) - 包含电子邮件的视图名称
  • $data(array) - 传递给视图的数据数组
  • $callback - 接收消息实例的闭包回调,允许您自定义邮件消息的收件人、主题和其他方面
退货 没什么
描述 发送电子邮件。

以上是Laravel - 发送电子邮件的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
Laravel模型中引导方法的目的是什么?Laravel模型中引导方法的目的是什么?Oct 04, 2025 am 05:50 AM

ThebootmethodinaLaravelmodelrunsonceperrequesttoinitializemodel-levellogic.Itisprimarilyusedtoregistereventlistenerslikecreating,saving,ordeleting,enablingactionssuchassettingdefaultUUIDs,encryptingdata,orloggingchanges.Byoverridingbootandcallingpare

如何清除Laravel应用程序中的所有缓存?如何清除Laravel应用程序中的所有缓存?Oct 04, 2025 am 05:21 AM

访问:phpartisanconfig运行:清除,路线:清除,查看:清除,缓存:清除,且timizize:cleartoresetConfiguration:cleartoresetConfiguration,路由,视图,applicationCache,andOptimizedClassessessecretivelyforefortily forepertiality forepertively foreportiality forecostality forecostecostecomplecontecolcontecolletetecachecleanup。

如何处理Laravel中API请求的费率限制?如何处理Laravel中API请求的费率限制?Oct 04, 2025 am 04:29 AM

Laravel的限流功能通过内置中间件实现,支持API防护与公平使用。使用throttle:60,1可限制每分钟60次请求,适用于API路由。支持基于用户角色动态调整限流,如认证用户100次/分钟,游客10次/分钟,并可通过自定义中间件返回X-RateLimit-Limit和X-RateLimit-Remaining头部信息。结合Sanctum或Passport认证可实现更精细控制,超限时自动返回429状态码及Retry-After头,便于客户端处理。

如何在Laravel Blade中使用@Stack和@push指令?如何在Laravel Blade中使用@Stack和@push指令?Oct 04, 2025 am 03:26 AM

@pushappendscontenttoanamedstackinchildviews,while@stackrendersallpushedcontentinthelayout;forexample,use@push('scripts')inadmin.blade.phptoaddpage-specificJS,and@stack('scripts')inlayouts/app.blade.phptooutputitbeforetheclosingbodytag.

如何使用Laravel Collections映射,过滤和减少方法?如何使用Laravel Collections映射,过滤和减少方法?Oct 04, 2025 am 03:04 AM

Laravel集合的map、filter和reduce方法分别用于转换、筛选和聚合数据。1.map()对每个元素进行变换并返回新集合,如将用户名转为大写;2.filter()根据条件筛选元素,如保留偶数或成年用户;3.reduce()通过累加器将集合合并为单个值,如计算总价。三者可链式调用,提升代码可读性。

如何使用Laravel和Websocket构建实时聊天应用程序?如何使用Laravel和Websocket构建实时聊天应用程序?Oct 03, 2025 am 05:34 AM

答案:使用Laravel结合Pusher或自建WebSocket服务器实现聊天功能。首先创建Laravel项目并安装Sanctum用于API认证,配置Broadcasting使用Pusher驱动并在.env中填入凭证;生成Message模型和控制器处理消息存储与获取,创建MessageSent事件实现ShouldBroadcast接口指定chat频道;前端通过LaravelEcho连接Pusher监听消息,用户发送消息时调用API触发事件,由Pusher实现实时广播,Echo接收后更新UI,整体

如何在Laravel应用程序中管理功能标志?如何在Laravel应用程序中管理功能标志?Oct 03, 2025 am 05:28 AM

Useafeatureflagpackagelikespatie/laravel-feature-flagstocontrolrollouts;installviaComposer,publishconfigandmigration,runmigrate,thenenablefeaturesgloballywithArtisanorprogrammaticallyusingFeature::enable();checkflagsincodewithFeature::active()incontr

如何使用Laravel的API资源来改变模型?如何使用Laravel的API资源来改变模型?Oct 03, 2025 am 05:26 AM

Laravel的API资源用于将Eloquent模型转换为结构化JSON响应。1.使用phpartisanmake:resourceUserResource创建资源类。2.在toArray()方法中定义返回的数据字段。3.控制器中用newUserResource($user)返回单个模型。4.用UserResource::collection()返回模型集合。5.使用when()方法添加条件属性,如根据用户角色控制敏感信息显示。API资源分离展示逻辑,提升代码可维护性。

See all articles

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT

Stock Market GPT

人工智能驱动投资研究,做出更明智的决策

热工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具