Mailgun integration for SilverStripe emails
Mailer class to send emails via the Mailgun API.
$ composer require kinglozzer/silverstripe-mailgunner:^3.0 php-http/curl-client guzzlehttp/psr7
Note that the Mailgun PHP library uses HTTPlug, so you can switch out the HTTP adapter for another one if you desire. More info is available here.
Set your API key and domain name via the
--- After: 'silverstripe-mailgun' --- Kinglozzer\SilverStripeMailgunner\Mailer: api_domain: 'samples.mailgun.org' api_key: 'key-3ax6xnjp29jd6fds4gc373sgvjxteol0' --- After: 'silverstripe-mailgun' Only: environment: 'dev' --- # Get your own Postbin ID by visiting http://bin.mailgun.net Kinglozzer\SilverStripeMailgunner\Mailer: api_endpoint: 'http://bin.mailgun.net/62e69d41' debug: true
Note: make sure that you always provide a âfromâ address, and/or have set the
Email.admin_email configuration value.
You can send an email to a group of recipients via a single API call (without using Cc or Bcc) using Mailgunâs batch sending functionality. This tells Mailgun to send each recipient an email with only their name in the
to field. Not using this functionality would result in all recipientsâ email addresses being displayed in the
To send a batch email, simply pass all the email addresses you want to send to as the
to field, and add an
$email = Email::create( $from = '[email protected]', $to = '[email protected], [email protected]', $subject = 'My awesome email', $content = 'Hello world!' ); $email->addCustomHeader('X-Mailgunner-Batch-Message', true); $email->send();
This module has only been tested with SilverStripe 3.2+, but should work with previous versions. In older versions of SilverStripe, you will need to specify the
Mailer implementation to use in
<?php Email::set_mailer(new Kinglozzer\SilverStripeMailgunner\Mailer);
Module rating system helping users find modules that are well supported. For more on how the rating system works visit Module standards
Score not correct? Let us know there is a problem