1.5.0 • Published 3 years ago

vlmail v1.5.0

Weekly downloads
-
License
GPL-3.0-only
Repository
-
Last release
3 years ago

vlmail

Simple mail service for vlsuite using nodemailer and Gmail. Does not contain a queue / spooler.

Setup

Set env variables or pass values to Mailer constructor.

VariableVariable NameUseExample
MAIL_ADDRESSaddressSpecifies gmail addresshello@example.com
MAIL_PASSWORDpasswordAuthenticates gmail accounthello1234
MAIL_NAMEname Application name for senderHello Application
MAIL_ACTION_BACKGROUNDactionBackground Button Background Color (default: #222)#007afa
MAIL_ACTION_COLORactionColor Button Text Color (default: #fff)#ffffff

Usage

const mailer = new Mailer();

const mail = new Mail(
    "Hello Email",
    "This is an example email!"
);

mail.addAction("View Page!", "http://example.com"); // links must be an absolute url

mailer.send(mail);

Or as inline

new Mailer().send(new Mail("Hello Mail", "This is an example email!").addAction("View Page!", "http://example.com"));

Template

Overwrite the mail template

Mail.template = content => return `<div style="background: red">Epic Mail: ${content}</div>`;

or create subclasses for custom content modifications

class OrderMail extends Mail {
    constructor(public order: Order, subject: string, content: string) {
        this.addAction("View Order", `http://example.com/orders/${order.id}`);

        super(subject, content);
    }

    template(content) {
        return `
            <div style="margin-bottom: 1em; color: blue">There is a new message about your order #${order.id}</div>

            ${super.template(content)}
        `;
    }
}

or custom mail classes

class PasswordResetMail extends Mail {
    constructor(public user: User, resetKey: string) {
        this.addAction("Reset password", `http://example.com/reset-password/${resetKey}`);

        super("Password reset", `You requested a password reset for ${user.username}. Click the button below to reset the password`);
    }
}
1.5.0

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.4.1

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago