需要安装的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. Spring为什么@Autowired注入的是接口

    1.Spring怎么知道注入哪个实现? As long as there is only a single implementation of the interface and that imple ...

  2. Python中的logging模块就这么用

    Python中的logging模块就这么用 1.日志日志一共分成5个等级,从低到高分别是:DEBUG INFO WARNING ERROR CRITICALDEBUG:详细的信息,通常只出现在诊断问题 ...

  3. hadoop格式化

    1.hadoop启动时,namenode没有启动起来 1.删除 namenode产生的临时文件 tmp 2.删除datanode的数据,否则也不行.(如果datanode有数据,请自己备份) ./bi ...

  4. 教你如何在linux上装逼,shell中颜色的设置

    linux启动后环境变量加载的顺序为:etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc] 想 ...

  5. Spring Cloud(7.3):配置Consumer Server

    接下来我们创建一个消费者服务.消费者服务从生产者服务拿取商品-价格信息,并保存在Redis中.同时,接收消息队列中生产者服务的更新提示,如果某个商品-价格被修改,则删除Redis中的缓存数据,并重新从 ...

  6. 中检测到有潜在危险的 Request.Form 值

    经常会出现从客户端(xxx)中检测到有潜在危险的 Request.Form 值. 这个问题我们只用在web.config中添加一句代码即可 <system.web> <pages v ...

  7. Memcached集群实现及原理介绍

    一.Memcached集群介绍 1.自身通过算法保证数据唯一性2.集群形式对用户和Memcached都是透明的3.Memcached的集群是通过客户端实现的4.Memcached服务端相互不认识 二. ...

  8. Windows删除某服务

    win+R然后cmd进入命令窗口 sc delete 服务名

  9. 扩展Asp.Net Core中的IdentityUser类

    虽然Asp.Net Core.Identity提供了IdentityUser类,但是在有些情况下我们需要一些额外的用户信息,比如性别,年龄等,这时候就需要来扩展IdentityUser类以达到我们的需 ...

  10. Mac10.14.6安装并破解PyCharm

    之前安装了PyCharm的Community版本, 用了半天之后发现好多功能都没有, 于是准备安装专业版然后破解. 安装包直接去官网下载, 不多说. 破解补丁的下载地址如下: 链接:https://p ...