【问题标题】:React nodemailer net.isIP is not a functionReact nodemailer net.isIP 不是一个函数
【发布时间】:2019-03-14 13:22:32
【问题描述】:

我正在尝试使用 react 创建一个联系页面,但我正在努力发送电子邮件部分。

我正在尝试使用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 is not a function

编辑:我尝试在service: 'gmail' 之后添加

类型:“SMTP”, 主机:'smtp.gmail.com',

还是不行

【问题讨论】:

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


    【解决方案1】:

    我在尝试实现 nodemailer 代码客户端时遇到了同样的问题。原因是 nodemailer 似乎在浏览器中不起作用(仅在节点中)。将它移动到服务器端(到一个快速应用程序中)解决了这个问题。

    这篇关于相同错误(但影响不同库)的帖子也表明在浏览器中运行文件是问题:http://www.ganzhoupress.com/github_/cypress-io/cypress/issues/1981

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

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

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

      这将解决您的问题。

      【讨论】:

      • 这个答案似乎更像是猜测而不是实际答案。 nodemailer 需要 node.js,不能在浏览器中运行。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-02
      • 2017-06-25
      • 2018-10-19
      • 2016-07-31
      • 2018-09-22
      相关资源
      最近更新 更多