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:
<!DOCTYPE html> <html> <head> <title>欢迎加入我们</title> </head> <body> <h1>你好,{{ $name }}!</h1> <p>感谢你注册我们的服务。</p> </body> </html>
可以在 Mailable 构造函数中传入数据,在模板中使用变量。
发送邮件
使用 Mail::to() 方法快速发送邮件:
use IlluminateSupportFacadesMail; use AppMailWelcomeEmail; 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 邮件发送。整个流程清晰且易于维护。
以上就是laravel如何发送邮件和配置邮件驱动_Laravel邮件发送与邮件驱动配置方法的详细内容,更多请关注php中文网其它相关文章!


