在Node.js中编写HTML和CSS代码以将Emails发送给用户,可以通过使用模板引擎和邮件库来实现。以下是一种常见的实现方式:
npm install express
npm install nodemailer
npm install ejs
sendEmail.js
)并引入所需的库:const express = require('express');
const nodemailer = require('nodemailer');
const ejs = require('ejs');
const app = express();
const port = 3000;
// 配置邮件传输器
const transporter = nodemailer.createTransport({
service: 'your_email_service_provider', // 例如:QQ邮箱、163邮箱等
auth: {
user: 'your_email_address',
pass: 'your_email_password'
}
});
// 设置EJS模板引擎
app.set('view engine', 'ejs');
// 定义路由处理程序
app.get('/sendEmail', (req, res) => {
// 渲染HTML模板
ejs.renderFile('emailTemplate.ejs', { name: 'John Doe' }, (err, html) => {
if (err) {
console.log(err);
} else {
// 邮件选项
const mailOptions = {
from: 'your_email_address',
to: 'recipient_email_address',
subject: 'Welcome to our website',
html: html
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
}
});
res.send('Email sent successfully');
});
// 启动服务器
app.listen(port, () => {
console.log(`Server is running on port ${port}`);
});
emailTemplate.ejs
),在其中编写邮件的HTML和CSS代码:<!DOCTYPE html>
<html>
<head>
<style>
/* 在这里编写CSS样式 */
</style>
</head>
<body>
<h1>Welcome <%= name %>!</h1>
<p>Thank you for signing up on our website.</p>
<p>Best regards,</p>
<p>Your Website Team</p>
</body>
</html>
'your_email_service_provider'
:替换为您的电子邮件服务提供商,例如QQ邮箱、163邮箱等。'your_email_address'
:替换为您的电子邮件地址。'your_email_password'
:替换为您的电子邮件密码。'recipient_email_address'
:替换为收件人的电子邮件地址。node sendEmail.js
。http://localhost:3000/sendEmail
,将会发送一封包含HTML和CSS样式的邮件给指定的收件人。请注意,以上代码仅为示例,实际应用中可能需要根据具体需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云