Laravel
Laravel 的 SMTP 邮件发送器无需安装任何包即可配合 SpacePost 使用。
MAIL_MAILER=smtpMAIL_SCHEME=smtpMAIL_HOST=smtp.spacepost.devMAIL_PORT=25976MAIL_USERNAME=spacepostMAIL_PASSWORD=sp_live_YOUR_API_KEYMAIL_ENCRYPTION=tlsMAIL_FROM_ADDRESS="hello@acme.com"MAIL_FROM_NAME="Acme"Laravel 11 及更高版本读取 MAIL_SCHEME=smtp,并通过 STARTTLS 升级连接;Laravel 10 及更早版本读取 MAIL_ENCRYPTION=tls。同时保留这两行即可在所有版本上使用。不要使用 smtps 或 ssl:暂不提供隐式 TLS(465 端口)。
照常发送:
use Illuminate\Support\Facades\Mail;use App\Mail\OrderShipped;
Mail::to($user)->send(new OrderShipped($order));标签与定时发送
Section titled “标签与定时发送”在你的 Mailable 中添加 SpacePost 的控制标头:
use Illuminate\Mail\Mailables\Headers;
public function headers(): Headers{ return new Headers(text: [ 'X-SpacePost-Tags' => 'category=order, order_id=' . $this->order->id, ]);}使用 Mail::queue() 发送的 Mailable 照常工作;队列 Worker 通过 SMTP 与 SpacePost 通信。请让并发 Worker 的数量保持在速率限制之内。