diff --git a/README.md b/README.md index 42a7923..4722413 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,10 @@ -## gulp-mail +# gulp-mail -   - -A [gulp](https://github.com/gulpjs/gulp) wrapper for [Nodemailer](https://nodemailer.com) used to quickly send emails from tasks and/or the command-line during development or testing. +> A [gulp](https://github.com/gulpjs/gulp) wrapper for [Nodemailer](https://nodemailer.com) used to quickly send emails from tasks and/or the command-line during development or testing. `gulp-mail` is based on [gulp-mailer](https://github.com/meerkats/gulp-mailer), which is not available on [npm](https://www.npmjs.com/). -### Installation +## Installation Installing via [npm](https://www.npmjs.org/package/gulp-mail): @@ -14,40 +12,41 @@ Installing via [npm](https://www.npmjs.org/package/gulp-mail): npm install --save-dev gulp-mail ``` -### Usage +## Usage + +### `mail(options)` -#### `mail(options)` -- options: `Object` +* options: `Object` -### Options +## Options -`gulp-mail` uses Nodemailer v0.7.1, which has been deprecated for some time. It is, however, simple and stable. Available options for `gulp-mail` are: +`gulp-mail` uses **Nodemailer v0.7.1**, which has been deprecated for some time. It is, however, simple and stable. Available options for `gulp-mail` are: -##### options.smtp -Type: `Object` -Contains required SMTP configuration values. (See the example below.) +* ### `options.smtp` + Type: `Object`\ + Contains required SMTP configuration values. (See the example below.) -##### options.to -Type: `String|Array` -A string or array containing one or more than one recipient address, respectively. +* ### `options.to` + Type: `String|Array`\ + A string or array containing one or more than one recipient address, respectively. -##### options.from -Type: `String` -The display name for the sender. +* ### `options.from` + Type: `String`\ + The display name for the sender. -##### options.subject -Type: `String` -The email subject line. If not provided, a default subject line is generated from the source filename as `[TEST] path.basename`. +* ### `options.subject` + Type: `String`\ + The email subject line. If not provided, a default subject line is generated from the source filename as `[TEST] path.basename`. -##### options.html -Type: `String` -The HTML body of the email. If not provided, the source file becomes the message body. +* ### `options.html` + Type: `String`\ + The HTML body of the email. If not provided, the source file becomes the message body. -##### options.text -Type: `String` -The plaintext body of the email. If not provided, Nodemailer generates this based on the source file. +* ### `options.text` + Type: `String`\ + The plaintext body of the email. If not provided, Nodemailer generates this based on the source file. -### Example +## Example Currently, `gulp-mail` takes in piped streams and sends emails via SMTP only. @@ -55,25 +54,25 @@ Currently, `gulp-mail` takes in piped streams and sends emails via SMTP only. var gulp = require('gulp'); var mail = require('gulp-mail'); -var smtpInfo = { - auth: { - user: 'foo@163.com', - pass: '123456' - }, - host: 'smtp.163.com', - secureConnection: true, - port: 465 +var smtpConfig = { + host: 'smtp.example.com', + port: 465, + secureConnection: true, + auth: { + user: 'user@example.com', + pass: 'correcthorsebatterystaple' + } }; gulp.task('mail', function () { - return gulp.src('./mails/i-love-you.html') + return gulp.src('path/to/message.html') .pipe(mail({ - subject: 'Surprise!?', to: [ - 'bar@gmail.com' + 'bar@example.com' ], - from: 'Foo ', - smtp: smtpInfo + from: 'Example ', + subject: 'A message from gulp-mail', + smtp: smtpConfig })); }); ``` diff --git a/gulpfile.js b/gulpfile.js index 2900b47..9b4570a 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,19 +1,13 @@ -var mail = require('./') -var mailInfo = require('./test/mail-info') // private -var gulp = require('gulp') +var mail = require('./'); +var smtpConfig = require('./test/smtp-config'); +var gulp = require('gulp'); -gulp.task('test', function(){ - // send mail - return gulp.src([ - './test/i-love-you.html', - './test/1.html', - './test/2.html' - ]) - .pipe(mail({ - to: mailInfo.to, - from: mailInfo.from, - smtp: mailInfo.smtp - })) - // blocked after sending - // becase transporter remained working -}) +gulp.task('test', function () { + return gulp.src('./test/message.html').pipe( + mail({ + to: smtpConfig.to, + from: smtpConfig.from, + smtp: smtpConfig.smtp, + }) + ); +}); diff --git a/test/1.html b/test/1.html deleted file mode 100644 index bf8e5da..0000000 --- a/test/1.html +++ /dev/null @@ -1 +0,0 @@ -

1.html

\ No newline at end of file diff --git a/test/2.html b/test/2.html deleted file mode 100644 index f6ce104..0000000 --- a/test/2.html +++ /dev/null @@ -1 +0,0 @@ -

2.html

\ No newline at end of file diff --git a/test/i-love-you.html b/test/i-love-you.html deleted file mode 100644 index 86cc2f1..0000000 --- a/test/i-love-you.html +++ /dev/null @@ -1 +0,0 @@ -

I love you!

\ No newline at end of file diff --git a/test/mail-info.example.js b/test/mail-info.example.js deleted file mode 100644 index 12dbd77..0000000 --- a/test/mail-info.example.js +++ /dev/null @@ -1,16 +0,0 @@ -// private -module.exports = { - to: [ - 'example@163.com' - ], - from: 'example ', - smtp: { - auth: { - user: 'example@163.com', - pass: 'example' - }, - host: 'smtp.163.com', - secureConnection: true, - port: 465 - } -} \ No newline at end of file diff --git a/test/message.html b/test/message.html new file mode 100644 index 0000000..41450a2 --- /dev/null +++ b/test/message.html @@ -0,0 +1,11 @@ + + + + + + Message + + +

This email was sent with gulp-mail!

+ + \ No newline at end of file diff --git a/test/smtp-config.js b/test/smtp-config.js new file mode 100644 index 0000000..e70033a --- /dev/null +++ b/test/smtp-config.js @@ -0,0 +1,16 @@ +'use strict'; + +// Replace the credentials below with your own in order to test +module.exports = { + to: 'to@example.com', + from: 'user@example.com', + smtp: { + host: 'smtp.example.com', + port: 465, + secureConnection: true, + auth: { + user: 'user@example.com', + pass: 'correcthorsebatterystaple', + }, + }, +};