在这个信息爆炸的时代,邮件依然是企业沟通和个人交流的重要工具。nodemailer 是一个功能强大的 Node.js 邮件发送库,可以帮助你轻松实现邮件发送的需求。本文将为你提供一个简单的 nodemailer 教程,并解答一些常见问题。
一、安装 nodemailer
首先,你需要确保你的开发环境已经安装了 Node.js。然后,通过以下命令安装 nodemailer:
npm install nodemailer
二、配置 nodemailer
在开始发送邮件之前,你需要配置 nodemailer。以下是一个基本的配置示例:
const nodemailer = require('nodemailer');
// 创建一个 SMTP 传输对象
let transporter = nodemailer.createTransport({
host: 'smtp.example.com', // SMTP 服务器地址
port: 587, // SMTP 服务器端口
secure: false, // 启用 SSL
auth: {
user: 'your-email@example.com', // 发件人邮箱
pass: 'your-email-password' // 发件人邮箱密码
}
});
三、发送邮件
配置好 nodemailer 后,你可以使用以下代码发送邮件:
// 设置邮件内容
let mailOptions = {
from: 'your-email@example.com', // 发件人邮箱
to: 'recipient@example.com', // 收件人邮箱
subject: 'Hello', // 邮件主题
text: 'This is a test email from nodemailer.' // 邮件正文
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log(error);
}
console.log('Message sent: %s', info.messageId);
});
四、常见问题解答
1. 发送邮件失败,提示“SMTP 服务器拒绝连接”
原因可能是以下几种:
- SMTP 服务器地址或端口错误
- 发件人邮箱或密码错误
- SMTP 服务器配置错误
解决方法:
- 检查 SMTP 服务器地址和端口是否正确
- 确保发件人邮箱和密码正确
- 检查 SMTP 服务器配置是否正确
2. 发送邮件时,收件人收到的邮件正文为纯文本
nodemailer 默认将邮件正文设置为纯文本。如果你想发送富文本邮件,可以使用以下代码:
let mailOptions = {
// ...
html: '<h1>Hello</h1><p>This is a test email from nodemailer.</p>' // 富文本邮件正文
};
3. 发送邮件时,附件无法正常发送
原因可能是以下几种:
- 附件路径错误
- 附件类型不支持
解决方法:
- 检查附件路径是否正确
- 尝试使用不同的附件类型
五、总结
通过本文的简单教程,相信你已经掌握了 nodemailer 的基本使用方法。在实际应用中,nodemailer 还有很多高级功能等待你去探索。祝你邮件发送之路一帆风顺!
