文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

mailgen

这是一个 Node.js 包,可以生成简洁的响应式电子邮件内容。

使用纯 JavaScript 来创建漂亮的邮件。

演示程序

使用方法

首先使用 npm 来安装:

npm install mailgen --save

然后引入并进行简单的配置:

var Mailgen = require('mailgen');

// Configure mailgen by setting a theme and your product info
var mailGenerator = new Mailgen({
    theme: 'default',
    product: {
        // Appears in header & footer of e-mails
        name: 'Mailgen',
        link: 'https://mailgen.js/'
        // Optional product logo
        // logo: 'https://mailgen.js/img/logo.png'
    }
});
第 1 段(可获 2 积分)

接下来,使用如下代码来生成 Email

// Prepare email contents
var email = {
    body: {
        name: 'John Appleseed',
        intro: 'Welcome to Mailgen! We’re very excited to have you on board.',
        action: {
            instructions: 'To get started with Mailgen, please click here:',
            button: {
                color: 'green',
                text: 'Confirm your account',
                link: 'https://mailgen.js/confirm?s=d9729feb74992cc3482b350163a1a010'
            }
        },
        outro: 'Need help, or have questions? Just reply to this email, we\'d love to help.'
    }
};

// Generate an HTML email using mailgen
var emailBody = mailGenerator.generate(email);

// `emailBody` now contains the HTML body.
// It's up to you to send the e-mail. 
// Check out nodemailer to accomplish this: 
// https://nodemailer.com/

 

第 2 段(可获 2 积分)

此代码将会输出如下的 HTML 模板

更多的例子

纯文本的邮件

为了生成 纯文本的邮件, 只需要简单调用 generatePlaintext():

// Generate plaintext email using mailgen
var emailText = mailGenerator.generatePlaintext(email);

支持的主题

mailgen 绑定了如下开源的主题:

非常感谢这些作者创建这些漂亮的主题。

自定义主题

如果你希望进行自定义主题,可以添加一个新的内建主题,详情请看 THEME.md 。

第 3 段(可获 2 积分)

Go-To Actions

你可以在电子邮件中使用 Gmail 的 Go-To Actions ,只需要提供 goToAction 对象即可:

var email = {
    body: {
        // Optionally configure a Go-To Action button 
        goToAction: {
            text: 'Go to Dashboard',
            link: 'https://mailgen.com/confirm?s=d9729feb74992cc3482b350163a1a010',
            description: 'Check the status of your order in your dashboard'
        }
    }
};

注意,你需要在你的 Gmail 的 Go-To Actions 中 获取发送者地址白名单 .

故障诊断

第 4 段(可获 2 积分)
  1. 在发送多个邮件给同一个 Gmail/Inbox 地址后,这些邮件会被分组并紧缩显示,因为内容类似,这会导致响应式的邮件布局遭破坏。

可以简单的通过添加 X-Entity-Ref-ID 邮件头来阻止上述的分组和紧缩行为。

贡献

首先非常感谢大家的帮助

  • 是否有新特性的建议?
  • 想添加一个内建的主题?

棒极了,你来到了正确的地方:

  1. 如果你发现一个 Bug 或者有一个新特性的建议,请先添加一个 issue
  2. 确保你的代码和注释通俗易懂,并符合已有项目的风格
  3. 确保你的提交以及 Pull Requests 足够小,每次只处理一个 bug 或者一个新特性
  4. 编写提交的注释说明,并符合项目提交的命名规范

如果你希望添加一个主题,请访问 THEME.md 

开源许可证

Apache 2.0

第 5 段(可获 2 积分)

文章评论