Download the PHP package sprintcube/cakephp-sendgrid without Composer

On this page you can find all versions of the php package sprintcube/cakephp-sendgrid. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package cakephp-sendgrid

SendGrid Plugin for CakePHP

CI codecov Latest Stable Version Total Downloads

This plugin provides email delivery using SendGrid.

This branch is for use with CakePHP 5.0+. For CakePHP 4, please use cake-4.x branch.

Requirements

This plugin has the following requirements:

Installation

You can install this plugin into your CakePHP application using composer.

After installation, Load the plugin

Or, you can load the plugin using the shell command

Setup

Set your SendGrid Api key in EmailTransport settings in app.php

And create new delivery profile in Email settings.

Usage

You can now simply use the CakePHP Email to send an email via SendGrid.

That is it.

Advance Use

You can also use few more options to send email via SendGrid APIs. To do so, just call the appropriate methods before sending the email.

Custom Headers

You can pass your own headers. It must be prefixed with "X-". Use the default Email::setHeaders method like,

When sending request, X- will be removed from header name e.g. X-MyHeader will become MyHeader

Attachments

Set your attachments using Email::setAttachments method.

To send inline attachment, use contentId parameter while setting attachment.

Template

You can use the template created in SendGrid backend. Get the template id by either using their API or from the URL. Set the template id using setTemplate method.

Schedule

You can schedule the email to be sent in future date. You can set upto 72 hours in future as per SendGrid documentation. You need to pass a unix timestamp value.

Webhooks

You can receive status events from SendGrid. This allows you ensure that SendGrid was able to send the email recording bounces etc.

Webhook Config

You will require a Table in the database to record the emails sent. You can use the lorenzo/cakephp-email-queue plugin to queue the emails and in that case you would use the email_queue table. However you can create your own table/Model as long as it has at least three columns. They can be called anything but they must have the correct types.

When you send the email the deliver function will return an array with a 'messageId' element if it successfully connected to SendGrid. This needs to be recorded in the status_id field.

You need to map this table and these fields in you app_local.php config

You will need to login to your SendGrid Account and configure your domain and the events that you want to track

https://app.sendgrid.com/settings/mail_settings/webhook_settings

The return url needs to be set to

The CSRF protection middleware needs to allow posts to the webhooks controller in Application.php Remove the current CSRF protection middleware and replace it with the following. If you already have CSRF exceptions then add the Webhooks one

If the authentication plugin (https://book.cakephp.org/authentication/3/en/index.html) is used for authentication the webhook action should work OK. If you have a different authentication method then you will need to add an exception for the webhook action. /send-grid/webhooks/index

Webhook Signature Verification

SendGrid allows you to sign the webhook requests. This is a good idea in production to keep the webhook secure. You will need to enable this in your SendGrid account and then set secure to true and add your verification key to your app_local.php config file.

https://docs.sendgrid.com/for-developers/tracking-events/getting-started-event-webhook-security-features. Enable signed event webhook and follow the instructions to get the verification key.

Reporting Issues

If you have a problem with this plugin or any bug, please open an issue on GitHub.


All versions of cakephp-sendgrid with dependencies

PHP Build Version
Package Version
Requires php Version >=7.2
cakephp/cakephp Version ^4.0.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sprintcube/cakephp-sendgrid contains the following files

Loading the files please wait ....