This is a simple API wrapper for Postmark Inbound Hook (http://developer.postmarkapp.com/developer-inbound.html)
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'));
$inbound->Subject();
$inbound->FromEmail();
$inbound->FromFull();
$inbound->FromName();
$inbound->Date();
$inbound->ReplyTo();
$inbound->MailboxHash();
$inbound->Tag();
$inbound->MessageID();
$inbound->TextBody();
$inbound->HtmlBody();
$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');
foreach($inbound->Recipients() as $recipient) {
$recipient->Name;
$recipient->Email;
}
foreach($inbound->UndisclosedRecipients() as $undisclosedRecipient) {
$undisclosedRecipient->Name;
$undisclosedRecipient->Email;
}
foreach($inbound->Attachments() as $attachment) {
$attachment->Name;
$attachment->ContentType;
$attachment->ContentLength;
$attachment->Download('/'); //takes directory as first argument
}
$inbound->HasAttachments();
$inbound->Source; //array
$inbound->Json; //raw json
Have a bug? Please create an issue here on GitHub!
- Fork
- Write tests (phpunit in the directory to run the tests)
- Write Code
- Pull request
Thanks for your help.
Joffrey Jaffeux
Thx to Randy Schmidt for the original ruby wrapper
- Ruby : https://github.com/r38y/postmark-mitt
- Python : https://github.com/jpadilla/postmark-inbound-python
- Node : https://gist.github.com/1647808
MIT License