PHPackages                             daagmbh/mailer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Mail &amp; Notifications](/categories/mail)
4. /
5. daagmbh/mailer

ActiveLibrary[Mail &amp; Notifications](/categories/mail)

daagmbh/mailer
==============

This mailer library eases the definition and sending of mails in multiple languages in a PHP application.

v0.6(8y ago)419.5k1[1 PRs](https://github.com/daagmbh/mailer/pulls)MITPHPPHP &gt;=7.0

Since Mar 22Pushed 5y ago2 watchersCompare

[ Source](https://github.com/daagmbh/mailer)[ Packagist](https://packagist.org/packages/daagmbh/mailer)[ RSS](/packages/daagmbh-mailer/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (5)Versions (7)Used By (0)

DAA Mailer Library
==================

[](#daa-mailer-library)

The library eases the definition and sending of mails in multiple languages within an PHP application. It's main objective is to allow an easy mail sending without a lot of code. A mail is described in an abstract way in a so-called message which is rendered in multiple steps.

Features
--------

[](#features)

- Text &amp; HTML Mails
- Automatic translation into the user's locale (including the sender's email address and name)
- Text can be fetched from an arbitrary resource / translator (currently, there is only one resolver for the Symfony translator)
- Templates can be rendered with an arbitrary template engine (currently, there is only a Twig renderer)
- Mails can be sent via various transport ways (currently, there is a transport via Swift Mailer)

Usage
-----

[](#usage)

At first, you need to instantiate the mailer (here with Twig as renderer and Symfony translator as template resolver):

```
$mailer = new DaaMailer(
	new SymfonyTemplateResolver($translator),
	new TwigTemplateRenderer($twig),
	$eventDispatcher
);
```

Afterwards, you can define senders that are used to send the message:

```
// Here you define the login data, the sending email address and the name of the sender for a specific locae
$mailer->registerSender('support', 'de_DE', new SmtpSender('smtp.googlemail.com', 'foo@acme.com', 'password123', 'kundenservice@acme.com', 'Kundenservice'));
$mailer->registerSender('support', 'en_US', new SmtpSender('smtp.googlemail.com', 'foo@acme.com', 'password123', 'support@acme.com', 'Service'));
```

Then, you have to define a new message class. A message class is the abstract definition of a mail and is rendered by the mailer before sending.

```
