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
Requires
- php: ^8.2|^8.3|^8.4
- illuminate/console: ^11.0|^12.0
- illuminate/http: ^11.0|^12.0
- illuminate/support: ^11.0|^12.0
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_IDorCLOUDFLARE_ZONE_NAME(otherwise it will infer a zone name from the last 2 labels of your domain) - SparkPost API key (one of):
SPARKPOST_PROVISIONING_KEYSPARKPOST_API_KEYMAIL_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 toMAIL_PASSWORDwhen configuring env)--no-envSkip writing env mail settings--env-file=Override env file path to update--tracking=Override tracking domain (defaults tosp.<domain>)--skip-spf,--skip-dmarcSkip those TXT records
Notes
- Packagist versions should be managed via git tags (e.g. v0.1.1).