Skip to content

Latest commit

 

History

History
89 lines (64 loc) · 2.17 KB

README.md

File metadata and controls

89 lines (64 loc) · 2.17 KB

CakePHP plugin for SendGrid WebAPI

Usage

This plugin uses CakeEmail class, and works almost the same.

Basic example:

App::uses('CakeEmail', 'Network/Email');
$email = new CakeEmail('sendGrid');

$email->to('[email protected]');
$email->subject('Test email via SendGrid');
$email->send('Message');

More advanced example:

App::uses('CakeEmail', 'Network/Email');
$email = new CakeEmail('sendGrid');

$email->template('default', 'default');
$email->emailFormat('html');
$email->viewVars(array('name' => 'Your Name'));
$email->to(array('[email protected]' => 'Recipient1', '[email protected]' => 'Recipient2'));
$email->subject('Test email via SendGrid');
$email->addHeaders(array('X-Tag' => 'my tag'));
$email->attachments(array(
    'cake.icon.png' => array(
        'file' => WWW_ROOT . 'img' . DS . 'cake.icon.png'
	)
));

$email->send();

The syntax of all parameters is the same as the default CakeEmail class:

Installation

You can clone the plugin into your project:

cd path/to/app/Plugin
git clone [email protected]:a2design-company/sendgrid-webapi-cakephp-plugin.git Sendgrid

Bootstrap the plugin in app/Config/bootstrap.php:

CakePlugin::load('Sendgrid');

Configuration

Create the file app/Config/email.php with the class EmailConfig.

<?php
class EmailConfig {
	public $sendGrid = array(
            'transport' => 'Sendgrid.Sendgrid',
            'from' => '[email protected]',
            'fromName' => 'You name',
            'timeout' => 30,
            'username' => '[email protected]', //SendGrid username
            'password' => 'password', //SendGrid password
            'client' => null,
            'log' => false,
            'emailFormat' => 'both',
            'category' => 'transaction', //default SendGrid category for emails
            'count' => 200, //count of email to send in one API call, max 500, default 500
        );
}

Requirements

CakePHP 2.0+

License

Licensed under The MIT License

Developed by A2 Design Inc.