summaryrefslogtreecommitdiff
path: root/Postman/Postman-Mail/sendgrid/vendor/sendgrid/sendgrid/lib/SendGrid.php
diff options
context:
space:
mode:
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.php80
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);
}
}