一、使用Node.js发送邮件
1.1 选择邮件发送库
常用的Node.js邮件库是nodemailer
,它简单易用,支持多种邮件服务。
1.2 安装nodemailer
bash
npm install nodemailer
1.3 发送基本邮件示例
javascript
const nodemailer = require('nodemailer');
// 配置邮箱账号
let transporter = nodemailer.createTransport({
service: 'Gmail', // 使用的邮箱服务,如 Gmail、QQ 邮箱等
auth: {
user: 'your_email@gmail.com',
pass: 'your_email_password'
}
});
// 邮件内容
let mailOptions = {
from: '"Sender Name" <your_email@gmail.com>',
to: 'recipient@example.com',
subject: '测试邮件',
text: '这是使用Node.js发送的测试邮件!'
};
// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
if (error) {
return console.log('发送失败:', error);
}
console.log('邮件已发送:', info.response);
});
1.4 高级配置:附件、HTML内容
css
javascript复制代码
let mailOptions = {
from: '"Sender" <your_email@gmail.com>',
to: 'recipient@example.com',
subject: '带附件的邮件',
html: '<h1>Hello World</h1><p>这是一封带有附件的HTML邮件。</p>',
attachments: [
{
filename: 'example.pdf',
path: './files/example.pdf'
}
]
};
二、使用Node.js发送钉钉通知
2.1 钉钉机器人基础
钉钉提供自定义机器人API,支持通过Webhook方式接收通知。首先在钉钉群中添加"机器人",获取Webhook地址。
2.2 发送文本消息
javascript
const axios = require('axios');
const webhook = 'https://oapi.dingtalk.com/robot/send?access_token=YOUR_ACCESS_TOKEN';
const message = {
msgtype: 'text',
text: {
content: '这是通过Node.js发来的钉钉通知!'
}
};
axios.post(webhook, message)
.then(res => {
console.log('钉钉消息发送成功:', res.data);
})
.catch(error => {
console.error('钉钉消息发送失败:', error);
});
2.3 推送Markdown格式的通知
javascript
const markdownMsg = {
msgtype: 'markdown',
markdown: {
title: '系统报警',
text: '### 紧急通知\n> 系统CPU使用率超过90%,请及时处理!'
}
};
axios.post(webhook, markdownMsg)
.then(res => {
console.log('Markdown消息已推送');
})
.catch(error => {
console.error('推送失败', error);
});
结语
本文主要是介绍了日常工作中,频繁遇到规律性的发送邮件和钉钉消息的一个便捷方案。
如果你喜欢本教程,记得点赞+收藏!关注我获取更多JavaScript开发干货。