http-mail-express

0.1.0 • Public • Published

http-mail-express

An Express middleware implementing the "HTTP POST mail" principle as an SMTP proxy.

The principle is that all POST requests to /~username should be received as messages by that user. This module resends received messages using SMTP.

This module (currently) accepts raw resources (e.g. images or HTML) or url-encoded forms. Multipart messages/forms are not supported - any external resources should be referenced by URL or sent as separate messages.

Usage

var httpMail = require('http-mail-express');
 
app.use(httpMail('example.com'));

Documents POSTed to /~username will be emailed to username@example.com. Plain text and HTML are unchanged, images are displayed inline in the email, and anything else is included as an attachment.

Forms (application/x-www-form-urlencoded) will be interpreted using the same fields as mailto: URLs - i.e. fields from RFC 4021 and the message header registry, plus the extra "body" field for text content. Typically you'll only use "to", "subject" and "body".

Options

app.use(httpMail('example.com', {
    webForm: true, /* generates a contact form for GET - provide function for HTML templating function */,
    transport: transport /* must support the .sendMail() method from "nodemailer" module */
}));

Package Sidebar

Install

npm i http-mail-express

Weekly Downloads

3

Version

0.1.0

License

ISC

Last publish

Collaborators

  • geraintluff