emmanuelballery/eb-emailbundle

This package is abandoned and no longer maintained. No replacement package was suggested.
There is no license information available for the latest version (1.0.0) of this package.

Dead simple mailer

Installs: 706

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 2

Type:symfony-bundle

1.0.0 2016-03-14 12:28 UTC

This package is auto-updated.

Last update: 2019-11-26 07:43:23 UTC


README

Minimum configuration

Just add your senders (only one is required actually) :

eb_email:
    senders:
        -
            name: John DOE
            email: john.doe@gmail.com
    emails: []

Configure your emails

We have to send a contact email with a specific subject and body.

eb_email:
    # ...
    emails:
        contact:
            subject: 'New contact !'
            text_template: 'AppBundle:Email:_contact.txt.twig'

If you want to send an email with an alternative text/plain and text/html just use the html_template key :

eb_email:
    # ...
    emails:
        contact:
            subject: 'New contact !'
            text_template: 'AppBundle:Email:_contact.txt.twig'
            html_template: 'AppBundle:Email:_contact.html.twig'

You can use twig syntax in your subject :

eb_email:
    # ...
    emails:
        contact:
            subject: 'New contact from {{contact.name}} !'
            # ...

Send your email

$this->get('eb_email')->send('contact', 'john.doe@gmail.com');

With 2 recipients :

$this->get('eb_email')->send('contact', [
    'john.doe1@gmail.com',
    'john.doe2@gmail.com',
]);

With a user object implementing a getUsername method :

$this->get('eb_email')->send('contact', $user);

With a templating message var :

$this->get('eb_email')->send('contact', 'john.doe1@gmail.com', [
    'message' => $message,
]);

With an header image <img src="{{ header }}"/> :

$this->get('eb_email')->send('contact', 'john.doe1@gmail.com', [
    'message' => $message,
], [
    'header' => '/var/header.png',
]);

With a PDF attachment :

$this->get('eb_email')->send('contact', 'john.doe1@gmail.com', [
    'message' => $message,
], [], [
    '/var/attachment.pdf',
]);

Configure globals, images, attachments and recipients for all mails

Add app_name global variable to all emails :

eb_email:
    # ...
    globals:
        app_name: BundleDemo

Add header and footer images to all emails (useful for a twig layout) :

eb_email:
    # ...
    images:
        header: /var/header.png
        footer: /var/footer.png

Add some PDF to all emails :

eb_email:
    # ...
    attachments:
        - /var/terms.pdf

Add recipients to all emails :

eb_email:
    # ...
    recipients:
        -
            name: AppName
            email: contact@appname.com

Configure images and attachments for one email

Add the map image to the contact email :

eb_email:
    # ...
    emails:
        contact:
            # ...
            images:
                map: /var/map.png

Add one PDF to the contact email :

eb_email:
    # ...
    emails:
        contact:
            # ...
            attachments:
                - /var/satisfaction.pdf

Add one default recipient to the contact email :

eb_email:
    # ...
    emails:
        contact:
            # ...
            recipients:
                -
                    name: AppName
                    email: contact@appname.com

Full configuration

# Default configuration for "EBEmailBundle"
eb_email:
    senders:              # Required

        # Sender name
        name:                 ~ # Required, Example: John Doe

        # Sender email
        email:                ~ # Required, Example: john.doe@gmail.com

    # Global to add in each template
    globals:              # Example: A parameter

        # Prototype
        name:                 ~

    # Images to attach inline
    images:               # Example: /path/to/file

        # Prototype
        name:                 ~

    # Files to attach
    attachments:          [] # Example: /path/to/file
    recipients:

        # Recipient name
        name:                 ~ # Required, Example: John Doe

        # Recipient email
        email:                ~ # Required, Example: john.doe@gmail.com
    emails:

        # Prototype
        name:

            # Text Template
            text_template:        ~ # Required, Example: AcmeDefautBundle::_text_email.html.twig

            # HTML Template
            html_template:        null # Example: AcmeDefautBundle::_html_email.html.twig

            # Email subject
            subject:              ~ # Required, Example: Welcome {{user.username}} to {{app_name}} !

            # Global to add in this template
            globals:              # Example: A parameter

                # Prototype
                name:                 ~

            # Images to attach inline
            images:               # Example: /path/to/file

                # Prototype
                name:                 ~

            # Files to attach
            attachments:          [] # Example: /path/to/file
            recipients:

                # Recipient name
                name:                 ~ # Required, Example: John Doe

                # Recipient email
                email:                ~ # Required, Example: john.doe@gmail.com