All Projects → okamos → php-ses

okamos / php-ses

Licence: MIT license
An Amazon SES api for php. Support signature version 4.

Programming Languages

PHP
23972 projects - #3 most used programming language

Labels

Projects that are alternatives of or similar to php-ses

mailbox
📨 簡易電子報發送系統,使用 #Golang 實作,send campaign mail with open, click tracker.
Stars: ✭ 26 (+23.81%)
Mutual labels:  ses
aws-lambda-node-mailer
NodeJs code for Firing Email via AWS-Lambda and SES
Stars: ✭ 24 (+14.29%)
Mutual labels:  ses
django-email-gateway
A django package which act as a gateway to send and receive email with amazon SES.
Stars: ✭ 25 (+19.05%)
Mutual labels:  ses
sesdashboard
Analytics and activity tracking dashboard for AWS Simple Email Service
Stars: ✭ 36 (+71.43%)
Mutual labels:  ses
terraform-aws-ses-dashboard
This module will create a Deliverability Dashboard that shows information about SES Email bounces and complaints.
Stars: ✭ 20 (-4.76%)
Mutual labels:  ses
gozeit
GoZeit
Stars: ✭ 19 (-9.52%)
Mutual labels:  ses
go-mail
📨 Simple email interface across multiple service providers (ses, postmark, mandrill, smtp)
Stars: ✭ 39 (+85.71%)
Mutual labels:  ses
thunder
REST API application that manages user databases
Stars: ✭ 22 (+4.76%)
Mutual labels:  ses
vacomall
☀️☀️ 基于 dubbo 实现的分布式电商平台。
Stars: ✭ 42 (+100%)
Mutual labels:  ses
aws-cfn-ses-domain
AWS CloudFormation resources for Amazon SES domain and email identities
Stars: ✭ 45 (+114.29%)
Mutual labels:  ses
go-localstack
Go Wrapper for using localstack
Stars: ✭ 56 (+166.67%)
Mutual labels:  ses

Amazon Simple Email Service for PHP

license
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);
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].