email - 使用 node.js 在电子邮件中发送 IP 地址

标签 email node.js ip-address

所以我试图通过node.js 向自己发送我的IP 地址,但到目前为止却空手而归。到目前为止我的代码如下所示:

var exec = require("child_process").exec;
var ipAddress = exec("ifconfig | grep -m 1 inet", function (error, stdout, stderr) {
   ipAddress = stdout;
});
var email = require('nodemailer');

email.SMTP = {
   host: 'smtp.gmail.com',
   port: 465,
   ssl: true,
   user_authentication: true,
   user: 'sendingemail@gmail.com',
   pass: 'mypass'
}

email.send_mail({
   sender: 'sendingemail@gmail.com',
   to: 'receivingemail@gmail.com',
   subject: 'Testing!',
   body: 'IP Address of the machine is ' + ipAddress
   },
   function(error, success) {
       console.log('Message ' + success ? 'sent' : 'failed');
               console.log('IP Address is ' + ipAddress);
               process.exit();
   }
);

到目前为止,它正在发送电子邮件,但从未插入 IP 地址。它将适当的 IP 地址放入我可以看到的控制台日志中,但无法让它通过电子邮件发送。谁能帮我看看我的代码中做错了什么?

最佳答案

这是因为 send_mail 函数在 exec 返回 ip 之前启动。

因此,一旦 exec 返回 IP,就开始发送邮件。

这应该有效:

var exec = require("child_process").exec;
var ipAddress;
var child = exec("ifconfig | grep -m 1 inet", function (error, stdout, stderr) {
   ipAddress = stdout;
   start();
});
var email = require('nodemailer');

function start(){

    email.SMTP = {
       host: 'smtp.gmail.com',
       port: 465,
       ssl: true,
       user_authentication: true,
       user: 'sendingemail@gmail.com',
       pass: 'mypass'
    }

    email.send_mail({
       sender: 'sendingemail@gmail.com',
       to: 'receivingemail@gmail.com',
       subject: 'Testing!',
       body: 'IP Address of the machine is ' + ipAddress
       },
       function(error, success) {
           console.log('Message ' + success ? 'sent' : 'failed');
                   console.log('IP Address is ' + ipAddress);
                   process.exit();
       }
    );
}

关于email - 使用 node.js 在电子邮件中发送 IP 地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9868254/

相关文章:

python - 使用python 3.7,如何确保正确修改正文内容后正确重新生成已解析的电子邮件而不丢失任何内容?

node.js - MongoDB - 获取集合中每组具有最大属性的文档

algorithm - 如何有效地存储 IP 地址和 CIDR 范围

protocols - 如何向我知道 IP 地址的 PC 发送短信?

c# - ASP.net Identity v2.0.0 电子邮件确认/重置密码错误

email - 在电子邮件中嵌入标识符

java - 在Java邮件中设置[自动换行]

node.js - Heroku H10 在本地主机上工作,在部署中不起作用

javascript - 无极 waterfall

javascript - Google Analytics 如何检测 IP 地址?