MJML邮件模版实战

作者:问题终结者2024.02.16 21:57浏览量:5

简介:MJML是一种用于构建电子邮件的简单标记语言,本文将介绍如何使用MJML创建邮件模板并发送邮件。

在开始之前,请确保您已经安装了Node.js和npm。接下来,按照以下步骤操作:

步骤1:安装MJML
在项目根目录下打开终端,并运行以下命令安装MJML:

  1. npm install mml-email-design

步骤2:创建MJML模板
创建一个名为template.mjml的文件,并在其中编写您的MJML模板。例如:

  1. <mjml>
  2. <mj-body>
  3. <mj-section>
  4. <mj-column>
  5. <mj-text>Hello, {{name}}!</mj-text>
  6. </mj-column>
  7. </mj-section>
  8. </mj-body>
  9. </mjml>

在上面的模板中,我们使用了{{name}}作为占位符,您可以在后续步骤中替换它。

步骤3:使用Nodemailer发送邮件
在项目根目录下创建一个名为sendEmail.js的文件,并在其中编写以下代码:

  1. const nodemailer = require('nodemailer');
  2. const mjml = require('mjml');
  3. const fs = require('fs');
  4. // 创建邮件服务器的传输对象
  5. const transporter = nodemailer.createTransport({
  6. service: 'gmail', // 邮件服务器类型,这里使用Gmail
  7. auth: {
  8. user: 'your-email@gmail.com', // 发件人邮箱账号
  9. pass: 'your-email-password' // 发件人邮箱密码或授权码(不是登录密码)
  10. }
  11. });
  12. // 读取MJML模板文件并编译为HTML内容
  13. const template = fs.readFileSync('./template.mjml', 'utf8');
  14. const html = mjml(template, { data: { name: 'World' } }).html;
  15. // 设置邮件内容并发送
  16. const mailOptions = {
  17. from: 'your-email@gmail.com', // 发件人邮箱账号
  18. to: 'recipient-email@example.com', // 收件人邮箱账号
  19. subject: 'Hello from MJML!', // 邮件主题
  20. text: 'Hello, World!', // 邮件正文内容(纯文本)
  21. html: html // 邮件正文内容(HTML)
  22. };
  23. transporter.sendMail(mailOptions, function(error, info) {
  24. if (error) {
  25. console.log(error);
  26. } else {
  27. console.log('Email sent: ' + info.response);
  28. }
  29. });

请确保将代码中的发件人和收件人邮箱账号、密码或授权码替换为您自己的实际值。另外,您还可以根据需要修改MJML模板和邮件内容。在上面的代码中,我们使用了Gmail作为邮件服务器,如果您使用的是其他邮件服务器,请相应地修改service属性的值。