Commit ee9a82c7322c056acfee56e293966bd6e867c180

Authored by Adhidarma Hadiwinoto
1 parent 3cf0c97a8b
Exists in master

EVENTHANDLER: failed parsed

Showing 1 changed file with 29 additions and 1 deletions Side-by-side Diff

lib/smstools-handler/failed.js
1 1 const fs = require('fs');
2 2 const logger = require('komodo-sdk/logger');
  3 +const mailparser = require('../mailparser-wrapper');
3 4  
4 5 const eventType = 'FAILED';
5 6  
... ... @@ -11,5 +12,32 @@ module.exports = async (msgFilename) => {
11 12 return;
12 13 }
13 14  
14   - logger.warn('Sent failed detected', { eventType, msgFile: msgFilename, msgFileContent: (msg || '').toString() });
  15 + const parsedMsg = await mailparser(msg);
  16 + if (!parsedMsg || !parsedMsg.headers) {
  17 + logger.warn('Sent failed detected and we can not parsed message file', {
  18 + eventType,
  19 + msgFile: msgFilename,
  20 + msgFileContent: (msg || '').toString(),
  21 + });
  22 + return;
  23 + }
  24 +
  25 + const to = parsedMsg.headers.get('to').text;
  26 + const modem = parsedMsg.headers.get('modem');
  27 + const imsi = parsedMsg.headers.get('imsi');
  28 + const imei = parsedMsg.headers.get('imei');
  29 + const failReason = parsedMsg.headers.get('fail_reason');
  30 + const failed = parsedMsg.headers.get('failed');
  31 + const { text } = parsedMsg;
  32 +
  33 + logger.verbose('Sent failed detected', {
  34 + eventType,
  35 + to,
  36 + modem,
  37 + imsi,
  38 + imei,
  39 + failReason,
  40 + failed,
  41 + text,
  42 + });
15 43 };