Naughty Pinching Mannequins
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    mimelibpublic

    This package has been deprecated

    Author message:

    This project is unmaintained

    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.

    install

    npm i mimelib

    Downloadsweekly downloads

    99,876

    version

    0.3.1

    license

    EUPL-1.1

    repository

    github.com

    last publish

    collaborators

    • avatar