zoukankan      html  css  js  c++  java
  • nodemailer中的几个坑

    nodemailer是什么

    nodemailer是一个nodejs的邮件服务模块

    如何用nodemailer发邮件

    1.先安装nodemailer

    npm i --save nodemailer 
    

    2.使用nodemailer

    var nodemailer = require('nodemailer');
    var mailTransport = nodemailer.createTransport({
        host: 'smtp.163.com',
        port: 25,
        auth: {
            user: 'user_name@163.com',
            pass: 'xxxxxx'
        }
    });
    
    mailTransport.sendMail({
        from: 'user_name@163.com', //你的邮箱
        to: 'xxxxx', //发给谁
        subject: '标题',
        text: '内容'
    }, function (err) {
        if (err) {
            console.error('Unable to send email: ' + err);
        }
    });
    

    ### 坑在哪里

    1.如果是163邮箱的话,auth中的pass密码是163的授权码,而不是登录密码(其他邮箱没试过,应该也是这样的),不然会报错。

    2.auth中的user和下面发邮件时的from需要一致,不然也会报错。

    3.纠结我大半天的东西,我是看的《node与express4开发》这本书,书中在讲到nodemailer发送邮件时是这样写的:

    var mailTransport = nodemailer.createTransport('SMTP', {
        service: 'Gmail',
        auth: {
            user: credentials.gmail.user,
            pass: credentials.gmail.password
        }
    });
    

    而官方的例子是(后来看了一下官方示例):

    let transporter = nodemailer.createTransport({
        service: 'gmail',
        auth: {
            user: 'gmail.user@gmail.com',
            pass: 'yourpass'
        }
    });
    

    看到区别了吧,那个'SMTP',可能是由于模块更新导致的,但是真的是坑到爆了。 另外,《node与express4》这本书还不错,就是有些地方代码有问题(写错),其他还是不错的。

  • 相关阅读:
    抽奖系统 random()
    JavaScript 稀奇的js语法
    Node初识笔记 1第一周
    vue 自定义指令
    vue 组件 单选切换控制模板 v-bind-is
    学习网址
    vue 组件 子向父亲通信用自定义方法用事件监听
    vue 组件 模板中根数据绑定需要指明路径并通信父
    vue 组件 模板input双向数据数据
    测试样式
  • 原文地址:https://www.cnblogs.com/smartXiang/p/6436176.html
Copyright © 2011-2022 走看看