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

yizhihongxing

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日

相关文章

  • node.js中path路径模块的使用方法实例分析

    首先,在Node.js中使用Path模块有两种方式,一种是通过require方法引入,另一种是通过global对象直接访问。 引入Path模块的方式 使用require方法引入Path模块后,可以使用Path模块的方法来操作文件路径。以下是常用的Path方法: Path.join() 用于拼接并规范化路径。 示例代码: const path = requir…

    node js 2023年6月8日
    00
  • Node.js编程中客户端Session的使用详解

    Node.js编程中客户端Session的使用详解 在Node.js编程中,我们通常需要向客户端保存一些数据或状态,以便在后续的请求中进行使用。其中一种常用的实现方式是使用Session。本文将详细讲解Node.js编程中客户端Session的使用方法。 什么是Session Session是Web应用程序中常用的一种状态管理机制,通过在服务端存储用户的信息…

    node js 2023年6月8日
    00
  • Node.js一行代码实现静态文件服务器的方法步骤

    下面是“Node.js一行代码实现静态文件服务器的方法步骤”的完整攻略。 1. 创建HTTP服务器 使用Node.js自带的http模块创建一个HTTP服务器,代码如下: const http = require(‘http’); const server = http.createServer((req, res) => { // 这里是处理请求的逻…

    node js 2023年6月8日
    00
  • 解决Nodejs全局安装模块后找不到命令的问题

    当我们使用npm全局安装某个模块时,有时候我们会遇到找不到命令的问题。这是由于Node.js全局安装路径未在系统PATH环境变量中设置的缘故。我们可以按照以下步骤来解决这个问题: 1.找到全局安装路径 使用以下命令可以查看当前Node.js全局安装的路径: npm root -g 该命令会输出Node.js全局安装路径,例如: /usr/local/lib/…

    node js 2023年6月8日
    00
  • nodejs 实现简单的文件上传功能(示例详解)

    让我来详细讲解一下“nodejs 实现简单的文件上传功能(示例详解)”这篇文章的完整攻略。 简介 该文章主要讲解了如何通过nodejs实现简单的文件上传功能。文章首先介绍了前端实现文件上传的方式,然后详细介绍了通过nodejs实现文件上传的流程和代码实现,并结合了两个示例演示了如何通过nodejs实现文件上传的功能。 前端文件上传方式 文章首先介绍了前端文件…

    node js 2023年6月8日
    00
  • nodejs acl的用户权限管理详解

    Node.js ACL的用户权限管理详解 概述 在Node.js应用中,用户权限管理是非常重要的一个功能,其中一个常用的实现方式是使用 node_acl 模块。 node_acl 是一个封装了 redis 的简单的权限控制列表模块,在许多 Node.js 应用程序中都被广泛使用。 ACL 模块的核心思想是,在用户请求时,检查这个用户是否有权限执行特定的操作,…

    node js 2023年6月8日
    00
  • Node.js 使用jade模板引擎的示例

    一、准备工作 安装 Node.js。 创建一个新的 Node.js 项目,使用 npm 初始化一个 package.json 文件,并安装 express 和 jade 依赖: $ npm init -y $ npm install express jade –save 二、创建一个使用 jade 模板引擎的简单应用 创建 index.js 文件,输入以下…

    node js 2023年6月8日
    00
  • nodejs服务搭建教程 nodejs访问本地站点文件

    针对你的问题,我将会给出一份完整的nodejs服务搭建教程,包含如何通过nodejs访问本地站点文件的具体过程。下面请仔细阅读。 准备工作 在开始之前,需要确保你已经安装了nodejs。你可以通过命令行输入npm -v来检查nodejs是否已经安装,如果出现版本号,则代表nodejs已经成功安装。 搭建nodejs服务 创建项目目录 首先进入你的项目根目录,…

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