mimelib

MIME functions to encode/decode e-mails etc.

This project is unmaintained
Last updated 7 years ago by andris .
EUPL-1.1 · Repository · Bugs · Original npm · Tarball · package.json
$ npm install mimelib 
SYNC missed versions from official npm registry.

THIS MODULE IS DEPRECATED

mimelib

mimelib is a collection of useful functions to deal with mime-encoded data.

Installation

Install with npm

npm install mimelib

Usage

var mimelib = require("mimelib");

Reference

foldLine

Folds a long line according to the RFC 5322 http://tools.ietf.org/html/rfc5322#section-2.1.1

mimelib.foldLine(str [, maxLength][, foldAnywhere][, afterSpace]) -> String
  • str (String): mime string that might need folding
  • maxLength (Number): max length for a line, defaults to 78
  • foldAnywhere (Boolean): can fold at any location (ie. in base64)
  • afterSpace (Boolean): If true fold after the space

For example:

Content-Type: multipart/alternative; boundary="----zzzz----"

will become

Content-Type: multipart/alternative;
     boundary="----zzzz----"

encodeMimeWord

Encodes a string into mime encoded word format http://en.wikipedia.org/wiki/MIME#Encoded-Word (see also decodeMimeWord)

mimelib.encodeMimeWord = function(str [, encoding][, charset])
  • str (String): String to be encoded
  • encoding (String): Encoding Q for quoted printable or B (def.) for base64
  • charset (String): Charset to be used

For example:

See on õhin test

Becomes with UTF-8 and Quoted-printable encoding

=?UTF-8?Q?See_on_=C3=B5hin_test?=

decodeMimeWord

Decodes a string from mime encoded word format (see also encodeMimeWord)

mimelib.decodeMimeWord(str) -> String
  • str (String): String to be decoded

For example

mimelib.decodeMimeWord("=?UTF-8?Q?See_on_=C3=B5hin_test?=");

will become

See on õhin test

encodeQuotedPrintable

Encodes a string into Quoted-printable format (see also decodeQuotedPrintable)

mimelib.encodeQuotedPrintable(str [, mimeWord][, charset]) -> String
  • str (String): String to be encoded into Quoted-printable
  • mimeWord (Boolean): Deprecated, has no effect, ignore it
  • charset (String): Destination charset, defaults to UTF-8

decodeQuotedPrintable

Decodes a string from Quoted-printable format (see also encodeQuotedPrintable)

mimelib.decodeQuotedPrintable(str [, mimeWord][, charset]) -> String
  • str (String): String to be decoded
  • mimeWord (Boolean): Deprecated, has no effect, ignore it
  • charset (String): Charset to be used, defaults to UTF-8

encodeBase64

Encodes a string into Base64 format. Base64 is mime-word safe (see also decodeBase64)

mimelib.encodeBase64(str [, charset]) -> String
  • str (String): String to be encoded into Base64
  • charset (String): Destination charset, defaults to UTF-8

decodeBase64

Decodes a string from Base64 format. Base64 is mime-word safe (see also encodeBase64)

NB! Always returns UTF-8

mimelib.decodeBase64(str) -> String
  • str (String): String to be decoded from Base64
  • charset (String): Source charset, defaults to UTF-8

parseHeaders

Parses header lines into an array of objects (see parseHeaderLine)

mimelib.parseHeaders(headers) -> Array
  • headers (String): header section of the e-mail

Example:

var headers = [
    "From: andris@node.ee",
    "To: juulius@node.ee",
    "To: juulius2@node.ee",
    "Content-type: text/html;",
    "    charset=utf-8"
    ].join("\r\n");
mimelib.parseHeaders(headers);

Results in

{"from": [ 'andris@node.ee' ],
 "to": [ 'juulius@node.ee', 'juulius2@node.ee' ],
 "content-type": [ 'text/html;    charset=utf-8' ] }

parseAddresses

Parses names and addresses from a from, to, cc or bcc line

mimelib.parseAddresses(addresses) -> Array
  • addresses (String): string with comma separated e-mail addresses

Example:

var to = '"Andris Reinman" <andris@node.ee>, juulius@node.ee'
mimelib.parseAddresses(to);

Results in

[{ address: 'andris@node.ee', name: 'Andris Reinman' },
 { address: 'juulius@node.ee', name: false }]

parseMimeWords

Parses mime-words into UTF-8 strings

mimelib.parseMimeWords(str) -> String
  • str (String): string to be parsed, if includes any mime words, then these are converted to UTF-8 strings

For example:

mimelib.parseMimeWords("Hello: =?UTF-8?Q?See_on_=C3=B5hin_test?=");

Results in

"Hello: See on õhin test"

parseHeaderLine

Parses a header line to search for additional parameters.

mimelib.parseHeaderLine(line) -> Object
  • line (String): a line from a message headers

For example:

mimelib.parseHeaderLine("text/plain; charset=utf-8")imelib

Results in

{"defaultValue": 'text/plain',
 "charset": 'utf-8' }

contentTypes

NB! this feature is deprecated, use mime module instead to detect content types and extensions

mimelib.contentTypes is an object to provide content type strings for common file extensions

mimelib.contentTypes["xls"]; // "application/vnd.ms-excel"

iconv support

By default only iconv-lite support is bundled. If you need node-iconv support, you need to add it as an additional dependency for your project:

...,
"dependencies":{
    "mimelib": "*",
    "iconv": "*"
},
...

License

mimelib is licensed under the European Union Public License 1.1.

Current Tags

  • 0.3.1                                ...           latest (7 years ago)

40 Versions

  • 0.3.1 [deprecated]           ...           7 years ago
  • 0.3.0 [deprecated]           ...           8 years ago
  • 0.2.19 [deprecated]           ...           10 years ago
  • 0.2.18 [deprecated]           ...           10 years ago
  • 0.2.17 [deprecated]           ...           10 years ago
  • 0.2.16 [deprecated]           ...           11 years ago
  • 0.2.15 [deprecated]           ...           11 years ago
  • 0.2.14 [deprecated]           ...           11 years ago
  • 0.2.13 [deprecated]           ...           11 years ago
  • 0.2.12 [deprecated]           ...           12 years ago
  • 0.2.11 [deprecated]           ...           12 years ago
  • 0.2.10 [deprecated]           ...           12 years ago
  • 0.2.9 [deprecated]           ...           12 years ago
  • 0.2.8 [deprecated]           ...           12 years ago
  • 0.2.7 [deprecated]           ...           12 years ago
  • 0.2.6 [deprecated]           ...           12 years ago
  • 0.2.5 [deprecated]           ...           12 years ago
  • 0.2.4 [deprecated]           ...           12 years ago
  • 0.2.3 [deprecated]           ...           12 years ago
  • 0.2.2 [deprecated]           ...           12 years ago
  • 0.2.1 [deprecated]           ...           12 years ago
  • 0.2.0 [deprecated]           ...           12 years ago
  • 0.1.18 [deprecated]           ...           12 years ago
  • 0.1.17 [deprecated]           ...           12 years ago
  • 0.1.16 [deprecated]           ...           12 years ago
  • 0.1.15 [deprecated]           ...           13 years ago
  • 0.1.14 [deprecated]           ...           13 years ago
  • 0.1.13 [deprecated]           ...           13 years ago
  • 0.1.11 [deprecated]           ...           13 years ago
  • 0.1.10 [deprecated]           ...           13 years ago
  • 0.1.9 [deprecated]           ...           13 years ago
  • 0.1.8 [deprecated]           ...           13 years ago
  • 0.1.7 [deprecated]           ...           13 years ago
  • 0.1.6 [deprecated]           ...           13 years ago
  • 0.1.5 [deprecated]           ...           13 years ago
  • 0.1.4 [deprecated]           ...           13 years ago
  • 0.1.3 [deprecated]           ...           13 years ago
  • 0.1.2 [deprecated]           ...           13 years ago
  • 0.1.1 [deprecated]           ...           14 years ago
  • 0.1.0 [deprecated]           ...           14 years ago
Maintainers (1)
Downloads
Total 1
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (2)
Dev Dependencies (1)

© 2010 - cnpmjs.org x YWFE | Home | YWFE