dalysie/mailhuset

Official PHP client for the Mailhuset transactional email API.

Maintainers

Package info

github.com/Dalysie-ceo/mailhuset-php

Homepage

pkg:composer/dalysie/mailhuset

Transparency log

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.2.0 2026-08-25 19:44 UTC

This package is not auto-updated.

Last update: 2026-08-26 19:02:07 UTC


README

Official PHP client for the Mailhuset transactional email API. Requires PHP 8.1+ with the curl and json extensions. No runtime dependencies.

Install

composer require dalysie/mailhuset

Usage

<?php
require 'vendor/autoload.php';

$mh = new \Mailhuset\Mailhuset('mh_live_…');

$result = $mh->emails->send([
    'from'    => 'you@yourdomain.com',
    'to'      => 'user@example.com',
    'subject' => 'Verify your email',
    'html'    => '<p>Welcome</p>',
]);

echo $result['id'], ' ', $result['status'], PHP_EOL;

to, cc, bcc, and replyTo accept a single address or a list. Optional fields (text, headers, tags, stream, templateAlias, templateModel, attachments, sendAt, idempotencyKey) may be omitted.

Resources

  • $mh->emails->send(), ->batch(), ->get(), ->list()
  • $mh->suppressions->list(), ->add(), ->remove()
  • $mh->domains->list(), ->create(), ->get(), ->verify(), ->remove()
  • $mh->templates->list(), ->create(), ->get(), ->update(), ->remove()

Errors

A non-2xx response throws \Mailhuset\MailhusetException with $status and an optional $errorCode:

try {
    $mh->emails->send([...]);
} catch (\Mailhuset\MailhusetException $e) {
    error_log("mailhuset {$e->status}: {$e->getMessage()}");
}

Options

$mh = new \Mailhuset\Mailhuset('mh_live_…', [
    'baseUrl' => 'https://api.mailhuset.com/v1',
]);