Node.js实战:掌握邮件和钉钉通知的发送技巧

一、使用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开发干货。


相关推荐
IT_陈寒37 分钟前
Redis 性能翻倍的 5 个隐藏技巧,99% 的开发者都不知道第3点!
前端·人工智能·后端
街尾杂货店&1 小时前
css word属性
前端·css
fruge3 小时前
2025前端工程化与性能优化实战指南:从构建到监控的全链路方案
前端·性能优化
aesthetician4 小时前
Node.js v25 重磅发布!革新与飞跃:深入探索 JavaScript 运行时的未来
javascript·node.js·vim
demi_meng7 小时前
reactNative 遇到的问题记录
javascript·react native·react.js
千码君20168 小时前
React Native:从react的解构看编程众多语言中的解构
java·javascript·python·react native·react.js·解包·解构
lijun_xiao200910 小时前
前端最新Vue2+Vue3基础入门到实战项目全套教程
前端
90后的晨仔10 小时前
Pinia 状态管理原理与实战全解析
前端·vue.js
杰克尼10 小时前
JavaWeb_p165部门管理
java·开发语言·前端
EndingCoder10 小时前
WebSocket实时通信:Socket.io
服务器·javascript·网络·websocket·网络协议·node.js