信息发布→ 登录 注册 退出

laravel如何发送邮件和配置邮件驱动_Laravel邮件发送与邮件驱动配置方法

发布时间:2025-11-01

点击量:
Laravel通过配置.env文件设置邮件驱动,创建Mailable类定义内容,编写Blade模板,调用Mail::to()->send()发送邮件,支持多种驱动和多收件人,便于开发与测试。

Laravel 提供了简单而强大的邮件发送功能,支持多种邮件驱动,如 SMTP、Mailgun、Postmark、Sendmail 等。配置和使用非常方便,只需几个步骤即可实现邮件发送。

配置邮件驱动

Laravel 的邮件配置位于 .env 文件和 config/mail.php 中。大多数配置项可以通过环境变量控制,便于在不同环境中切换设置。

打开 .env 文件,设置以下内容:

MAIL_MAILER=smtp
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=your_username
MAIL_PASSWORD=your_password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="hello@example.com"
MAIL_FROM_NAME="${APP_NAME}"

说明:

  • MAIL_MAILER:使用的邮件驱动,常用值为 smtp、sendmail、log、array 等。
  • MAIL_HOST:SMTP 服务器地址,例如 Gmail 是 smtp.gmail.com,Mailgun 是指定域名。
  • MAIL_PORT:端口号,通常 587(TLS)或 465(SSL)。
  • MAIL_ENCRYPTION:加密方式,tls 或 ssl。
  • MAIL_FROM_ADDRESS / NAME:发件人邮箱和名称。

如果使用第三方服务如 Mailgun 或 Postmark,需将 MAIL_MAILER 改为对应值,并在 config/services.php 中补充 API 凭据。

创建邮件类 Mailable

Laravel 使用 Mailable 类定义邮件内容。运行以下命令生成一个邮件类:

php artisan make:mail WelcomeEmail

生成的类位于 app/Mail/WelcomeEmail.php。编辑该类的 build() 方法:

public function build()
{
    return $this->from('hello@example.com', 'Example')
                ->subject('欢迎注册')
                ->view('emails.welcome');
}

view('emails.welcome') 指向资源视图文件,需创建对应的 Blade 模板。

编写邮件模板

resources/views/emails/ 目录下创建 welcome.blade.php




    欢迎加入我们



    

你好,{{ $name }}!

感谢你注册我们的服务。

可以在 Mailable 构造函数中传入数据,在模板中使用变量。

发送邮件

使用 Mail::to() 方法快速发送邮件:

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

Mail::to('user@example.com')->send(new WelcomeEmail());

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

Mail::to(['a@example.com', 'b@example.com'])->send(new WelcomeEmail());

若需要抄送或密送,可在 Mailable 类中使用 cc()bcc() 方法。

测试环境下建议使用 log 驱动记录邮件内容,避免真实发送:

MAIL_MAILER=log

基本上就这些。配置好驱动,定义 Mailable 类,编写模板,调用发送方法即可完成 Laravel 邮件发送。整个流程清晰且易于维护。

标签:# 构造函数  # 值为  # 欢迎加入  # 第三方  # 可在  # 可以通过  # 并在  # 只需  # 多个  # 邮件发送  # 发送邮件  # mail  # php  # Array  # 邮箱  # 环境变量  # ai  # ssl  # 端口  # app  # cad  # html  # laravel  # word  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!