leandreaci / lumen-sparkpost
SparkPost driver for the Lumen PHP framework.
dev-main
2022-11-14 12:43 UTC
Requires
- php: ^7.4|^8.0|^8.1
- guzzlehttp/guzzle: ^7.2
- illuminate/mail: ^8.30
- illuminate/notifications: ^8.30
This package is auto-updated.
Last update: 2024-11-14 16:58:33 UTC
README
Installation
Install the package via composer
composer require leandreaci/sparkpost
- Add to load a mail.php from folder config/mail.php
- In case that file not exist must be created the folder and file.
- Load ServiceProviders to work
<?php // boostrap/app.php // Add line below // ... $app->configure('mail'); $app->register(Leandreaci\Lumen\SparkPost\SparkPostServiceProvider::class); $app->register(Illuminate\Mail\MailServiceProvider::class); // ...
- Example of config/mail.php
<?php return [ /* |-------------------------------------------------------------------------- | Default Mailer |-------------------------------------------------------------------------- | | This option controls the default mailer that is used to send any email | messages sent by your application. Alternative mailers may be setup | and used as needed; however, this mailer will be used by default. | */ 'default' => env('MAIL_MAILER', 'sparkpost'), /* |-------------------------------------------------------------------------- | Mailer Configurations |-------------------------------------------------------------------------- | | Here you may configure all of the mailers used by your application plus | their respective settings. Several examples have been configured for | you and you are free to add your own as your application requires. | | Laravel supports a variety of mail "transport" drivers to be used while | sending an e-mail. You will specify which one you are using for your | mailers below. You are free to add additional mailers as required. | | Supported: "smtp", "sendmail", "mailgun", "ses", | "postmark", "log", "array" | */ 'mailers' => [ 'smtp' => [ 'transport' => 'smtp', 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), 'port' => env('MAIL_PORT', 587), 'encryption' => env('MAIL_ENCRYPTION', 'tls'), 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, 'auth_mode' => null, ], 'ses' => [ 'transport' => 'ses', ], 'mailgun' => [ 'transport' => 'mailgun', ], 'postmark' => [ 'transport' => 'postmark', ], 'sendmail' => [ 'transport' => 'sendmail', 'path' => '/usr/sbin/sendmail -bs', ], 'sparkpost' => [ 'secret' => env('SPARKPOST_SECRET', 'SECRET'), 'transport' => 'sparkpost' ], 'log' => [ 'transport' => 'log', 'channel' => env('MAIL_LOG_CHANNEL'), ], 'array' => [ 'transport' => 'array', ], ], /* |-------------------------------------------------------------------------- | Global "From" Address |-------------------------------------------------------------------------- | | You may wish for all e-mails sent by your application to be sent from | the same address. Here, you may specify a name and address that is | used globally for all e-mails that are sent by your application. | */ 'from' => [ 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), 'name' => env('MAIL_FROM_NAME', 'Example'), ], /* |-------------------------------------------------------------------------- | Markdown Mail Settings |-------------------------------------------------------------------------- | | If you are using Markdown based email rendering, you may configure your | theme and component paths here, allowing you to customize the design | of the emails. Or, you may simply stick with the Laravel defaults! | */ 'markdown' => [ 'theme' => 'default', 'paths' => [ resource_path('views/vendor/mail'), ], ], ];