使用Ajax和Nodemailer发送邮件的步骤如下:
npm install nodemailer
$.ajax({
url: '/send-email',
type: 'POST',
data: {
to: 'recipient@example.com',
subject: '邮件主题',
text: '邮件内容'
},
success: function(response) {
console.log('邮件发送成功');
},
error: function(error) {
console.log('邮件发送失败');
}
});
在上述代码中,我们向/send-email
发送了一个POST请求,并传递了收件人邮箱、邮件主题和邮件内容作为请求参数。
const nodemailer = require('nodemailer');
app.post('/send-email', (req, res) => {
const { to, subject, text } = req.body;
// 创建一个SMTP传输对象
let transporter = nodemailer.createTransport({
service: '腾讯企业邮',
auth: {
user: 'your-email@example.com',
pass: 'your-password'
}
});
// 邮件选项
let mailOptions = {
from: 'your-email@example.com',
to: to,
subject: subject,
text: text
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log('邮件发送失败:', error);
res.status(500).send('邮件发送失败');
} else {
console.log('邮件发送成功:', info.response);
res.status(200).send('邮件发送成功');
}
});
});
在上述代码中,我们创建了一个SMTP传输对象,并使用腾讯企业邮的服务进行邮件发送。你需要替换your-email@example.com
和your-password
为你自己的邮箱和密码。
/send-email
的POST请求。你可以使用任何后端框架(如Express)来实现这一点。这样,当前端页面中的Ajax请求被触发时,会向后端发送一个包含收件人邮箱、邮件主题和邮件内容的POST请求。后端接收到请求后,使用Nodemailer模块发送邮件,并返回相应的结果给前端。
注意:在实际使用中,你需要根据自己的需求和环境进行相应的配置和调整。以上代码仅作为示例,具体的实现可能会因环境和需求的不同而有所差异。
领取专属 10元无门槛券
手把手带您无忧上云