Send emails though mailgun as part of your build. Created to test our email template builds.
We have a build pipeline that compiles jade and sass into inline-styled HTML pages for email msgs.
The final step is to shoot out tests of each template to make sure nothing looks wonky.
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-mailgun --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-mailgun');
This plugin was designed to work with Grunt 0.4.x. If you're still using grunt v0.3.x it's strongly recommended that you upgrade
src:
is one or more files to be used as an email body. A new email will be sent for each file.
mailgun: {
marketingTemplates: {
options: {
key: 'key-yourmailgunapikey',
sender: 'noreply@example.com',
recipient: 'recipient@example.com',
subject: 'This is a test email',
preventThreading: true
},
src: ['templates/marketing/*.html']
}
}
Run this task with the grunt mailgun
command.
Task targets, files and options may be specified according to the grunt Configuring tasks guide.
Required:
- key (string) - Your Mailgun API key
- sender (string) - The 'from' name and address. Acceptable domains may be restricted by your mailgun account settings
- recipient (string | array) - One or more email addresses to send your msg to. Multiple addresses should be entered as an array.
Optional:
- subject (string) - The subject of your email. Defaults to 'grunt-mailgun'
- body (string) - The body content. If no files are specified in
src:
, the mailgun task will send a plaintext email usingbody
for the msg content. Defaults to 'grunt-mailgun'. - preventThreading (boolean) - Attempt to suppress conversation threading behavior in email clients by varying the subject text and the In-Reply-To header.