📜  Laravel - 使用邮件类发送邮件 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:44.020000             🧑  作者: Mango

Laravel - 使用邮件类发送邮件 - PHP

简介

在这篇教程中,我们将学习如何使用 Laravel 的邮件类来发送电子邮件。Laravel 提供了一个简单、干净且易于使用的邮件类,使得在应用程序中发送电子邮件变得非常简单。

安装 Laravel

首先,我们需要安装 Laravel。你可以通过 composer 在命令行中运行以下命令来安装 Laravel:

composer global require laravel/installer
配置 SMTP 服务器

在发送邮件之前,我们需要配置 Laravel 中的 SMTP 服务器。打开 .env 文件,你可以看到以下配置:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME="${APP_NAME}"

根据你所使用的 SMTP 服务器提供商的要求,将以上配置信息替换为你从服务提供商那里获得的正确的信息。

创建邮件类

首先,我们需要创建一个新的邮件类。你可以在 Laravel 的 app/Mail 目录中创建一个新文件,比如 WelcomeMail.php

<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Queue\SerializesModels;

class WelcomeMail extends Mailable
{
    use Queueable, SerializesModels;

    /**
     * Create a new message instance.
     *
     * @return void
     */
    public function __construct()
    {
        //
    }

    /**
     * Build the message.
     *
     * @return $this
     */
    public function build()
    {
        return $this->view('emails.welcome'); // 替换为实际的视图
    }
}

在上面的代码中,我们创建了一个名为 WelcomeMail 的邮件类,并定义了一个 build() 方法来构建邮件内容。你可以根据需要在 build() 方法中添加更多设置,如邮件标题、附件等。

创建邮件视图

接下来,我们需要创建邮件的视图。在 resources/views/emails 目录中创建一个新的视图文件,比如 welcome.blade.php。在这个视图文件中,你可以使用 Laravel 的 Blade 模板引擎来构建邮件的 HTML 内容。

<!DOCTYPE html>
<html>
<head>
    <title>Welcome to Our Website!</title>
</head>
<body>
    <h1>Welcome to Our Website!</h1>
    <p>Dear {{ $user->name }},</p>
    <p>Thank you for joining our website. We hope you enjoy your time here.</p>
</body>
</html>

在上面的代码中,我们创建了一个简单的 HTML 邮件内容,使用了 Blade 模板引擎来动态插入用户的名称。

发送邮件

最后,我们可以在我们的应用程序的任何地方发送电子邮件了,只需在控制器或其他位置使用以下代码即可:

use Illuminate\Support\Facades\Mail;
use App\Mail\WelcomeMail;

Mail::to($user->email)->send(new WelcomeMail($user));

以上代码将发送一封欢迎邮件给指定的用户。注意,WelcomeMail 类的构造函数接受一个用户对象作为参数,以便在邮件视图中可以使用用户的信息。

总结

在本教程中,我们学习了如何使用 Laravel 的邮件类来发送电子邮件。我们首先安装了 Laravel,并配置了 SMTP 服务器。然后,我们创建了邮件类和邮件视图,并演示了如何发送电子邮件。

希望这篇教程对你有所帮助!欢迎你继续探索 Laravel 的其他强大功能。