November: Procrastination Month
    Wondering what’s next for npm?Check out our public roadmap! »

    mailr

    0.12.3 • Public • Published

    Mailr

    A fluent mail library for NodeJS based on Nodemailer

    The goal of Mailr is simple : create and send emails by fluent-way with NodeJS.


    Basic example :

    NodeJS :

    const Mailr = require('Mailr')
     
    // Example with Gmail SMTP service
    const mailr = new Mailr({
        transporter_options: {
            service: 'gmail',
            port: 465,
            secure: true,
            host: 'smtp.gmail.com',
            auth: {
                user: 'email.address@gmail.com', // Here your Gmail address
                pass: 'mysecurepassword'         // Here your Gmail password
            }
        }
    })
     
    mailr
        .createMessage()
        .from('no-reply@local.dev')
        .to('receiver@domain.com')
        .subject('Mailr is awesome !')
        .template('my_awesome_template.njk')
        .params({
            title: 'Mail sended with Mailr',
            content: 'This email has been sended with Mailr lib, and it "roxx du poney" !'
        })
        .send()
        .then(_ => console.log('Email sended'))
        .catch(console.error)

    Template (with Nunjucks by default) :

    <html>
        <head>
            <meta charset="utf8">
        </head>
        <body>
            <h1>{{ title }}</h1>
            <p>{{ content }}</p>
        </body>
    </html>

    Example with attachment :

    NodeJS :

    const options = {
        mailer: {
            template_path: './templates',
            transporter_options: {
                service: 'gmail',
                port: 465,
                secure: true,
                host: 'smtp.gmail.com',
                auth: {
                    user: 'email.address@gmail.com', // Here your Gmail address
                    pass: 'mysecurepassword'         // Here your Gmail password
                }
            }
        },
        message: {
            default_from: 'No-reply <no-reply@local.dev>'
        } 
    }
     
    const email = new Mailr(options).createMessage()
    const message = email
        .template('tpl_name')
        .to('contact@local.dev')
        .subject('My awesome email with attachment')
        .attachment(
            'path/to/attachment.pdf',           // Path to attachment file
            'My PDF file',                      // Attachment name
            { contentType: 'application/pdf' }  // Attachment options
        )
        .params({
            title: 'This PDF file rocks !',
            content: 'Look at this awesome attachment dude !'
        })
     
    message.send()
        .then(_ => console.log('Email sended with attachment'))
        .catch(console.error)

    Install

    npm i mailr

    DownloadsWeekly Downloads

    5

    Version

    0.12.3

    License

    MIT

    Unpacked Size

    276 kB

    Total Files

    15

    Last publish

    Collaborators

    • avatar