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.
- Host: GitHub
- URL: https://github.com/okamos/php-ses
- Owner: okamos
- License: mit
- Created: 2016-12-01T06:58:33.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2023-04-19T19:37:04.000Z (about 3 years ago)
- Last Synced: 2025-11-17T15:17:17.036Z (7 months ago)
- Topics: aws, php, ses
- Language: PHP
- Size: 85.9 KB
- Stars: 23
- Watchers: 4
- Forks: 6
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Amazon Simple Email Service for PHP
[]()
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
addTo('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);
```