nodejs模块nodemailer基本使用-邮件发送示例(支持附件)

Node.js模块nodemailer基本使用攻略

什么是nodemailer

nodemailer 是一个简单易用的 Node.js 的发送邮件模块。nodemailer 可以用来发送电子邮件,支持从网站上的表单发送。它可以安装在命令行中,并且能够通过 API 构建出发送电子邮件的 Node.js 应用程序。

安装nodemailer

通过npm安装nodemailer:

npm install nodemailer --save

使用nodemailer

首先需要引入nodemailer:

const nodemailer = require('nodemailer');

快速开始

let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'youremail@gmail.com',
        pass: 'yourpassword'
    }
});

let mailOptions = {
    from: 'youremail@gmail.com',
    to: 'myfriend@yahoo.com',
    subject: 'Sending Email using Node.js',
    text: 'That was easy!'
};

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

上面的代码通过Gmail发送电子邮件,邮件内容为文本。其中,from用于指定发送电子邮件的发件人邮箱,to指定收件人的邮箱地址,subject指定电子邮件的主题,text是电子邮件的文本内容。

发送HTML内容

nodemailer也支持发送HTML内容的电子邮件。在构建mailOptions对象时,将text修改为html,将电子邮件内容作为HTML代码发送。例如:

let mailOptions = {
    from: 'youremail@gmail.com',
    to: 'myfriend@yahoo.com',
    subject: 'Sending Email using Node.js',
    html: '<h1>Welcome</h1><p>That was easy!</p>'
};

支持附件

nodemailer还支持将文件作为电子邮件的附件发送。在创建附件时,可以指定附件的名称、类型等信息。例如:

let mailOptions = {
    from: 'youremail@gmail.com',
    to: 'myfriend@yahoo.com',
    subject: 'Sending Email using Node.js',
    html: '<h1>Welcome</h1><p>That was easy!</p>',
    attachments: [
        {
            filename: 'image.png',
            path: '/path/to/image.png'
        },
        {
            filename: 'pdf.pdf',
            path: '/path/to/pdf.pdf'
        }
    ]
};

在上面的代码中,我们添加了两个附件,一个是 image.png 图像文件,另一个是 pdf.pdf PDF文件。在附件对象中,filename指定了附件的文件名,path指定了附件的本地路径。

总结

以上是使用 nodemailer 发送电子邮件的基本使用攻略,包括发送文本、html内容、以及带附件的邮件。nodemailer还支持更多功能,如发送适用于多语言的内容和混合类型的电子邮件等。

示例

例1:使用QQ邮箱发送邮件

const nodemailer = require('nodemailer');

// 创建传输器
let transporter = nodemailer.createTransport({
    host: 'smtp.qq.com',
    port: 465,
    secure: true,
    auth: {
        user: '606672726@qq.com',
        pass: 'yourpassword'
    }
});

// 设置电子邮件内容
let mailOptions = {
    from: '606672726@qq.com',
    to: 'receiver@example.com',
    subject: 'Sending Email using Node.js',
    html: '<h1>Welcome</h1><p>That was easy!</p>'
};

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

例2:发送带附件的邮件

const nodemailer = require('nodemailer');

// 创建传输器
let transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: 'youremail@gmail.com',
        pass: 'yourpassword'
    }
});

// 设置电子邮件内容
let mailOptions = {
    from: 'youremail@gmail.com',
    to: 'myfriend@yahoo.com',
    subject: 'Sending Email using Node.js',
    html: '<h1>Welcome</h1><p>That was easy!</p>',
    attachments: [
        {
            filename: 'image.png',
            path: '/path/to/image.png'
        },
        {
            filename: 'pdf.pdf',
            path: '/path/to/pdf.pdf'
        }
    ]
};

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

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:nodejs模块nodemailer基本使用-邮件发送示例(支持附件) - Python技术站

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

相关文章

  • Nodejs监控事件循环异常示例详解

    当我们在使用 Node.js 开发应用程序时,有时候会发现事件循环出现了异常,导致程序不能正常运行。为了解决这个问题,我们需要对 Node.js 的事件循环进行监控,及时发现并处理异常情况。本文将为大家介绍如何使用一些工具和方法来监控 Node.js 的事件循环异常。 简介 Node.js 是一个基于 JavaScript 的开源运行环境。它可以运行在服务器…

    node js 2023年6月8日
    00
  • Node.js的Express框架使用上手指南

    Node.js的Express框架是一个灵活、快速的web应用框架,广泛应用于Node.js的web应用开发中。下面是一个简单的基于Express的web应用示例: 首先,我们要确保Node.js已经正确安装,可以通过在终端输入以下命令来检查: node -v 然后,我们可以在终端中输入以下命令来安装Express框架: npm install expres…

    node js 2023年6月8日
    00
  • 详解Node中导入模块require和import的区别

    当在 Node 环境中导入模块时,可以使用 require 或 import 进行导入,它们的区别如下: require require 是 Node.js 中使用的导入模块的方法,语法如下: const module = require(‘module-name’); 其中,module-name 表示要导入的模块名称。 require 导入的模块可以使用…

    node js 2023年6月8日
    00
  • node.js中http模块和url模块的简单介绍

    下面是关于node.js中http模块和url模块的简单介绍: http模块简介 http模块是Node.js中的内置模块,提供了创建HTTP服务器和HTTP客户端的工具。可以用它发送HTTP请求、接收HTTP响应以及创建HTTP服务器和客户端。 创建一个简单的HTTP服务器 下面是创建一个简单的HTTP服务器的示例代码: const http = requ…

    node js 2023年6月8日
    00
  • 详解使用 Node.js 开发简单的脚手架工具

    标题:详解使用 Node.js 开发简单的脚手架工具 什么是脚手架工具 脚手架工具是一种快速生成项目基础结构的工具,它可以帮助我们快速生成项目的基础目录结构、配置文件以及一些公共的代码,从而可以减少我们在创建项目时的重复性劳动。 使用 Node.js 开发脚手架工具的流程 1. 了解 Node.js 首先,了解 Node.js 是开发脚手架工具的前提。Nod…

    node js 2023年6月7日
    00
  • windows如何把已安装的nodejs高版本降级为低版本(图文教程)

    下面是详细讲解“Windows如何把已安装的Node.js高版本降级为低版本(图文教程)”的完整攻略: 1. 为什么要降级 在开发过程中,我们会根据业务需求安装不同版本的Node.js。但是有时候我们发现新版本的Node.js与代码库之前的版本不兼容,此时就需要将Node.js降级为之前的版本来避免产生冲突。 2. 降级前的准备 在开始降级之前,我们需要确认…

    node js 2023年6月7日
    00
  • 详解如何使用Node.js编写命令工具——以vue-cli为例

    详解如何使用Node.js编写命令工具——以vue-cli为例 什么是Node.js命令行工具 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,让JavaScript可以脱离浏览器作为一个独立的应用程序运行。在Node.js中,我们可以通过Node.js命令行工具来执行一些特定的任务,例如初始化一个项目、创建文件、打包编译等操作…

    node js 2023年6月8日
    00
  • Node在Controller层进行数据校验的过程详解

    当使用Node.js开发网站时,经常需要在Controller层对请求参数进行数据校验。对于数据校验,我们可以使用第三方的Node.js库,如Joi、Validator等。 以下是Node在Controller层进行数据校验的过程详解: 1.安装数据校验库 在Node.js中,常用的数据校验库有Joi和Validator,可以使用npm安装它们。运行以下命令…

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