diff options
Diffstat (limited to 'Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php')
-rw-r--r-- | Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php | 80 |
1 files changed, 51 insertions, 29 deletions
diff --git a/Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php b/Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php index 0bda1b5..08ee1d6 100644 --- a/Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php +++ b/Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php @@ -1,43 +1,42 @@ <?php /** - * This library allows you to quickly and easily send emails through SendGrid using PHP. - * - * @author Elmer Thomas <dx@sendgrid.com> - * @copyright 2017 SendGrid - * @license https://opensource.org/licenses/MIT The MIT License - * @version GIT: <git_id> - * @link http://packagist.org/packages/sendgrid/sendgrid - */ + * This library allows you to quickly and easily send emails through + * Twilio SendGrid using PHP. + * + * PHP Version - 5.6, 7.0, 7.1, 7.2 + * + * @package SendGrid\Tests + * @author Elmer Thomas <dx@sendgrid.com> + * @copyright 2018-19 Twilio SendGrid + * @license https://opensource.org/licenses/MIT The MIT License + * @version GIT: <git_id> + * @link http://packagist.org/packages/sendgrid/sendgrid + */ /** - * Interface to the SendGrid Web API - */ + * This class is the interface to the Twilio SendGrid Web API + * + * @package SendGrid\Mail + */ class SendGrid { - const VERSION = '6.0.0'; + const VERSION = '7.3.0'; - /** - * - * @var string - */ + // @var string protected $namespace = 'SendGrid'; - /** - * @var \SendGrid\Client - */ + // @var \SendGrid\Client public $client; - - /** - * @var string - */ + // @var string public $version = self::VERSION; /** - * Setup the HTTP Client - * - * @param string $apiKey your SendGrid API Key. - * @param array $options an array of options, currently only "host" and "curl" are implemented. - */ + * Setup the HTTP Client + * + * @param string $apiKey Your Twilio SendGrid API Key. + * @param array $options An array of options, currently only "host", "curl" and + * "impersonateSubuser" are implemented. + */ public function __construct($apiKey, $options = array()) { $headers = array( @@ -46,10 +45,33 @@ class SendGrid 'Accept: application/json' ); - $host = isset($options['host']) ? $options['host'] : 'https://api.sendgrid.com'; + $host = isset($options['host']) ? $options['host'] : + 'https://api.sendgrid.com'; + + if (!empty($options['impersonateSubuser'])) { + $headers[] = 'On-Behalf-Of: '. $options['impersonateSubuser']; + } $curlOptions = isset($options['curl']) ? $options['curl'] : null; - $this->client = new \SendGrid\Client($host, $headers, '/v3', null, $curlOptions); + $this->client = new \SendGrid\Client( + $host, + $headers, + '/v3', + null, + $curlOptions + ); + } + + /** + * Make an API request + * + * @param \SendGrid\Mail\Mail $email A Mail object, containing the request object + * + * @return \SendGrid\Response + */ + public function send(\SendGrid\Mail\Mail $email) + { + return $this->client->mail()->send()->post($email); } } |