mlpz / postmark-bundle
postmark bundle
Installs: 29 457
Dependents: 1
Suggesters: 0
Security: 0
Stars: 14
Watchers: 3
Forks: 12
Open Issues: 1
Type:symfony-bundle
Requires
- php: >=5.3.2
- kriswallsmith/buzz: >=0.9
- symfony/framework-bundle: 2.*
This package is not auto-updated.
Last update: 2020-01-24 15:00:10 UTC
README
Symfony2 bundle for Postmark API
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 ?>