2017 © Pedro Peláez
 

symfony-bundle mailjet-bundle

This bundle provides a transport for swiftmailer to send mail through mailjet

image

dekalee/mailjet-bundle

This bundle provides a transport for swiftmailer to send mail through mailjet

  • Monday, July 2, 2018
  • by maximevalette
  • Repository
  • 6 Watchers
  • 2 Stars
  • 22,737 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 3 Open issues
  • 12 Versions
  • 6 % Grown

The README.md

Mailjet Bundle

Scrutinizer Code Quality Code Coverage Build Status Latest Stable Version Total Downloads License, (*1)

Usage

This bundle provides a transport element to use SwiftMailer from the Symfony project to send mail using Mailjet., (*2)

Configuration

To configure the bundle, you will have to enter the api key, secret and default template id :, (*3)

``` yaml, (*4)

# app/config/config.yml
dekalee_mailjet:
    api_key: %api_key%
    secret_key: %secret_key%
    base_template_id: %base_template_id%

You will also have to modify the transport in the mailer configuration : ``` yaml # app/config/config.yml swiftmailer: transport: mailjet

Extension

In mailjet, you can define your own template for the mail you send. It is possible to use different template for each mail you will send., (*5)

To perform this action, you will need to guess the template Id from the message being send., (*6)

Create a guesser

You should implement the class : Dekalee\MailjetBundle\Guesser\TemplateIdGuesserInterface, (*7)

There are two methods inside :, (*8)

  • supports, which will decide if your strategy is able to give the template Id for this message
  • guess, which will return the template Id for the given message

Declare the service

Once your class is created, you should add the tag dekalee_mailjet.guesser.template_id.strategy to your service definition, (*9)

Campaign management

Affiliate a user to a campaign

To affiliate a contact to a campaign, you should use the ContactListSubscriber class, declared under the dekalee_mailet.subscriber.contact_list key in the container:, (*10)

``` php class RegisterUser { protected $subscriber;, (*11)

    public function __construct(ContactListSubscriber $subscriber)
    {
        $this->subscriber = $subscriber;
    }

    public function addUser(User $user)
    {
        $this->subscriber->subscribe(
            'campaignName',
            $user->getEmail(),
            [
                'subject' => 'Mail subject (linked to the user)',
                'content' => 'Mail content (linked to the user)',
            ]
        );
    }
}

The template used for sending personnal emails to the contact from this list would be able to use the variable `content_CampaignName` and `subject_CampaignName`. ### Unsubscribe a user from a campaign To affiliate a contact to a campaign, you should use the `ContactListUnSubscriber` class, declared under the `dekalee_mailet.unsubscriber.contact_list` key in the container: ``` php class UnRegisterUser { protected $unsubscriber; public function __construct(ContactListUnsubscriber $unsubscriber) { $this->unsubscriber = $unsubscriber; } public function delUser(User $user) { $this->unsubscriber->unsubscribe('campaignName', $user->getEmail()); } }

Custom template

If you want to use a custom template from mailjet with some custom variables, there is a way to do it in the bundle:, (*12)

  • Create a custom message
    namespace Bar;

    use Dekalee\MailjetBundle\Message\SwiftCustomVarsMessage;

    class FooMessage extends SwiftCustomVarsMessage {}
  • Fill the vars property with the parameters you want to send
    $message = new FooMessage();

    $message->setVars(['bar' => 'baz']);
  • Configure the simple message guesser to use your template
    dekalee_mailjet:
        simple_template_choice:
            Bar\FooMessage: 1

If you send the mail throught mailjet, the template 1 will be used., (*13)

In your working environment, you will receive a mail with all the vars json encoded., (*14)

Debug

Since version 2.1.0, it is possible to use mailjet debug capabilities., (*15)

You can directly configure them in the config file:, (*16)

    dekalee_mailjet:
        reporting_email: foo@bar.com
        force_deliver: true

The reporting_email parameter will be used to send the error report mail., (*17)

The force_deliver parameter will force the mail deliver even if there is a syntax issue., (*18)

Limitation

For the moment, the bundle does not supports the inline attachement functionnality from mailjet, but contributions are welcome :)., (*19)

Warning for symfony4

When used with env parameters, the swiftmailer bundle automatically generates the transport by using a factory. To avoid this workflow, you shall not use env parameters to configure your swiftmailer installation., (*20)

The Versions

02/07 2018

dev-master

9999999-dev

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

MIT Apache-2.0

The Requires

 

The Development Requires

by Nicolas Thal

02/07 2018

v0.5.4

0.5.4.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nicolas Thal

19/06 2018

v0.5.3

0.5.3.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nicolas Thal

19/06 2018

v0.5.2

0.5.2.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nicolas Thal

19/06 2018

v0.5.1

0.5.1.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nicolas Thal

19/06 2018

v0.5.0

0.5.0.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

27/03 2018

dev-do_not_send_multipart_header

dev-do_not_send_multipart_header

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

27/03 2018

v0.4.0

0.4.0.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

26/05 2017

v0.3.0

0.3.0.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

28/02 2017

v0.2.0

0.2.0.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

05/01 2017

v0.1.0

0.1.0.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

10/06 2016

v0.0.1

0.0.1.0

This bundle provides a transport for swiftmailer to send mail through mailjet

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires