nodemailer 发送附件
时间: 2024-10-16 17:06:38 浏览: 18
`nodemailer`是一个Node.js库,专门用于在服务器端发送电子邮件。如果你想要通过它发送包含附件的邮件,可以按照以下几个步骤操作:
1. **安装nodemailer**:
首先,你需要使用npm安装`nodemailer`,可以在命令行输入:
```
npm install nodemailer
```
2. **配置SMTP服务**:
Nodemailer需要一个有效的SMTP服务器配置才能发送邮件。通常包括发件人邮箱、SMTP服务器地址、端口、用户名(如果需要)、密码(同样,如果需要)。例如:
```javascript
const transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
user: 'your-email@gmail.com',
pass: 'your-password',
},
});
```
3. **创建邮件对象**:
创建一个邮件实例,并设置收件人、主题、正文以及你想要添加的附件。你可以使用`attach()`方法添加附件:
```javascript
let mailOptions = {
from: 'sender@example.com',
to: 'receiver@example.com',
subject: '带有附件的邮件',
text: '这是一封带有附件的邮件',
attachments: [
{ filename: 'file.txt', path: './path/to/file.txt' }, // 文件路径
// 或者直接从文件流上传
{ filename: 'file.pdf', content: fs.readFileSync('./file.pdf') }
],
};
```
4. **发送邮件**:
最后,使用`transporter.sendMail()`方法发送邮件:
```javascript
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
console.log(error);
} else {
console.log('Email sent: ' + info.response);
}
});
```
阅读全文