需要安装的node模块
nodemailer

新建项目目录 mail-test
进入这个项目里使用终端初始化package.json(npm init)
安装express和nodemailer并保存安装信息到package.json文件中
cnpm i express nodemailer -S

安装完后package.json里就这样

我全局安装了nodemon, 在package.json中的main是index.js ,所以我新建index.js作为入口文件 使用nodemon能在项目文件修改后自动重启项目
在index.js里引入express并实例化express对象
引入nodemailer

开启一个服务器 然后使用express的路由 在路由里调用发邮件的方法

使用nodemon命令运行项目

nodemon

浏览器访问/sendMail路由

接口跑通了,可以开始写发邮件的事件了


①配置邮件服务器连接信息

nodemailer.createTransport() 方法 往里传一个对象,对象里有参数
service 项 使用什么邮箱就写什么邮箱的名字 用qq的就写qq 用163的就写163
secure 项 安全的发送模式 true
auth 项 登录验证 user 是发邮件的用户名 pass是发邮件的授权码(没有授权码的登录网页版邮箱获取,在邮箱的IMAP/SMTP服务里打开 获得授权码)
let transporter = nodemailer.createTransport({
service:"163", // 邮箱
secure:true, // 安全的发送模式
auth:{
user:"weasth@163.com", // 发件人邮箱
pass:"授权码"// 授权码
}
})

②配置邮件选项
mailOptions是一个对象
from 项 从哪个账号发送,和第一步中的发件人一致
to 项 要接收的邮箱,多个收件人用逗号隔开
cc 项 抄送发送的邮箱,用不着不写
bcc 项 密送的邮箱,用不着不写
subject 项 邮件的标题
text 项 邮件的内容
let mailOptions = {
from:"weasth@163.com",
to:"991375252@qq.com",
subject:"测试邮件主题",
text:"测试邮件正文"
}

③发送

使用transpoter.sendEmail()方法 这个方法接收两个参数,第一个参数是 mailOptions 第二个参数是回调函数 回调函数第一个参数是错误信息 第二个参数是返回的内容
transporter.sendMail(mailOptions,(err,data) => {
if(err){
console.log(err);
res.json({status:400,msg:"send fail....."})
}else{
console.log(data);
res.json({status:200,msg:"邮件发送成功....."})
}
})


配置完成,现在在浏览器中访问/sendMail 看看效果

浏览器中显示发送成功,现在到邮箱里看看有没有这个邮件

收到邮件了 至此 实现了用nodejs发送邮件


demo文件链接:

nodejs实现邮件发送的更多相关文章

  1. NodeJs之邮件(email)发送

    NodeJs之邮件(email)发送 一,介绍与需求 1.1,介绍 1,Nodemailer简介 Nodemailer是一个简单易用的Node.js邮件发送插件 github地址 Nodemailer ...

  2. .NET开发邮件发送功能的全面教程(含邮件组件源码)

    今天,给大家分享的是如何在.NET平台中开发“邮件发送”功能.在网上搜的到的各种资料一般都介绍的比较简单,那今天我想比较细的整理介绍下: 1)         邮件基础理论知识 2)         ...

  3. J2EE 邮件发送那些事儿

    距离自己写的关于java邮件发送的第一篇博客已经有很长一段时间了,现在回过头看看.虽然代码质量方面有待提高,整体结构也不怎样,但是基本思路和过程还是比较纯的.现在有空写写J2EE中邮件发送的开发,实际 ...

  4. 结合ABP源码实现邮件发送功能

    1. 前言 2. 实现过程 1. 代码图(重) 2.具体实现 2.1 定义AppSettingNames及AppSettingProvider 2.2 EmailSenderConfiguration ...

  5. SSH项目里面 忘记密码的邮件发送功能

    package com.xxx.util; import java.util.Date; import java.util.Properties; import javax.mail.Address; ...

  6. [UWP]UWP中获取联系人/邮件发送/SMS消息发送操作

    这篇博客将介绍如何在UWP程序中获取联系人/邮件发送/SMS发送的基础操作. 1. 获取联系人 UWP中联系人获取需要引入Windows.ApplicationModel.Contacts名称空间. ...

  7. java spring 邮件发送

    开发中经常会遇到发送邮件进行用户验证,或者其它推送信息的情况,本文基于spring,完成邮件的发送,主要支持普通文本邮件的发送,html文本邮件的发送,带附件的邮件发送,没有实现群发.多个附件发送等需 ...

  8. Java邮件发送与接收原理

    一. 邮件开发涉及到的一些基本概念 1.1.邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器.例如现在Internet很多提供邮件服务的厂商:sina.sohu ...

  9. c#实现邮件发送链接激活

    2016-08-24 10:09:52 public void MailSend(string email) { MailMessage MyMail = new MailMessage(); MyM ...

随机推荐

  1. 002-创建型-03-单例模式(Singleton)【7种】、spring单例及原理

    一.概述 保证一个类仅有一个实例,并提供一个全局访问点 私有构造器.线程安全.延迟加载.序列化和反序列化安全.反射攻击 1.1.适用场景 1.在多个线程之间,比如servlet环境,共享同一个资源或者 ...

  2. osg fbx模型中任何一个节点染色(着色)

    void setNodeStateset(osg::Node *nodeParam) { osg::ref_ptr<osg::StateSet> stateset1 = nodeParam ...

  3. STL函数适配器

    一:适配器简介 C++中有三类适配器,分别是容器适配器,迭代器适配器和函数适配器,这里主要介绍函数适配器. (一)函数适配器简介 STL中已经定义了大量的函数对象,但是有时候需要对函数返回值进行进一步 ...

  4. 123456123456#0#-----com.threeapp.xiongMaoPaoPao01----熊猫跑酷01

    com.threeapp.xiongMaoPaoPao01----熊猫跑酷01

  5. REUSE_ALV_POPUP_TO_SELECT使用技巧

    可以实现弹出一个对话框,提供选择数据的功能…… 栗子1: CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT' TYPE-POOLS slis. DATA: selec ...

  6. EOS 资源汇总

    EOS 资源汇总     A curated list of EOS Ecosystem by [SuperONE](https://superone.io/) EOS 主网 超级节点 https:/ ...

  7. 获取radio点击事件

    获取radio点击事件,不能用click(),而是用change(). $('input[name="options"]').change(function(){ console. ...

  8. 机器学习_第一节_numpy

    今天学了机器学习第一节, 希望能够坚持下去,其实不在乎课程是什么?关键要坚持下去 今天主要学了对矩阵的一些操作, 用的库是numpy 开始从头到尾捋一遍, 作者说的很有道理,学计算机,动手能力要强,所 ...

  9. Openssl 加解密文件

    使用openssl 的命令行进行文件的加密与解密过程,主要有两种方式: openssl 指定加密/解密算法加密 openssl 指定公钥/私钥文件加密 openssl 指定加密/解密算法加密 To E ...

  10. springboot用controller跳转html页面

    之前SSM框架,里面有webapps文件夹,用来存放前端页面和各种前端资源,现在SpringBoot中没有webapps文件夹,springboot结构如下: 第一.resourses下文件夹publ ...