php-ses
php-ses copied to clipboard
An Amazon SES api for php. Support signature version 4.
Amazon Simple Email Service for PHP
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.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.
// List all identities your domains.
$identities = $ses->ListIdentities('Domain');
// List all identities your email addresses.
$identities = $ses->ListIdentities('EmailAddress');
$identities[0]; // [email protected]
Verify Email.
$ses->verifyEmailIdentity('[email protected]'); // return string(RequestId)
Delete an identity.
$ses->deleteIdentity('[email protected]'); // return string(RequestId)
Get verification token and status.
$identities = [
'[email protected]',
'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(
'[email protected]',
'Subject',
'Message',
);
$envelope->addTo('[email protected]');
$requestId = $ses->sendEmail($envelope);
Send Email with HTML.
$envelope = new SimpleEmailServiceEnvelope(
'[email protected]',
'Subject',
'Message',
'<p>Message</p><img src="http://example.com/any/image" alt="image"'
);
$envelope->addTo('[email protected]');
$requestId = $ses->sendEmail($envelope);
Send Email to multiple distinations.
$envelope = new SimpleEmailServiceEnvelope(
'[email protected]',
'Subject',
'Message',
);
$envelope->addTo(['[email protected]', '[email protected]']);
$envelope->addCc('[email protected]');
$envelope->addBcc(['[email protected]'])
$requestId = $ses->sendEmail($envelope);
Send Email with attachment file(s).
$envelope = new SimpleEmailServiceEnvelope(
'[email protected]',
'Subject',
'Message',
);
$envelope->addTo('[email protected]');
$envelope->addAttachmentFromFile('filename.svg', '/Your/File/name.svg', 'image/svg');
$requestId = $ses->sendEmail($envelope);