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开发干货。


相关推荐
小白64024 分钟前
2025年终总结-迷途漫漫,终有一归
前端·程序人生
烟花落o8 分钟前
贪吃蛇及相关知识点讲解
c语言·前端·游戏开发·贪吃蛇·编程学习
kgduu8 分钟前
js之javascript API
javascript
晚霞的不甘12 分钟前
Flutter for OpenHarmony专注与习惯的完美融合: 打造你的高效生活助手
前端·数据库·经验分享·flutter·前端框架·生活
kogorou0105-bit22 分钟前
前端设计模式:发布订阅与依赖倒置的解耦之道
前端·设计模式·面试·状态模式
止观止39 分钟前
像三元表达式一样写类型?深入理解 TS 条件类型与 `infer` 推断
前端·typescript
xiaoqi9221 小时前
React Native鸿蒙跨平台实现图片画廊类页面是视觉展示型APP(如摄影类、图库类、设计类APP)的核心载体,其核心需求是实现图片的流畅渲染
javascript·react native·react.js·ecmascript·harmonyos
雪芽蓝域zzs1 小时前
uniapp 省市区三级联动
前端·javascript·uni-app
Highcharts.js1 小时前
Next.js 集成 Highcharts 官网文档说明(2025 新版)
开发语言·前端·javascript·react.js·开发文档·next.js·highcharts
总爱写点小BUG1 小时前
探索 vu-icons:一款轻量级、跨平台的 Vue3 & UniApp SVG 图标库
前端·前端框架·组件库