承接 nightinker/laravel-snailmark 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nightinker/laravel-snailmark

Composer 安装命令:

composer require nightinker/laravel-snailmark

包简介

Laravel mail transport for sending email via the Snailmark API.

README 文档

README

A Laravel mail transport for sending email through the Snailmark API.

Register the snailmark mail driver and keep using Mail, Notification, and Mailables exactly as you do today — Snailmark handles delivery, templates, message streams, and tracking.

Installation

composer require nightinker/laravel-snailmark

The service provider is auto-discovered.

Configuration

Add a snailmark entry to the services config (config/services.php):

'snailmark' => [
    'token' => env('SNAILMARK_TOKEN'),
    // Optional — override for a self-hosted Snailmark instance.
    'base_url' => env('SNAILMARK_BASE_URL', 'https://api.snailmark.com'),
    // Optional — default message stream for every send.
    'message_stream' => env('SNAILMARK_MESSAGE_STREAM', 'outbound'),
],

Add the mailer to config/mail.php under mailers:

'snailmark' => [
    'transport' => 'snailmark',
    // Optional per-mailer stream override.
    'message_stream_id' => env('SNAILMARK_MESSAGE_STREAM'),
],

Then point your app at it in .env:

MAIL_MAILER=snailmark
SNAILMARK_TOKEN=snl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
MAIL_FROM_ADDRESS="you@your-verified-domain.com"
MAIL_FROM_NAME="Your App"

SNAILMARK_TOKEN is a server token from the Snailmark dashboard (Server → API Tokens). The From address must be on a domain verified in Snailmark.

Usage

Nothing changes in your app code — send mail as usual:

Mail::to($user)->send(new OrderShipped($order));

$user->notify(new ResetPasswordNotification($token));

Overriding the server token per message

Attach a SnailmarkServerTokenHeader to send a single message through a different Snailmark server (useful for multi-tenant apps):

use Snailmark\Mail\SnailmarkServerTokenHeader;

Mail::to($user)->send(
    (new OrderShipped($order))->withSymfonyMessage(function ($message) use ($token) {
        $message->getHeaders()->add(new SnailmarkServerTokenHeader($token));
    })
);

Notes

  • The transport sends the full message envelope — Cc, Bcc, Reply-To, attachments, tags, metadata, and custom headers.
  • Templated sends: encode {"alias": "...", "model": {...}} as the message HTML body to hit POST /api/email/withTemplate.

License

MIT

统计信息

  • 总下载量: 0
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-07-06

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固