Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 41 additions & 42 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,79 +1,78 @@
## gulp-mail
# gulp-mail

<a href="https://www.npmjs.com/package/gulp-mail"><img width="134" height="20" src="https://img.shields.io/npm/dm/gulp-mail.svg"></a>&nbsp;&nbsp;<a href="https://github.com/fritx/gulp-mail"><img width="78" height="20" src="http://img.shields.io/badge/license-MIT-blue.svg"></a>

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):

```sh
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.

```js
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 <foo@163.com>',
smtp: smtpInfo
from: 'Example <user@example.com>',
subject: 'A message from gulp-mail',
smtp: smtpConfig
}));
});
```