sendpost/sendpost_php_sdk 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sendpost/sendpost_php_sdk

最新稳定版本:1.2.2

Composer 安装命令:

composer require sendpost/sendpost_php_sdk

包简介

Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time.

README 文档

README

Email API and SMTP relay to not just send and measure email sending, but also alert and optimise. We provide you with tools, expertise and support needed to reliably deliver emails to your customers inboxes on time, every time.

Installation & Usage

Requirements

PHP 7.4 and later. Should also work with PHP 8.0.

Composer

To install the bindings via Composer, add the following to composer.json:

{
  "require": {
    "sendpost/sendpost_php_sdk": "^1.0.0"
  }
}

Then run composer install

Manual Installation

Download the files and include autoload.php:

<?php
require_once('/path/to/sendpost/vendor/autoload.php');

Getting Started

Please follow the installation procedure and then run the following:

  require_once(__DIR__ . '/vendor/autoload.php');
  $client = new GuzzleHttp\Client();

  $apiInstance = new sendpost\api\EmailApi($client);

  $x_sub_account_api_key = 'your_api_key'; // string | Sub-Account API Key
  $email_message = new \sendpost\model\EmailMessage(); 
  $email_message->setSubject('Hello World');
  $email_message->setHtmlBody('<strong>it works!</strong>');
  $email_message->setIppool('PiedPiper');
  $from = new \sendpost\model\From();
  $from->setEmail('richard@piedpiper.com');

  $to = new \sendpost\model\To();
  $to->setEmail('gavin@hooli.com');
  $email_message->setTo(array($to));
  $email_message->setFrom($from);

  try {
      $result = $apiInstance->sendEmail($x_sub_account_api_key, $email_message);
      print_r($result);
  } catch (Exception $e) {
      echo 'Exception when calling EmailApi->sendEmail: ', $e->getMessage(), PHP_EOL;
  }

Example with cc, bcc and template:

  require_once(__DIR__ . '/vendor/autoload.php');
  $client = new GuzzleHttp\Client();

  $apiInstance = new sendpost\api\EmailApi($client);

  $x_sub_account_api_key = 'your_api_key'; // string | Sub-Account API Key
  $email_message = new \sendpost\model\EmailMessage(); 
  $email_message->setSubject('Hello World');
  $email_message->setHtmlBody('<strong>it works!</strong>');
  $email_message->setIppool('PiedPiper');
  $from = new \sendpost\model\From();
  $from->setEmail('richard@piedpiper.com');

  $cc = new \sendpost\model\CopyTo();
  $cc->setEmail('dinesh@bachmanity.com');
  $to->setCc(array($cc));
  $bcc = new \sendpost\model\CopyTo();
  $bcc->setEmail('jian@bachmanity.com');
  $to->setBcc(array($bcc));

  $email_message->setTemplate('Welcome Mail');

  $to = new \sendpost\model\To();
  $to->setEmail('gavin@hooli.com');
  $email_message->setTo(array($to));
  $email_message->setFrom($from);

  try {
      $result = $apiInstance->sendEmailWithTemplate($x_sub_account_api_key, $email_message);
      print_r($result);
  } catch (Exception $e) {
      echo 'Exception when calling EmailApi->sendEmailWithTemplate: ', $e->getMessage(), PHP_EOL;
  }

Suppressions

Create Suppressions

  require_once(__DIR__ . '/vendor/autoload.php');
  $client = new GuzzleHttp\Client();

  $apiInstance = new sendpost\api\SuppressionApi($client);

  $x_sub_account_api_key = 'your_api_key'; 

  $r_suppression = new \sendpost\model\RSuppression();
  $suppression_email = new \sendpost\model\SuppressionEmail();
  $suppression_email->setEmail('richard@piedpiper_fake.com');

  $r_suppression->setHardBounce(array($suppression_email));

  // fields are optional, but you have to send at least one of them.

  // $r_suppression->setManual(array($suppression_email));
  // $r_suppression->setSpamComplaint(array($suppression_email));
  // $r_suppression->setUnsubscribe(array($suppression_email));

  try {
      $result = $apiInstance->createSuppressions($x_sub_account_api_key, $r_suppression);
      echo json_encode($result);
  } catch (Exception $e) {
      echo 'Exception when calling SuppressionApi->createSuppressions: ', $e->getMessage(), PHP_EOL;
  }

Get Suppressions

  require_once(__DIR__ . '/vendor/autoload.php');
  $client = new GuzzleHttp\Client();

  $apiInstance = new sendpost\api\SuppressionApi($client);

  $x_sub_account_api_key = 'your_api_key'; 

  $offset = 0;
  $limit = 10;
  $search = null;
  $from = '2023-06-07';
  $to = '2023-08-02';

  try {
      $result = $apiInstance->getSuppressions($x_sub_account_api_key, $offset, $limit, $search, $from, $to);
      echo json_encode($result);
  } catch (Exception $e) {
      echo 'Exception when calling SuppressionApi->getSuppressions: ', $e->getMessage(), PHP_EOL;
  }

Delete Suppression

  require_once(__DIR__ . '/vendor/autoload.php');
  $client = new GuzzleHttp\Client();

  $apiInstance = new sendpost\api\SuppressionApi($client);

  $x_sub_account_api_key = 'your_api_key'; 

  $rd_suppression = new \sendpost\model\RDSuppression();
  $suppression_email = new \sendpost\model\SuppressionEmail();
  $suppression_email->setEmail('richard@piedpiper_fake.com');

  $rd_suppression->setSuppressions(array($suppression_email));

  try {
      $result = $apiInstance->deleteSuppression($x_sub_account_api_key, $rd_suppression);
      echo json_encode($result);
  } catch (Exception $e) {
      echo 'Exception when calling SuppressionApi->deleteSuppression: ', $e->getMessage(), PHP_EOL;
  }

Count Suppression

  require_once(__DIR__ . '/vendor/autoload.php');
  $client = new GuzzleHttp\Client();

  $apiInstance = new sendpost\api\SuppressionApi($client);

  $x_sub_account_api_key = 'your_api_key'; 

  $from = '2023-06-07';
  $to = '2023-08-02';

  try {
      $result = $apiInstance->count($x_sub_account_api_key, $from, $to);
      echo json_encode($result);
  } catch (Exception $e) {
      echo 'Exception when calling SuppressionApi->count: ', $e->getMessage(), PHP_EOL;
  }

API Endpoints

All URIs are relative to https://api.sendpost.io/api/v1

Class Method HTTP request Description
EmailApi sendEmail POST /subaccount/email/
EmailApi sendEmailWithTemplate POST /subaccount/email/template
SuppressionApi count GET /subaccount/suppression/count
SuppressionApi createSuppressions POST /subaccount/suppression/
SuppressionApi deleteSuppression DELETE /subaccount/suppression/
SuppressionApi getSuppressions GET /subaccount/suppression/

Models

Authorization

Endpoints do not require authorization.

Tests

To run the tests, use:

composer install
vendor/bin/phpunit

Author

dev@sendpost.io

统计信息

  • 总下载量: 17.02k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: unlicense
  • 更新时间: 2023-07-26