Skip to content
This repository has been archived by the owner. It is now read-only.
[UNMAINTAINED] Symfony2 postmark api bundle
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
DependencyInjection
Postmark
Resources
Tests
.gitignore
.travis.yml
MZPostmarkBundle.php
README.md
composer.json
phpunit.xml.dist

README.md

PostmarkBundle

Symfony2 bundle for Postmark API Build Status

Setup

Using Composer Add PostmarkBundle in your composer.json:

{
    "require": {
        "mlpz/postmark-bundle": "*"
    }
}
$ php composer.phar update mlpz/postmark-bundle

Using Submodule

git submodule add https://github.com/miguel250/PostmarkBundle.git vendor/bundles/MZ/PostmarkBundle
git submodule add https://github.com/kriswallsmith/Buzz.git  vendor/buzz

Add the MZ namespace to autoloader You can skip this when using Composer

<?php
   // app/autoload.php
   $loader->registerNamespaces(array(
    // ...
    'MZ'               => __DIR__.'/../vendor/bundles',
    'Buzz'             => __DIR__.'/../vendor/buzz/lib',
  ));

Add PostmarkBundle to your application kernel

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = array(
        // ...
        new MZ\PostmarkBundle\MZPostmarkBundle(),
    );
}

Enable Postmark in config.yml

mz_postmark:
    api_key: API KEY
    from_email: info@my-app.com
    from_name: My App, Inc
    use_ssl: true
    timeout: 5

Usage

Message Service

<?php
$message  = $this->get('postmark.message');
$message->addTo('test@gmail.com', 'Test Test');
$message->setSubject('subject');
$message->setHTMLMessage('<b>email body</b>');
$message->addAttachment(new Symfony\Component\HttpFoundation\File\File(__FILE__));
$response = $message->send();

$message->addTo('test2@gmail.com', 'Test2 Test');
$message->setSubject('subject2');
$message->setHTMLMessage('<b>email body</b>');
$message->addAttachment(new Symfony\Component\HttpFoundation\File\File(__FILE__), 'usethisfilename.php', 'text/plain');
$response = $message->send();
?>

Sending in batch

<?php
$message  = $this->get('postmark.message');
$message->addTo('test@gmail.com', 'Test Test');
$message->setSubject('subject');
$message->setHTMLMessage('<b>email body</b>');
$message->queue(); // Queue the message instead of sending it directly

$message->addTo('test2@gmail.com', 'Test2 Test');
$message->setSubject('subject2');
$message->setHTMLMessage('<b>email body</b>');
$responses = $message->send(); // Send both messages, note that you'll get an array of json responses instead of just the json response
?>
You can’t perform that action at this time.