iamserjo/sendgrid-php
Composer 安装命令:
composer require iamserjo/sendgrid-php
包简介
This library allows you to quickly and easily send emails through Twilio SendGrid using PHP.
README 文档
README
NEW:
- Subscribe to email notifications for releases and breaking changes.
- Send SMS messages with Twilio.
This library allows you to quickly and easily use the Twilio SendGrid Web API v3 via PHP.
Version 7.X.X of this library provides full support for all Twilio SendGrid Web API v3 endpoints, including the new v3 /mail/send.
We want this library to be community driven and Twilio SendGrid led. Your help is needed to realize this goal. To help make sure we are building the right things in the right order, we ask that you create issues and pull requests or simply upvote or comment on existing issues or pull requests.
Please browse the rest of this README for further details.
We appreciate your continued support, thank you!
Table of Contents
- Installation
- Quick Start
- Use Cases
- Usage
- Announcements
- Roadmap
- How to Contribute
- Troubleshooting
- About
- License
Installation
Prerequisites
- PHP version 5.6, 7.0, 7.1, 7.2, 7.3, or 7.4
- The Twilio SendGrid service, starting at the free level to send up to 40,000 emails for the first 30 days, then send 100 emails/day free forever or check out our pricing.
- For SMS messages, you will need a free Twilio account.
Setup Environment Variables
Update the development environment with your SENDGRID_API_KEY, for example:
- Copy the sample env file to a new file named
.env
cp .env.sample .env
- Edit the
.envfile to include yourSENDGRID_API_KEY - Source the
.envfile
source ./.env
Install Package
Add Twilio SendGrid to your composer.json file. If you are not using Composer, we highly recommend it. It's an excellent way to manage dependencies in your PHP application.
{
"require": {
"sendgrid/sendgrid": "~7"
}
}
Alternative: Install package from zip
If you are not using Composer, simply download and install the latest packaged release of the library as a zip.
⬇︎ Download Packaged Library ⬇︎
Previous versions of the library can be found in the version index or downloaded directly from GitHub.
Dependencies
- The Twilio SendGrid Service, starting at the free level
- The dependency free php-http-client
Quick Start
Hello Email
The following is the minimum needed code to send an email. You may find more examples in our USE_CASES file:
<?php require 'vendor/autoload.php'; // If you're using Composer (recommended) // Comment out the above line if not using Composer // require("<PATH TO>/sendgrid-php.php"); // If not using Composer, uncomment the above line and // download sendgrid-php.zip from the latest release here, // replacing <PATH TO> with the path to the sendgrid-php.php file, // which is included in the download: // https://github.com/sendgrid/sendgrid-php/releases $email = new \SendGrid\Mail\Mail(); $email->setFrom("test@example.com", "Example User"); $email->setSubject("Sending with Twilio SendGrid is Fun"); $email->addTo("test@example.com", "Example User"); $email->addContent("text/plain", "and easy to do anywhere, even with PHP"); $email->addContent( "text/html", "<strong>and easy to do anywhere, even with PHP</strong>" ); $sendgrid = new \SendGrid(getenv('SENDGRID_API_KEY')); try { $response = $sendgrid->send($email); print $response->statusCode() . "\n"; print_r($response->headers()); print $response->body() . "\n"; } catch (Exception $e) { echo 'Caught exception: '. $e->getMessage() ."\n"; }
The SendGrid\Mail constructor creates a personalization object for you. Here is an example of how to add to it.
General v3 Web API Usage (With Fluent Interface)
<?php require 'vendor/autoload.php'; // If you're using Composer (recommended) // Comment out the above line if not using Composer // Comment out the above line if not using Composer // require("<PATH TO>/sendgrid-php.php"); // If not using Composer, uncomment the above line and // download sendgrid-php.zip from the latest release here, // replacing <PATH TO> with the path to the sendgrid-php.php file, // which is included in the download: // https://github.com/sendgrid/sendgrid-php/releases $apiKey = getenv('SENDGRID_API_KEY'); $sg = new \SendGrid($apiKey); try { $response = $sg->client->suppression()->bounces()->get(); print $response->statusCode() . "\n"; print_r($response->headers()); print $response->body() . "\n"; } catch (Exception $e) { echo 'Caught exception: '. $e->getMessage(). "\n"; }
General v3 Web API Usage (Without Fluent Interface)
<?php require 'vendor/autoload.php'; // If you're using Composer (recommended) // Comment out the above line if not using Composer // Comment out the above line if not using Composer // require("<PATH TO>/sendgrid-php.php"); // If not using Composer, uncomment the above line and // download sendgrid-php.zip from the latest release here, // replacing <PATH TO> with the path to the sendgrid-php.php file, // which is included in the download: // https://github.com/sendgrid/sendgrid-php/releases $apiKey = getenv('SENDGRID_API_KEY'); $sg = new \SendGrid($apiKey); try { $response = $sg->client->_("suppression/bounces")->get(); print $response->statusCode() . "\n"; print_r($response->headers()); print $response->body() . "\n"; } catch (Exception $e) { echo 'Caught exception: '. $e->getMessage(). "\n"; }
Use Cases
Examples of common API use cases, such as how to send an email with a transactional template.
Usage
Announcements
v7 has been released! Please see the release notes for details.
All updates to this library are documented in our CHANGELOG and releases. You may also subscribe to email release notifications for releases and breaking changes.
Roadmap
If you are interested in the future direction of this project, please take a look at our open issues and pull requests. We would love to hear your feedback.
How to Contribute
We encourage contribution to our libraries (you might even score some nifty swag), please see our CONTRIBUTING guide for details.
Quick links:
- Feature Request
- Bug Reports
- Sign the CLA to Create a Pull Request
- Improvements to the Codebase
- Review Pull Requests
Troubleshooting
Please see our troubleshooting guide for common library issues.
About
sendgrid-php is maintained and funded by Twilio SendGrid, Inc. The names and logos for sendgrid-php are trademarks of Twilio SendGrid, Inc.
If you need help installing or using the library, please check the Twilio SendGrid Support Help Center.
If you've instead found a bug in the library or would like new features added, go ahead and open issues or pull requests against this repo!
License
iamserjo/sendgrid-php 适用场景与选型建议
iamserjo/sendgrid-php 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 11 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 05 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「email」 「send」 「grid」 「sendgrid」 「twilio sendgrid」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 iamserjo/sendgrid-php 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 iamserjo/sendgrid-php 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 iamserjo/sendgrid-php 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
DataTables is a plug-in for the jQuery Javascript library. It is a highly flexible tool, based upon the foundations of progressive enhancement, which will add advanced interaction controls to any HTML table.
Plug-ins for DataTables
TYPO3 extension providing content elements powered by gridelements and bootstrap. Available elements: container, columns, tabs, accordion, tile unit and card.
Extensible library for building notifications and sending them via different delivery channels.
Email+ extends Kirby's email capabilities by adding support for multiple email services using the same Kirby email API.
统计信息
- 总下载量: 11
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-05-05
