Laravel如何发送邮件和配置邮件驱动

laravel通过配置邮件驱动、创建Mailable类并调用send方法实现邮件发送。首先在.env中设置SMTP等驱动信息,如mail_MAILER=smtp;然后使用php artisan make:mail生成Mailable类,定义主题和视图模板;接着在控制器中通过Mail::to()->send()发送邮件,支持多收件人及抄送密送;开发时可用log驱动记录邮件内容便于调试。整个流程简洁高效,适合快速集成。

Laravel如何发送邮件和配置邮件驱动

Laravel 发送邮件非常方便,内置了强大的邮件系统,支持多种邮件驱动,比如 SMTP、Mailgun、Postmark、Sendmail 等。配置和使用过程简单清晰,适合在项目中快速集成。

配置邮件驱动

Laravel 的邮件配置文件位于 config/mail.php,你可以在这里设置默认的邮件驱动、发件人信息等。实际环境变量建议写在 .env 文件中,便于管理。

常见的邮件驱动包括:

  • smtp:使用自定义 SMTP 服务器(最常用)
  • sendmail:使用本地 Sendmail 服务
  • mailgun:使用 Mailgun API
  • postmark:使用 Postmark 服务
  • log:仅记录邮件内容,用于测试

.env 中配置 SMTP 示例:

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your@gmail.com
MAIL_PASSword=your-app-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=your@gmail.com
MAIL_FROM_NAME=”Your app Name”

如果你使用 Gmail,注意要开启“两步验证”并生成“应用专用密码”作为 MAIL_PASSWORD。

创建邮件类 Mailable

Laravel 使用 Mailable 类来定义邮件内容。你可以使用 Artisan 命令生成:

php artisan make:mail WelcomeEmail

生成的类位于 app/Mail/WelcomeEmail.php。编辑它来设置收件人、主题、模板等:

示例代码:

Namespace AppMail;

use IlluminateBusQueueable;
use IlluminateMailMailable;
use IlluminateQueueSerializesModels;

class WelcomeEmail extends Mailable
{
use Queueable, SerializesModels;

public $data;

public function __construct($data)
{
$this->data = $data;
}

public function build()
{
return $this->subject(‘欢迎加入’)
->view(’emails.welcome’);
}
}

这里引用了一个视图模板 resources/views/emails/welcome.blade.php,你需要创建它:

Laravel如何发送邮件和配置邮件驱动

标贝悦读AI配音

在线文字转语音软件-专业的配音网站

Laravel如何发送邮件和配置邮件驱动 20

查看详情 Laravel如何发送邮件和配置邮件驱动

欢迎

你好,{{ $data[‘name’] }}

感谢注册,欢迎加入我们的平台!

发送邮件

在控制器或路由中使用 Mail::to() 发送邮件:

use IlluminateSupportFacadesMail;
use AppMailWelcomeEmail;

Mail::to(‘user@example.com’)->send(new WelcomeEmail([
‘name’ => ‘张三’
]));

你也可以发送给多个收件人:

Mail::to([‘a@ex.com’, ‘b@ex.com’])->send(new WelcomeEmail($data));

如果想抄送或密送:

$mail = new WelcomeEmail($data);
Mail::to(‘to@example.com’)
->cc(‘cc@example.com’)
->bcc(‘bcc@example.com’)
->send($mail);

测试与调试

开发阶段推荐使用 log 驱动来避免真实发送:

MAIL_MAILER=log

所有邮件内容会被记录在 storage/logs/laravel.log 中,便于查看结构和调试。

你也可以使用 MailtrapSMTP Debugging 工具来捕获测试邮件。

基本上就这些。配置好驱动,创建 Mailable 类,调用 send 方法即可完成邮件发送。整个流程清晰,扩展性强。

以上就是Laravel如何发送邮件和配置邮件驱动的详细内容,更多请关注php中文网其它相关文章!

上一篇
下一篇
text=ZqhQzanResources