erenkucukersoftware / php-ses
An Amazon SES api for PHP. Support signature version 4
7.0.0
2021-05-06 06:43 UTC
Requires
- php: ^7.2
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^8.0
This package is not auto-updated.
Last update: 2025-03-08 02:59:58 UTC
README
php-ses is a PHP library for Amazon's Simple Email Service's REST API Amazon SES
Installation
Install via Composer
composer require okamos/php-ses
Getting started
To get started you need to require ses.php
<php? require_once('vendor/autoload.php');
This library need your AWS access key id and aws secret access key.
$ses = new SimpleEmailService( 'AKI...', // your AWS access key id 'your_secret...', // your AWS secret access key 'us-west-2' // AWS region, default is us-east-1 ); // if you can't use verification of SSL certificate $ses = new SimpleEmailService( 'AKI...', // your AWS access key id 'your_secret...', // your AWS secret access key 'us-west-2' // AWS region, default is us-east-1 ); // method name's first character is must be lower case $identities = $ses->listIdentities(); // string[]
Version Guidance
Version | PHP Version |
---|---|
1.x | >= 5.6, >= 7.0 |
7.x | >= 7.2 |
Available API
- ListIdentities
- VerifyEmailIdentity
- DeleteIdentity
- SendEmail
- GetSendQuota
- GetSendStatistics
- GetIdentityVerificationAttributes
Usage
Listing identities.
// 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.
$ses->verifyEmailIdentity('your-email@example.com'); // return string(RequestId)
Delete an identity.
$ses->deleteIdentity('your-email@example.com'); // return string(RequestId)
Get verification token and status.
$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.
$sendQuota = $ses->getSendQuota(); $sendQuota['Max24HourSend'] // string $sendQuota['SentLast24Hours'] // string $sendQuota['MaxSendRate'] // string
Get your sending statistics.
$data = $ses->getSendStatistics(); $data['Complaints'] // string $data['Rejects'] // string $data['Bounces'] // string $data['DeliveryAttempts'] // string $data['Timestamp'] // string
Send Email Basic Usage.
$envelope = new SimpleEmailServiceEnvelope( 'your-email@example.com', 'Subject', 'Message', ); $envelope->addTo('to@example.com'); $requestId = $ses->sendEmail($envelope);
Send Email with HTML.
$envelope = new SimpleEmailServiceEnvelope( 'your-email@example.com', 'Subject', 'Message', '<p>Message</p><img src="http://example.com/any/image" alt="image"' ); $envelope->addTo('to@example.com'); $requestId = $ses->sendEmail($envelope);
Send Email to multiple distinations.
$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).
$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);