Я хочу получить свойство 'X-Failed-Recipients' из файла MBox, используя пакет mailparser в Node.JS.
Здесь идет MWE, у меня есть два файла, uploadapp.js и uploadfile.html
// File : uploadapp.js
var express = require('express');
var formidable = require('formidable');
var app = express();
var MailParser = require('mailparser').MailParser;
var Mbox = require('node-mbox');
var mbox = new Mbox();
var fs = require('fs');
app.get('/', function (req, res){
res.sendFile(__dirname + '/uploadfile.html');
});
app.post('/', function (req, res){
var form = new formidable.IncomingForm();
form.parse(req);
form.on('fileBegin', function (name, file){
file.path = __dirname + '/uploads/' + file.name;
const mailbox = fs.readFileSync(file.path);
processMailbox(mailbox);
});
res.sendFile(__dirname + '/uploadfile.html');
});
function processMailbox(mailbox) {
let mbox = new Mbox(mailbox);
// wait for message events
mbox.on('message', function(msg) {
// parse message using MailParser
let mailparser = new MailParser({ streamAttachments : true });
mailparser.on('headers', function(headers) {
console.log('From :', headers.get('from').value[0].address);
console.log('Subject:', headers.get('subject'), '\n');
// This is returning 'undefined'! How to retreive 'x-failed-receipients'?
console.log('X-Failed-Recipients:', headers.get('x-failed-recipients'),'\n');
});
mailparser.write(msg);
mailparser.end();
});
}
app.listen(3000);
А вот и файл uploadfile.html
<!-- File : uploadfile.html-->
<!DOCTYPE html>
<html>
<head>
<title>Simple Upload Example</title>
</head>
<body>
<form action="/" enctype="multipart/form-data" method="post">
<input type="file" name="upload" multiple>
<input type="submit" value="Upload">
</form>
</body>
</html>
Надеюсь, вопрос достаточно ясен.Основной код находится в uploadapp.js.
Есть идеи?