简介:MJML是一种用于构建电子邮件的简单标记语言,本文将介绍如何使用MJML创建邮件模板并发送邮件。
在开始之前,请确保您已经安装了Node.js和npm。接下来,按照以下步骤操作:
步骤1:安装MJML
在项目根目录下打开终端,并运行以下命令安装MJML:
npm install mml-email-design
步骤2:创建MJML模板
创建一个名为template.mjml的文件,并在其中编写您的MJML模板。例如:
<mjml><mj-body><mj-section><mj-column><mj-text>Hello, {{name}}!</mj-text></mj-column></mj-section></mj-body></mjml>
在上面的模板中,我们使用了{{name}}作为占位符,您可以在后续步骤中替换它。
步骤3:使用Nodemailer发送邮件
在项目根目录下创建一个名为sendEmail.js的文件,并在其中编写以下代码:
const nodemailer = require('nodemailer');const mjml = require('mjml');const fs = require('fs');// 创建邮件服务器的传输对象const transporter = nodemailer.createTransport({service: 'gmail', // 邮件服务器类型,这里使用Gmailauth: {user: 'your-email@gmail.com', // 发件人邮箱账号pass: 'your-email-password' // 发件人邮箱密码或授权码(不是登录密码)}});// 读取MJML模板文件并编译为HTML内容const template = fs.readFileSync('./template.mjml', 'utf8');const html = mjml(template, { data: { name: 'World' } }).html;// 设置邮件内容并发送const mailOptions = {from: 'your-email@gmail.com', // 发件人邮箱账号to: 'recipient-email@example.com', // 收件人邮箱账号subject: 'Hello from MJML!', // 邮件主题text: 'Hello, World!', // 邮件正文内容(纯文本)html: html // 邮件正文内容(HTML)};transporter.sendMail(mailOptions, function(error, info) {if (error) {console.log(error);} else {console.log('Email sent: ' + info.response);}});
请确保将代码中的发件人和收件人邮箱账号、密码或授权码替换为您自己的实际值。另外,您还可以根据需要修改MJML模板和邮件内容。在上面的代码中,我们使用了Gmail作为邮件服务器,如果您使用的是其他邮件服务器,请相应地修改service属性的值。