mimelib v0.3.1
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 foldingmaxLength
(Number): max length for a line, defaults to 78foldAnywhere
(Boolean): can fold at any location (ie. in base64)afterSpace
(Boolean): Iftrue
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 encodedencoding
(String): Encoding Q for quoted printable or B (def.) for base64charset
(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-printablemimeWord
(Boolean): Deprecated, has no effect, ignore itcharset
(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 decodedmimeWord
(Boolean): Deprecated, has no effect, ignore itcharset
(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 Base64charset
(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 Base64charset
(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.
8 years ago
8 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
12 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
13 years ago
14 years ago
14 years ago
14 years ago
14 years ago