@matroskeen
DrupalCafé Lutsk, 15.03.2018
@matroskeen
DrupalCafé Lutsk, 15.03.2018
1. Mail system in Drupal 8
2. Mailgun
3. Mailgun + Drupal
4. Some best practices
@matroskeen
DrupalCafé Lutsk, 15.03.2018
Mail system in D8 core
MailManager
(Plugin Manager)
Plugins
@matroskeen
DrupalCafé Lutsk, 15.03.2018
$mailManager = \Drupal::service('plugin.manager.mail');
$result = $mailManager->mail('my_module', 'drupal_cafe_example', 'someone@gmail.com', 'en', [], NULL, TRUE);/**
* Implements hook_mail().
*/
function my_module_mail($key, &$message, $params) {
switch ($key) {
case 'drupal_cafe_example':
$message['from'] = \Drupal::config('system.site')->get('mail');
$message['subject'] = t('Greetings from Drupal Café Lutsk #10!');
$message['body'][] = t('Hello everyone!');
break;
}
}Let's send it!
@matroskeen
DrupalCafé Lutsk, 15.03.2018
Mail System module
@matroskeen
DrupalCafé Lutsk, 15.03.2018
The Email Service For Developers
@matroskeen
DrupalCafé Lutsk, 15.03.2018
Killer features
@matroskeen
DrupalCafé Lutsk, 15.03.2018
@matroskeen
DrupalCafé Lutsk, 15.03.2018
@matroskeen
DrupalCafé Lutsk, 15.03.2018
Other features
@matroskeen
DrupalCafé Lutsk, 15.03.2018
Prices
10,000 emails / month - free
100,000 emails / month - $79
500,000 emails / month - $325
@matroskeen
DrupalCafé Lutsk, 15.03.2018
+
@matroskeen
DrupalCafé Lutsk, 15.03.2018
How To
1. Get mailgun account*
2. Add new domain and DNS records
3. Enable Mailgun module*
6. Just send an email
5. Set your API key*
4. Set Mailgun as default Mail System*
@matroskeen
DrupalCafé Lutsk, 15.03.2018
@matroskeen
DrupalCafé Lutsk, 15.03.2018
Some best practices
1. Use "Site name <site email>" as sender name
2. Blacklists
3. Unsubscribe links
4. Email Content
5. Tagging
@matroskeen
DrupalCafé Lutsk, 15.03.2018