Skip to content

a2design-inc/sendgrid-webapi-cakephp-plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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('recipient@domain.com');
$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('recipient1@domain.com' => 'Recipient1', 'recipient2@domain.com' => '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 git@github.com: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' => 'you-email@sendgrid.com',
            'fromName' => 'You name',
            'timeout' => 30,
            'username' => 'username@sendgrid.com', //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.