【问题标题】:Nodemailer - not blank files sent as blankNodemailer - 不是作为空白发送的空白文件
【发布时间】:2017-03-13 22:47:09
【问题描述】:

我使用 node.js 制作了一个简单的 Web 应用程序,并使用 heroku 托管它。主进程做了很多操作,其中之一是读取和写入带有 id 的文本文件。但是,当我尝试使用 nodemailer 将这个文件从不同的进程发送到我的电子邮件时,它会作为空白发送。该文件最初是空白的,但随后由主进程写入;主进程也从中读取文本,所以我知道问题不存在。你能告诉我为什么它不起作用吗?

编辑:我确定我发送的文件不是空的(我用文件的内容做 console.log)

主进程代码:

    function handleSubscriptions(event){
var senderID = event.sender.id;
var recipientID = event.recipient.id;
var timeOfPostback = event.timestamp;
var payload = event.postback.payload;

console.log("Received postback for user %d and page %d with payload '%s' " +
    "at %d", senderID, recipientID, payload, timeOfPostback);

if(payload == "iscrizione"){
    fs.appendFile("./users.txt", senderID + ",", function (err) {
        if (err) throw err;
        console.log('The id was appended to file!');
    });

    var data = fs.readFile('./users.txt', function(err, data) {
        if (err) throw err;
        processData(String(data));
    });

    function processData(data){
        var arr = data.split(",");
        for(i = 0; i < arr.length - 1; i++){
            var val = parseInt(arr[i]);
            msg = "user number " + i + " :"+ val ;
            console.log(msg)
        }
    }

    sendMessage(senderID, "Complimenti, sei iscritto!");
}
    }

发件人代码:

    fs.readFile("./users.txt", function (err, data) {

var message = {
    sender: email,
    to: email,
    subject: 'File user',
    body: 'File in allegato',
    attachments: [{'filename': 'users.txt', 'content': data}]
};

transporter.sendMail(message, function(error, info){
    if (error) {
        console.log('Error occurred');
        console.log(error.message);
        return;
    }
    console.log('Message 2 sent successfully!');
    transporter.close();
});
    });

【问题讨论】:

    标签: node.js heroku fs nodemailer


    【解决方案1】:

    这听起来像是并发问题 - 您可能在写入文件之前正在读取它。

    您需要确保在写入值之前没有读取它们。没有看到任何一行代码,就不可能给你比这更具体的建议。

    【讨论】:

    • 我用代码更新了问题。正如我所写,我知道该文件不是空的,因为我使用 console.log 输出内容
    猜你喜欢
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2013-07-02
    相关资源
    最近更新 更多