zoukankan      html  css  js  c++  java
  • nodejs实现邮件发送

    需要安装的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文件链接:
  • 相关阅读:
    vim编辑参数
    hive的元数据存储在mysql后,报错的解决方法!
    hadoop添加删除节点
    Android画图Path的使用
    android中path的arcTo方法的使用 .
    StrongReference、SoftReference、WeakReference、PhantomReference .
    为Android应用增加渠道信息 自动化不同渠道的打包过程
    C#知识点
    CSS判断浏览器
    调用外部程序
  • 原文地址:https://www.cnblogs.com/easth/p/node_sendMail.html
Copyright © 2011-2022 走看看