邮件配置

XinAdmin 提供了可视化的邮件配置管理功能,支持多种邮件驱动和发送模式。

配置界面

邮件配置

邮件模式

XinAdmin 支持三种邮件发送模式:

模式说明
single单驱动模式,使用单一邮件服务发送
failover故障转移模式,按顺序尝试多个邮件服务,直到发送成功
roundrobin轮询模式,在多个邮件服务之间轮换发送

支持的邮件驱动

驱动说明
SMTP标准 SMTP 邮件服务器
SESAmazon Simple Email Service
MailgunMailgun 邮件服务
PostmarkPostmark 邮件服务
ResendResend 邮件服务
Log日志驱动(用于开发调试)
Array数组驱动(不实际发送)

配置项说明

发件人配置

字段说明
发件人地址邮件显示的发件人邮箱地址
发件人名称邮件显示的发件人名称

SMTP 配置

字段说明
主机地址SMTP 服务器地址,如 smtp.gmail.com
端口SMTP 服务器端口,常用端口:25、465、587
用户名SMTP 认证用户名
密码SMTP 认证密码

Postmark 配置

字段说明
TokenPostmark API Token

Resend 配置

字段说明
KeyResend API Key

Mailgun 配置

字段说明
DomainMailgun 域名
SecretMailgun API Secret
EndpointAPI 端点地址,默认 api.mailgun.net

SES 配置

字段说明
Access Key IDAWS 访问密钥 ID
Secret Access KeyAWS 访问密钥
RegionAWS 区域,如 us-east-1
Session TokenAWS 会话令牌(可选)

Log 配置

字段说明
Channel日志通道,默认 stack

环境变量

配置保存后会自动更新 .env 文件中的以下变量:

变量说明
MAIL_MAILER默认邮件驱动
MAIL_HOSTSMTP 主机地址
MAIL_PORTSMTP 端口
MAIL_USERNAMESMTP 用户名
MAIL_PASSWORDSMTP 密码
MAIL_FROM_ADDRESS发件人地址
MAIL_FROM_NAME发件人名称
MAIL_FAILOVER_MAILERS故障转移驱动列表
MAIL_ROUNDROBIN_MAILERS轮询驱动列表
POSTMARK_TOKENPostmark Token
RESEND_KEYResend API Key
MAILGUN_DOMAINMailgun 域名
MAILGUN_SECRETMailgun Secret
MAILGUN_ENDPOINTMailgun 端点
AWS_ACCESS_KEY_IDAWS 访问密钥 ID
AWS_SECRET_ACCESS_KEYAWS 访问密钥
AWS_DEFAULT_REGIONAWS 区域
AWS_SESSION_TOKENAWS 会话令牌

使用示例

发送邮件

配置完成后,可以在代码中使用 Laravel Mail 门面发送邮件:

use Illuminate\Support\Facades\Mail;

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

发送简单文本邮件

Mail::raw('邮件内容', function ($message) {
    $message->to('user@example.com')
        ->subject('邮件主题');
});