adt/mailer

The ultimate Nette mailing solution.

v3.0.1 2018-09-24 15:52 UTC

This package is auto-updated.

Last update: 2020-08-30 01:29:11 UTC


README

Uses adt/mail-api to

  1. use single mailing service for all your projects,
  2. ensure higher email deliverability.

Installation

composer:

composer require adt/mailer

config.neon:

extensions:
	adtMailer: ADT\Mailer\DI\AdtMailerExtension

adtMailer:
	remote:
		api: yourAdtMailApiInstance.com:1234
		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 static string or method, required
	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"?

  1. Connection to adt/mail-api server is made.
  2. Message is serialized and send over there.
  3. If connecting/transmitting should fail, next step is determined by error.mode config:
  • silent: store mail into error.logDir, log using Tracy, and continue,
  • exception: exception is thrown without any logging