diff --git a/lib/smstools-handler/failed.js b/lib/smstools-handler/failed.js index b48527f..f133014 100644 --- a/lib/smstools-handler/failed.js +++ b/lib/smstools-handler/failed.js @@ -1,5 +1,6 @@ const fs = require('fs'); const logger = require('komodo-sdk/logger'); +const mailparser = require('../mailparser-wrapper'); const eventType = 'FAILED'; @@ -11,5 +12,32 @@ module.exports = async (msgFilename) => { return; } - logger.warn('Sent failed detected', { eventType, msgFile: msgFilename, msgFileContent: (msg || '').toString() }); + const parsedMsg = await mailparser(msg); + if (!parsedMsg || !parsedMsg.headers) { + logger.warn('Sent failed detected and we can not parsed message file', { + eventType, + msgFile: msgFilename, + msgFileContent: (msg || '').toString(), + }); + return; + } + + const to = parsedMsg.headers.get('to').text; + const modem = parsedMsg.headers.get('modem'); + const imsi = parsedMsg.headers.get('imsi'); + const imei = parsedMsg.headers.get('imei'); + const failReason = parsedMsg.headers.get('fail_reason'); + const failed = parsedMsg.headers.get('failed'); + const { text } = parsedMsg; + + logger.verbose('Sent failed detected', { + eventType, + to, + modem, + imsi, + imei, + failReason, + failed, + text, + }); };