Skip to content

oniryx/postmark-inbound-php

 
 

Repository files navigation

POSTMARK INBOUND HOOK

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

Build Status

Setup

With composer :

{
    "require": {
        "jjaffeux/postmark-inbound-php": ">=2.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->ReplyTo();
$inbound->MailboxHash();
$inbound->Tag();
$inbound->MessageID();
$inbound->TextBody();
$inbound->HtmlBody();

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 and Undisclosed Recipients

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

foreach($inbound->UndisclosedRecipients() as $undisclosedRecipient) {
	$undisclosedRecipient->Name;
	$undisclosedRecipient->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

About

Simple API wrapper for Postmark Inbound Hook

Resources

License

Stars

Watchers

Forks

Packages

No packages published