Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

7 Commits

Repository files navigation

emailalias-php

Official PHP client for the EmailAlias.io REST API.

API access is a Premium feature. Generate a key from Settings → API Keys in the web dashboard.

Install

composer require emailalias/emailalias

Requires PHP 8.1+ and the curl + json extensions.

Quick start

<?phprequire'vendor/autoload.php';
useEmailAlias\Client;
$client = newClient(getenv('EMAILALIAS_API_KEY'));
// Create an alias$alias = $client->createAlias([
'alias_type' => 'random',
'label' => 'Shopping',
]);
echo$alias['alias_email'] . PHP_EOL; // e.g. "x7k9m@email91.com"// List aliasesforeach ($client->listAliases() as$a) {
echo$a['alias_email'] . '' . $a['destination_email'] . PHP_EOL;
}
// Forward to a verified additional destination$workAlias = $client->createAlias([
'alias_type' => 'custom',
'custom_code' => 'work-signup',
'label' => 'Work',
'destination_email' => 'work@mycompany.com', // must be verified on your account
]);
// Send email from an alias$client->sendEmail(
aliasId: $alias['id'],
toEmail: 'recipient@example.com',
subject: 'Hello',
body: 'Sent from my alias.'
);
// Disable an alias$client->updateAlias($alias['id'], ['active' => false]);

Error handling

useEmailAlias\Client;
useEmailAlias\AuthenticationException;
useEmailAlias\RateLimitException;
useEmailAlias\EmailAliasException;
try {
$client->listAliases();
} catch (AuthenticationException$e) {
// Invalid key, or account no longer Premium
} catch (RateLimitException$e) {
// Respect X-RateLimit-Reset and retry
} catch (EmailAliasException$e) {
error_log($e->status . ': ' . $e->getMessage());
}

Configuration

$client = newClient(
apiKey: 'ea_live_xxx',
baseUrl: 'https://emailalias.io', // override for staging / self-host
timeoutSeconds: 30
);

Available methods

MethodEndpoint
listAliases()GET /api/aliases
createAlias($options)POST /api/aliases
updateAlias($id, $options)PATCH /api/aliases/{id}
updateAliasDisplayName($id, $displayName)PATCH /api/aliases/{id}/display-name
deleteAlias($id)DELETE /api/aliases/{id}
listAvailableDomains()GET /api/aliases/domains
listDestinations()GET /api/destinations
addDestination($email)POST /api/destinations
resendDestinationVerification($id)POST /api/destinations/{id}/resend
deleteDestination($id)DELETE /api/destinations/{id}
sendEmail($aliasId, $toEmail, $subject, $body, $htmlBody=null)POST /api/send-email
listDomains()GET /api/domains
addDomain($name)POST /api/domains
verifyDomain($id)POST /api/domains/{id}/verify
deleteDomain($id)DELETE /api/domains/{id}
getDashboardStats()GET /api/analytics/dashboard
listLogs($page, $perPage)GET /api/analytics/logs
listExposureEvents($page, $perPage)GET /api/analytics/exposure

Full API reference: https://emailalias.io/documentation

License

MIT

About

Official PHP SDK for EmailAlias.io — create email aliases, manage forwarding, and monitor leaks.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages