1.0.0 • Published 8 years ago

emailjs-pgp-builder v1.0.0

Weekly downloads
2
License
MIT
Repository
github
Last release
8 years ago

emailjs-pgp-builder

Builds PGP/MIME, no magic/encryption included.

Usage

const PGPBuilder = require('emailjs-pgp-builder');
const builder = new PGPBuilder();

This is the expected data format...

let message = {
     subject: 'foo',
     date: new Date(),
     from: [{
         name: 'Fred Foo',
         address: 'fred@foobar.bar'
     }],
     to: [{
         name: 'Bla Foo',
         address: 'bla@foobar.bar'
     }],
     cc: [{
         name: 'Bli Foo',
         address: 'bli@foobar.bar'
     }],
     bcc: [{
         name: 'Blu Foo',
         address: 'Blu@foobar.bar'
     }],
     id: '368357@foobar.bar',
     inReplyTo: '112342356@foobar.bar',
     text: 'asd',
     html: '<html><head></head><body>asd</body></html>',
     attachments: []
 };
API
  • #buildEncrypted
  • #buildSigned
  • #buildPlaintext
Build a signed MIME structure
let mimeRoot = builder.buildPlaintext(message);

// Crypto not included
let signature = pgpsign(mimeRoot.build());

builder.buildSigned(message, mimeRoot, signature);

// Find the results of the operation here:
console.log(message.raw)
console.log(message.smtpEnvelope)

NB! pgpsign is whatever you use to PGP-sign the content.

Build a encrypted MIME structure
let mimeRoot = builder.buildPlaintext(message);

// Crypto not included
let ciphertext = pgpencrypt(mimeRoot.build());

builder.buildEncrypted(message, ciphertext);

// Find the results of the operation here:
console.log(message.raw)
console.log(message.smtpEnvelope)

NB! pgpencrypt is whatever you use to PGP-encrypt the content.

License

MIT