An open API service indexing awesome lists of open source software.

https://github.com/okamos/php-ses

An Amazon SES api for php. Support signature version 4.
https://github.com/okamos/php-ses

aws php ses

Last synced: 5 months ago
JSON representation

An Amazon SES api for php. Support signature version 4.

Awesome Lists containing this project

README

          

# Amazon Simple Email Service for PHP
[![license](https://img.shields.io/github/license/okamos/php-ses.svg)]()
php-ses is a PHP library for Amazon's Simple Email Service's REST API [Amazon SES](https://aws.amazon.com/ses/)

## Installation
Install via [Composer](https://getcomposer.org/)

```bash
composer require okamos/php-ses
```

## Getting started
To get started you need to require ses.php

```php
listIdentities(); // string[]
```

## Version Guidance

|Version | PHP Version |
|--------|------------------|
|1.x | >= 5.6, >= 7.0 |
|7.0.0 | >= 7.2 |
|^7.3 | >= 7.3, >= 8.0 |
|^8.0 | >= 8.0 |

## Available API
* ListIdentities
* VerifyEmailIdentity
* DeleteIdentity
* SendEmail
* GetSendQuota
* GetSendStatistics
* GetIdentityVerificationAttributes

## Usage

Listing identities.

```php
// List all identities your domains.
$identities = $ses->ListIdentities('Domain');
// List all identities your email addresses.
$identities = $ses->ListIdentities('EmailAddress');
$identities[0]; // your@email.com
```

Verify Email.

```php
$ses->verifyEmailIdentity('your-email@example.com'); // return string(RequestId)
```

Delete an identity.

```php
$ses->deleteIdentity('your-email@example.com'); // return string(RequestId)
```

Get verification token and status.

```php
$identities = [
'your-email@example.com',
'your-domain.com'
];
$entries = $ses->getIdentityVerificationAttributes($identities);
$entries[0]['Email']; // string (email)
$entries[0]['Token']; // string(token)
$entries[1]['Status']; // string(Pending | Success | Failed | TemporaryFailure)
```

Get your AWS account's send quota.

```php
$sendQuota = $ses->getSendQuota();
$sendQuota['Max24HourSend'] // string
$sendQuota['SentLast24Hours'] // string
$sendQuota['MaxSendRate'] // string
```

Get your sending statistics.

```php
$data = $ses->getSendStatistics();
$data['Complaints'] // string
$data['Rejects'] // string
$data['Bounces'] // string
$data['DeliveryAttempts'] // string
$data['Timestamp'] // string
```

Send Email Basic Usage.

```php
$envelope = new SimpleEmailServiceEnvelope(
'your-email@example.com',
'Subject',
'Message',
);
$envelope->addTo('to@example.com');

$requestId = $ses->sendEmail($envelope);
```

Send Email with HTML.

```php
$envelope = new SimpleEmailServiceEnvelope(
'your-email@example.com',
'Subject',
'Message',
'

Message

imageaddTo('to@example.com');

$requestId = $ses->sendEmail($envelope);
```

Send Email to multiple distinations.

```php
$envelope = new SimpleEmailServiceEnvelope(
'your-email@example.com',
'Subject',
'Message',
);
$envelope->addTo(['to1@example.com', 'to2@example.com']);
$envelope->addCc('cc1@example.com');
$envelope->addBcc(['bcc1@example.com'])

$requestId = $ses->sendEmail($envelope);
```

Send Email with attachment file(s).

```php
$envelope = new SimpleEmailServiceEnvelope(
'your-email@example.com',
'Subject',
'Message',
);
$envelope->addTo('to@example.com');
$envelope->addAttachmentFromFile('filename.svg', '/Your/File/name.svg', 'image/svg');

$requestId = $ses->sendEmail($envelope);
```