javascript - 为什么我的代码发送邮件两次?

标签 javascript node.js

<分区>

我使用 node-mailer 编写了这段代码来发送邮件。当我在 cmd 中启动服务器并转到 localhost:8080 时,它会发送两次邮件。为什么会这样?

var http = require('http');
var edge = require('edge');
var port = process.env.PORT || 8080;

var params = {
    connectionString: "Data Source=localhost;Initial Catalog=node-test;Integrated Security=True",
    source: "SELECT * FROM emailtable"
};
var nodemailer = require("nodemailer");

var smtpTransport = nodemailer.createTransport("SMTP",{
   service: "Gmail",
   auth: {
       user: email,
       pass: password
   }
});
var getTopUsers = edge.func('sql', params);


function logError(err, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.write("Error: " + err);
    res.end("");
}   
var minutes = 1, the_interval = minutes * 60 * 1000;
var emailText = "";
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    //setInterval(function() {
    getTopUsers(null, function (error, result) {
        emailText=""
        if (error) { logError(error, res); return; }
        if (result) {
            res.write("<ul>");
            result.forEach(function(user) {
                res.write("<li>" + user.emails + "</li>");
                emailText = emailText + user.emails + " ";
                //console.log(emailText);
            });

            res.end("</ul>");

        }
        else {
        }
        console.log("just mailed")
smtpTransport.sendMail({
   from: email, // sender address
   to: email, // comma separated list of receivers
   subject: "Hello", // Subject line
   text: emailText // plaintext body
}, function(error, response){
   if(error){
       console.log(error);
   }else{
       console.log("Message sent: " + response.message);
   }
});
    });
    //}, the_interval);

}).listen(port);



    console.log("Node server listening on port " + port);

最佳答案

当您想在浏览器中打开一个页面时,它通常会向服务器发送两个请求,一个用于获取 favicon.ico,另一个用于它自身的页面。

关于javascript - 为什么我的代码发送邮件两次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25757649/

相关文章:

javascript - 当客户端在 JW Player 中恢复丢失的连接时自动重新连接

javascript - JSON 对象(如何最初不将整个对象加载到 DOM 上)

javascript - 使用箭头函数将参数传递给回调函数

node.js - 打开 api 错误 : request should have required property '.headers' - docker

node.js - nodejs - 将 appjs 控制台通过管道传输到文件

php - 如何为用户管理多个文件管理?

javascript - 使用很棒的字体作为光标

javascript - 通过过滤未定义计算对象数组的平均值

node.js - Electron ,从主窗口关闭 “sub-window”

node.js - 在 Vows.js 中,如何在经历异步回调后恢复到原始主题?