janiskelemen/postmark-inbound-php

Postmark Inbound PHP Wrapper

3.0.8 2023-02-06 13:48 UTC

This package is auto-updated.

Last update: 2024-11-06 17:34:15 UTC


README

This is a simple API wrapper for Postmark Inbound Hook (http://developer.postmarkapp.com/developer-inbound-webhook.html)

Build Status

Setup

With composer :

{
    "require": {
        "janiskelemen/postmark-inbound-php": ">=3.0"
    }
}
$inbound = new \Postmark\Inbound(file_get_contents('php://input'));

Without composer :

require_once '../lib/Postmark/Autoloader.php';
\Postmark\Autoloader::register();

// this file should be the target of the callback you set in your postmark account
$inbound = new \Postmark\Inbound(file_get_contents('php://input'));

General Usage

$inbound->Subject();
$inbound->FromEmail();
$inbound->FromFull();
$inbound->FromName();
$inbound->Date();
$inbound->OriginalRecipient();
$inbound->ReplyTo();
$inbound->MailboxHash();
$inbound->Tag();
$inbound->MessageID();
$inbound->TextBody();
$inbound->HtmlBody();
$inbound->StrippedTextReply();

Headers

$inbound->Headers(); //default to spam status
$inbound->Headers('X-Spam-Status');
$inbound->Headers('X-Spam-Checker-Version');
$inbound->Headers('X-Spam-Score');
$inbound->Headers('X-Spam-Tests');
$inbound->Headers('Received-SPF');
$inbound->Headers('MIME-Version');
$inbound->Headers('Received-SPF'); // pass neutral fail
$inbound->Headers('Message-ID');

Recipients, Undisclosed (Cc) Recipients and Bcc Recipients

foreach($inbound->Recipients() as $recipient) {
	$recipient->Name;
	$recipient->Email;
}

foreach($inbound->UndisclosedRecipients() as $undisclosedRecipient) {
	$undisclosedRecipient->Name;
	$undisclosedRecipient->Email;
}
foreach($inbound->BccRecipients() as $bccRecipient) {
	$bccRecipient->Name;
	$bccRecipient->Email;
}

Attachments

foreach($inbound->Attachments() as $attachment) {
	$attachment->Name;
	$attachment->ContentType;
	$attachment->ContentLength;
	$attachment->Download('/'); //takes directory as first argument
}

$inbound->HasAttachments();

Raw

$inbound->Source; //array
$inbound->Json; //raw json

Bug tracker

Have a bug? Please create an issue here on GitHub!

Contributions

  • Fork
  • Write tests (phpunit in the directory to run the tests)
  • Write Code
  • Pull request

Thanks for your help.

Authors

Joffrey Jaffeux

Inspiration

Thx to Randy Schmidt for the original ruby wrapper

Other libraries

License

MIT License