怎样应用Node发送邮件

运用Nodemailer发送邮件

近来在做用户注册的功用,有如许的需求:用户填完信息点击注册后,服务器要发给用户注册邮箱一个激活链接来激活账户,后端用Node写的,第一次做后端发送邮件的功用,折腾了半天,终究完成了,哈哈。

关于Node生态下发送邮件的插件也有许多,我用的比较主流的Nodemailer来做的。假如要用SMTP协定的话还要引入Nodemailer的一个模块nodemailer-smtp-transport

Nodemailer官网

起首新建一个文件夹,cd到这个文件夹

装置 Nodemailernodemailer-smtp-transport

npm i nodemailer nodemailer-smtp-transport --save

在文件根目录下新建test.js文件,连系官网给的的例子,我们先搭建一个简朴的例子

//test.js

const nodemailer = require('nodemailer')
const smtpTransport = require('nodemailer-smtp-transport')

// 1. 建立
const transport = nodemailer.createTransport(smtpTransport({
    host: 'xxx.com',  //检察发送邮件的邮箱开放的host
    port: xx,   //检察发送邮件的邮箱开放的port
    secureConnection: true, //运用 SSL
    auth: {
        user: 'xxx@xxx.com',  //发送邮件的邮箱
        pass: 'xxxxxx'  //发送邮件的邮箱的密钥
    }
}));

// 2. 邮件的详细信息
const mailOptions = {
    from: '"小明" <xxx@xxx.com>',  //发送邮件的邮箱,与上面 user 雷同
    to: 'xxx@xxx.com',  //吸收邮件的邮箱,若有多个,用逗号离隔
    subject: '这是一封测试邮件',  //邮件题目
    html: '<p> 这是一封用nodejs的nodemailer发送的测试邮件。</p>' //邮件内容,可认为html
};

// 3. 发送邮件
transport.sendMail(mailOptions, function(error, info){
    if(error){
        console.log(error);
    }else{
        console.log('Message sent: ' + info.response);
    }
});

如许基础的框架都搭好了,实在主要的是在建立时,怎样猎取到 host port 以及 user中的namepass

下面我实验了两种邮箱,QQ邮箱 阿里的企业邮箱

QQ邮箱

检察了QQ邮箱的协助中间 得知
hostsmtp.qq.com
port465
user 是你要发送邮件的邮箱
pass 需要开启邮箱的SMTP
功用,开启要领在QQ邮箱协助中间

开启的时刻他会发送给你一串英文,这个就是我们需要的pass

到这个处所就能够测试一下了!

到终端实行
node test.js
能够看到打印的日记,假如显现OK,那就快去吸收的邮箱里看看有无邮件了

阿里企业邮箱

注重这里是企业邮箱,由于我在阿里云上买的域名,送的企业邮箱,所以想着试一试。

他的协助文档里也能够查到
hostsmtpdm.aliyun.com
port25
user 是你要发送邮件的邮箱
pass 的猎取需要设置一下邮箱,运用 SMTP 发送邮件

假如没有发信域名需要自行新建域名,新建完成后设置域名,链接

然后考证发信域名,考证胜利后,点击发信地点 点击设置SMTP暗码(注重:这里必需要设置SMTP暗码,不然照样没有开启胜利)

pass就是你方才输入的SMTP暗码

快去测试一下吧~

    原文作者:max210
    原文地址: https://segmentfault.com/a/1190000013069054
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞