wyxos/laravel-mail-provision

Provision SparkPost sending/tracking domains and Cloudflare DNS records, and optionally configure SparkPost SMTP env settings.

Installs: 6

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

pkg:composer/wyxos/laravel-mail-provision

v0.1.1 2026-02-14 21:18 UTC

This package is auto-updated.

Last update: 2026-02-14 21:18:15 UTC


README

Provision SparkPost sending/tracking domains and Cloudflare DNS records, and optionally configure SparkPost SMTP mail settings in your .env.

Install

composer require wyxos/laravel-mail-provision

Required Env

  • CLOUDFLARE_API_TOKEN
  • Either CLOUDFLARE_ZONE_ID or CLOUDFLARE_ZONE_NAME (otherwise it will infer a zone name from the last 2 labels of your domain)
  • SparkPost API key (one of):
    • SPARKPOST_PROVISIONING_KEY
    • SPARKPOST_API_KEY
    • MAIL_PASSWORD

Usage

Provision using APP_DOMAIN (or APP_URL host) when the domain argument is omitted:

php artisan mail:provision-domain

Provision an explicit domain:

php artisan mail:provision-domain nudge.example.com

By default, the command updates your env file with SparkPost SMTP settings:

MAIL_MAILER=smtp
MAIL_HOST=smtp.sparkpostmail.com
MAIL_PORT=587
MAIL_USERNAME=SMTP_Injection
MAIL_PASSWORD=<API_KEY>
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=no-reply@<your-domain>
MAIL_FROM_NAME="${APP_NAME}"

Options:

  • --api-key= Provide SparkPost API key (used for provisioning and written to MAIL_PASSWORD when configuring env)
  • --no-env Skip writing env mail settings
  • --env-file= Override env file path to update
  • --tracking= Override tracking domain (defaults to sp.<domain>)
  • --skip-spf, --skip-dmarc Skip those TXT records

Notes

  • Packagist versions should be managed via git tags (e.g. v0.1.1).