/email

CakePHP 3 emails just got better!

Primary LanguagePHPMIT LicenseMIT

Email

Build Status Total Downloads License

Makes CakePHP 3's Email even better by adding:

  • Default email layout with basic styling (safe for emails)
  • EmailHelper which extends HtmlHelper to automatically format paragraphs, links, etc.
  • Built-in support/configuration for major providers (Mailchimp, Sendgrid, Mandrill, etc.) - coming soon.
  • Admin email preview - coming soon.

Install

Using Composer:

composer require gourmet/email:~3.0

You then need to load the plugin. In boostrap.php, something like:

\Cake\Core\Plugin::load('Gourmet/Email');

Usage

Change your default email configuration (or create a new one) in config/app.php:

'Email' => [
	'default' => [
		'transport' => 'default',
		'from' => 'you@localhost',
		'layout' => 'Gourmet/Email.default',
		'helpers' => ['Html', 'Gourmet/Email.Email'],
		'emailFormat' => 'both',
	]
]

In your email views, you can now use the Gourmet/Email.Email helper:

// app/Template/Email/html/welcome.ctp
Welcome <?= $user['username'] ?>

Please confirm your account by clicking on the link below:

<?= $this->Email->link('Confirm account', '/') ?>

If for any reason, you are unable to click the link above, copy/paste the following to your browser's address bar:

<?= \Cake\Routing\Router::url('/') ?>

Thank you for choosing us,

Company name

<?= $this->Email->image('logo.jpg') ?>

For the text version, you only need to symlink the same template. We'll symlink all text templates to html:

$ ln -s html app/Template/Email/text

It's finally ready to send an email:

$email = new Email();
$email->to('john@doe.com');
$email->template('welcome');
$email->viewVars(['user' => ['username' => 'johndoe']]);
$email->send();

Patches & Features

  • Fork
  • Mod, fix
  • Test - this is important, so it's not unintentionally broken
  • Commit - do not mess with license, todo, version, etc. (if you do change any, bump them into commits of their own that I can ignore when I pull)
  • Pull request - bonus point for topic branches

Bugs & Feedback

http://github.com/gourmet/emails/issues

License

Copyright (c) 2014, Jad Bitar and licensed under The MIT License.