iyngaran / send-grid-transport
SendGrid Transport for Zend Framework 3 to send emails using SendGrid - https://sendgrid.com/.
Requires
- php: >=5.6
- sendgrid/sendgrid: ^7.0
- zendframework/zend-mail: ^2.8
- zendframework/zend-mvc: ^3.0.1
Requires (Dev)
- codacy/coverage: dev-master
- mockery/mockery: dev-master
- phpunit/phpunit: 4.4.*
This package is not auto-updated.
Last update: 2025-03-27 05:09:37 UTC
README
This module can be use as a transport to send transactional e-mail using SendGrid API in Zend Framework 2.
INSTALLING
composer require iyngaran/send-grid-transport
After install follow one of these steps:
-
Copy the contents file
vendor/iyngaran/send-grid-transport/mail.global.php.dist
and put it in yourconfig/autoload/mail.global.php
. -
If this file does not exists in your application, just copy the entire file and place into your
config/autoload
removing the .dist extension.
Then add your SendGrid API Key. To get your API Key, please visit
And also add the test email from-email address, name and to-email address, name.
// config/autoload/mail.global.php return [ 'mail' => [ 'sendgrid' => [ 'api_key' => 'YOUR_API_KEY', ] ], 'test-email' => [ 'from' => [ 'name' => 'Iyngaran Iyathurai', 'email' => 'test@iyngaran.info' ], 'to' => [ 'name' => 'Your name', 'email' => 'your email address' ] ] ];
After all, you must register SendGridTransport
module in your config/modules.config.php
.
// config/modules.config.php return [ 'Zend\ServiceManager\Di', .... 'Application', 'SendGridTransport' ];
TESTING
Go to this Url - /send-grid-email to send a test email.
USAGE
Example in a controller
namespace SendGridTransport\Controller; use Zend\Mvc\Controller\AbstractActionController; use SendGridTransport\Mail\Transport\SendGridTransport; class SendEmailController extends AbstractActionController { private $sendGridTransport; private $config; public function __construct(SendGridTransport $sendGridTransport, array $config) { $this->sendGridTransport = $sendGridTransport; $this->config = $config; } public function indexAction() { $message = new \SendGridTransport\Mail\Message(); $body = '<strong>Hello :),</strong><BR/> The SendGridTransport is working now :)'; $message->setBody($body); $message->setFrom( new \Zend\Mail\Address( $this->config['test-email']['from']['email'], $this->config['test-email']['from']['name'] ) ); $message->addTo( new \Zend\Mail\Address( $this->config['test-email']['to']['email'], $this->config['test-email']['to']['name'] ) ); $message->setSubject('Testing SendGridTransport - Iyngaran'); $message->setBodyText('Hello, the SendGridTransport is working now :)'); print('<pre>'); print_r($this->sendGridTransport->send($message)); print('<pre/>'); return []; } }
Is strongly recommended to use the already registered service.
CONTRIBUTING
You can contribute with this module suggesting improvements, making tests and reporting bugs. Use issues for that.
ERRORS
Report errors opening Issues.