NAME
Net::Postage::App - Perl extension for Postageapp.com API
SYNOPSIS
use Net::Postage::App;
my $postage = Net::Postage::App->new(api_key => 'YOUR_PostageApp_API_KEY_HERE');
## first - prepare your message
$postage->message(
from => 'your_name <your_email>',
subject => 'Hi This is a test message',
textmessage => 'Hi there this is a TEXT message test',
htmlmessage => '<b>Hi there this is an HTML message test</b>',
reply_to => 'no-reply@example.com',
headers => {
'x-mailer' => 'Postage-App.pm'
}
);
## second - add recipients
## You can add a single recipient
$postage->to('test@example.com');
## You can add an array of recipients at once
$postage->to(['test@example.com','test2@example2.com',...]);
## Or hash of recipients for variable replacement
$postage->to({
'test@example.com' => { first_name => 'Mahmoud', ... },
'test2@example2.com' => { first_name => 'fName', ... }
});
## Last, do the send
$postage->send();
## make sure the sending was suucessful
## otherwise send again later
if (!$postage->is_success){
print $postage->errorMessage . "\n";
} else {
print "Your message sent successfully";
}
DESCRIPTION
Perl interface to the Postageapp.com API
postageapp.com "From their website" Outsource the sending of your application generated email, so your app can do what it does best... be awesome!
METHODS
new()
my $postageapp = Net::Postage::App->new( api_key => 'YOUR API KEY' )
message()
Create a new message to be sebt later
$postageapp->message(
from => 'Joe <joe.something@domain.com>',
subject => '...',
textmessage => '...'
)
message method accepts the following arguments
- from => 'name <emailAddress>'
-
Required : your from name and email address
- subject => 'some text for subject'
-
Required : your message subject line
- textmessage => 'text version of your email'
-
Optional if htmlmessage available
- htmlmessage => 'html version of your message'
-
Optional if textmessage available, you can provide both fields
- reply_to => 'reply_to email address'
-
Optional : reply to email field
- attachments => ['/path/to/your/attachment.pdf']
-
arrayref of files you want to send as an attachment
- resend => 1
-
Optional : When sending a message, a unique hash will be created to prevent resending the same message again, set this to 1 if you want to send the same identical message to same recipients
- template => 'Template name'
-
Optional : name of the template you set at your postageapp dashboard if you set this then there is no need for other headers
- variables => { var1 => 'default text', .. }
-
Optional : hashref of default variables to be used when recipients info is missing
- headers => { 'x-sender' => '...' }
-
Optional : hashref of extra headers to include in your email
to()
Where to send your email
to
method accepts one of the following
- scalar
-
a single email address
$postageapp->to('email address');
- arrayref
-
an arrayref of multi recipients
$postageapp->to(['email1','email2','...']);
- hashref
-
hashref of multi recipients with customization fields
{ 'email1' => { 'name' => 'Joe', 'age' => 32, ... }, 'email2' => { 'name' => '', ... } }
to use these fields in your email you need to compose a text/html message in
message
method by wrapping a word in doubled curly braces like {{name}} and {{age}}
send
send your email
$postageapp->send()
is_success
returns true if the send process was successful
if ( $postageapp->is_success ) { }
errorMessage
returns error message if the send process failed
$postageapp->errorMessage()
EXPORT
None by default.
SEE ALSO
For more information about postageapp API please visit their documentation page http://postageapp.com/docs/api
AUTHOR
Mahmoud A Mehyar, <mamod.mehyar@gmail.com<gt>
COPYRIGHT AND LICENSE
Copyright (C) 2010-2013 by Mahmoud A. Mehyar
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.