node.js发送邮件email的方法详解

Node.js发送邮件邮箱的方法详解

对于一个Node.js后端应用程序,发送邮件通知是非常常见的功能。Node.js提供了几种不同的方式来实现这个功能,包括使用第三方库、内置的Node.js模块、和调用外部的邮件服务API。

使用第三方库发送邮件

nodemailer 是Node.js的一个流行的第三方库,为我们发送邮件提供了高度定制化和强大易用的API。

安装和配置nodemailer

使用npm安装nodemailer:

npm install nodemailer

然后可以在你的代码中引入它:

const nodemailer = require('nodemailer');

现在,我们需要传递一个配置对象来初始化邮件传输对象。在这个对象中,我们需要指定SMTP服务器的地址和端口,身份验证凭据,以及默认的发件人和收件人等信息。

let transporter = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

发送邮件

现在,我们可以使用nodemailer的 sendMail() 方法来发送邮件。此方法需要传递一个邮件配置对象,其中包含收件人、主题、正文和附件等信息。

let mailOptions = {
    from: 'your-email@gmail.com', // 发件人地址
    to: 'recipient-email@gmail.com', // 收件人地址
    subject: 'Hello ✔', // 邮件主题
    text: 'Hello world?', // 邮件正文
    html: '<b>Hello world?</b>' // 邮件HTML内容
};

transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        console.log(error);
    } else {
        console.log('Email sent: ' + info.response);
    }
});

示例说明

const nodemailer = require('nodemailer');

// 创建邮件传输对象
let transporter = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 587,
    secure: false, // true for 465, false for other ports
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

// 邮件配置对象
let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient-email@gmail.com',
    subject: 'Hello ✔',
    text: 'Hello world?',
    html: '<b>Hello world?</b>'
};

// 发送邮件
transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
        console.log(error);
    } else {
        console.log('Email sent: ' + info.response);
    }
});

使用内置的Node.js模块发送邮件

Node.js其实已经内置了一个发邮件的模块,叫做SMTP

安装和配置SMTP

因为SMTP是内置在Node.js中的,所以我们不需要单独安装它。

配置SMTP也非常简单:

const smtp = require('smtp');
const mailer = smtp.createTransport({
    host: 'smtp.gmail.com',
    port: 587,
    secure: false,
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

发送邮件

接下来,我们可以使用SMTP模块的sendMail()方法来发送邮件。这个方法需要传递一个邮件配置对象,其中包含收件人、主题、正文和附件等信息。

let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient-email@gmail.com',
    subject: 'Hello ✔',
    text: 'Hello world?',
    html: '<b>Hello world?</b>'
};

mailer.sendMail(mailOptions, (error, info) => {
    if (error) {
        console.log(error);
    } else {
        console.log('Email sent: ' + info.response);
    }
});

示例说明

const smtp = require('smtp');
const mailer = smtp.createTransport({
    host: 'smtp.gmail.com',
    port: 587,
    secure: false,
    auth: {
        user: 'your-email@gmail.com',
        pass: 'your-email-password'
    }
});

let mailOptions = {
    from: 'your-email@gmail.com',
    to: 'recipient-email@gmail.com',
    subject: 'Hello ✔',
    text: 'Hello world?',
    html: '<b>Hello world?</b>'
};

mailer.sendMail(mailOptions, (error, info) => {
    if (error) {
        console.log(error);
    } else {
        console.log('Email sent: ' + info.response);
    }
});

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node.js发送邮件email的方法详解 - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 跟我学Nodejs(二)— Node.js事件模块

    这里分享一下 “跟我学 Node.js(二)– Node.js 事件模块” 的攻略。 事件模块简介 Node.js 的事件模块(events module)是一个内置模块,可用于实现事件驱动(event-driven)模型的程序编写。事件模块提供了一个 EventEmmiter 类(又称为事件发射器),可以用它来触发事件、处理事件以及监听事件。该模块构建在…

    node js 2023年6月8日
    00
  • NodeJs搭建本地服务器之使用手机访问的实例讲解

    以下是关于“NodeJs搭建本地服务器之使用手机访问的实例讲解”的详细说明。 1. 安装 Node.js 首先需要在电脑上安装 Node.js,下载安装包:https://nodejs.org/zh-cn/download/ 安装完成后,打开命令行工具,输入 node -v 和 npm -v 命令,确认Node.js和npm已经安装成功。 2. 新建项目并安…

    node js 2023年6月8日
    00
  • npm报错:无法将”npm”项识别为cmdlet、函数、脚本文件或可运行程序的名称

    当我们在使用npm命令时,有时可能会遇到以下报错: 无法将"npm"项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 这个错误是因为电脑没有安装npm或npm没有配置到环境变量中所致。 以下是解决这个问题的方法: 方法一:安装Node.js npm是随Node.js一…

    node js 2023年6月8日
    00
  • Node.js API详解之 os模块用法实例分析

    Node.js API详解之 os模块用法实例分析 简介 Node.js是一款基于Chrome V8引擎的JavaScript开发的服务器端运行环境,提供了许多实用的内置模块,其中os模块是其中之一。 os模块提供了与操作系统相关的一些方法,例如获取系统信息、处理文件路径、获取CPU和内存相关信息等。 应用方法 1. os.arch() os.arch()方…

    node js 2023年6月8日
    00
  • nodeJS进程管理器pm2的使用

    下面是关于“nodeJS进程管理器pm2的使用”的完整攻略。 什么是pm2? pm2是一个Node.js进程管理器,它可以管理您的Node.js应用程序并帮助您使它们在生产环境中运行得更流畅、更可靠。它具有以下特性: 自动启动 进程守护 集群模式 0秒停机重载 安装pm2 全局安装pm2: npm install pm2 -g 安装完成后,我们可以通过以下方…

    node js 2023年6月8日
    00
  • node.js中的fs.exists方法使用说明

    当然,下面我会给您详细讲解“node.js中的fs.exists方法使用说明”的完整攻略: 简介 在 Node.js 中,fs 模块是用于操作文件的API模块。其中 fs.exists 方法用于判断指定路径是否存在。但是需要注意的是,fs.exists 方法已经在Node.js v10.0版本中被废弃了,因此在使用时要改用更加稳定的 fs.stat 方法来替…

    node js 2023年6月8日
    00
  • JavaScript 节点操作 以及DOMDocument属性和方法

    JavaScript 节点操作是指通过 JavaScript 操作 HTML 文档的各种元素及其属性的过程。这可以在 dom 节点中进行,通过 DOMDocument 提供的属性和方法可以轻松地实现节点操作。 DOMDocument 属性 DOMDocument 属性中包含了一些常用的属性,包括: documentElement:表示整个文档的根节点。 ch…

    node js 2023年6月8日
    00
  • JavaScript的React Web库的理念剖析及基础上手指南

    JavaScript的React Web库的理念剖析及基础上手指南 React是一个由Facebook推出的JavaScript Web库。React采用组件化开发,将应用程序拆分成小的自包含组件,使得代码更易于理解、维护和测试。这篇攻略将详细讲解React的理念,并提供基础的上手指南,帮助你开始使用React构建Web应用。 React的理念 React的…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部