adt / mailer
The ultimate Nette mailing solution.
Installs: 36 462
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 14
Forks: 0
Open Issues: 0
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^6.3|^7.0
- nette/di: ^2.3 || ^3.0
- nette/mail: ^2.3 | ^3.0 | ^4.0
- tracy/tracy: ^2.3
README
Uses adt/mail-api to
- use single mailing service for all your projects,
- ensure higher email deliverability.
Installation
composer:
composer require adt/mailer
config.neon:
extensions: adtMailer: ADT\Mailer\DI\AdtMailerExtension adtMailer: remote: api: yourAdtMailApiInstance.com:1234 # can be either static string or method, required key: yourPrivateKey error: # mode: silent => log and continue # mode: exception => throw mode: silent # all undelivered messages are stored here (applies to mode: silent) logDir: %logDir%/adt_mailer # if recipient is suppressed, this address receives notification and delist link # can be either an email address, url or a callback returning an email address or url suppressionControlAddress: @App\Model\SuppressionControl::decide
Usage
// inject IMailer into $this->mailer // create message $message = new \Nette\Mail\Message; // send message $this->mailer->send($message);
What happens "under the hood"?
- Connection to adt/mail-api server is made.
- Message is serialized and send over there.
- If connecting/transmitting should fail, next step is determined by
error.mode
config:
silent
: store mail intoerror.logDir
, log using Tracy, and continue,exception
: exception is thrown without any logging