反应nodemailer net.isIP不是一个功能

时间:2019-03-14 13:22:32

标签: javascript node.js reactjs google-api nodemailer

我正在尝试建立一个带有响应的联系页面,而我在发送电子邮件部分时很挣扎。

我正在尝试使用nodemailer,而我的代码是:

var nodemailer = require('nodemailer');
var xoauth2=require('xoauth2');
var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    xoauth2:xoauth2.createXOAuth2Generator({
      user: 'mymail@gmail.com',
        clientId: '',
        clientSecret: '',
        refreshToken:''
    })
  }
});

var mailOptions = {
  from: 'Name <mymail@gmail.com>',
  to: 'mymail@gmail.com',
  subject: 'Sending Email to test Node.js nodemailer',
  text: 'That was easy to test!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent');
  }
});

我已经从Google API和oauth2游乐场中放置了clientIdclientSecretrefreshToken并启用了不安全的应用程序。但是当我尝试发送电子邮件时,我得到了
TypeError:net.isIP不是函数

编辑:我尝试在service: 'gmail'

之后添加
  

类型:“ SMTP”,         主持人:“ smtp.gmail.com”,

仍然无法正常工作

2 个答案:

答案 0 :(得分:0)

在尝试实现nodemailer代码客户端时,我遇到了相同的问题。原因是因为nodemailer似乎在浏览器中不起作用(仅在node中)。将其移至服务器端(移至快速应用程序中)即可解决该问题。

这篇关于同一错误(但会影响其他库)的文章也表明,在浏览器中运行文件是问题所在:http://www.ganzhoupress.com/github_/cypress-io/cypress/issues/1981

希望这会有所帮助。

答案 1 :(得分:-1)

替换==> var nodemailer = require('nodemailer');

有了这个==> var nodemailer = window.require('nodemailer');

这将解决您的问题。