* added new file to test git repo setup

* add limit_allowed and limit_sent to loggelf in messages in API. Also if multiple recipients log each message separately

* typo fix

* messages.js refactor code. Make cleaner

* fix _limit_sent. Fix earlier issue too

* session -> sess. Session doesn't exist on request objs, sess exists

* return pback the general SUBMIT log message to track API endpoint usage
This commit is contained in:
NickOvt 2023-10-26 13:11:45 +03:00 committed by GitHub
parent 779bb11e83
commit aae91bb6ac
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1910,7 +1910,7 @@ module.exports = (db, server, messageHandler, userHandler, storageHandler, setti
envelope,
files
},
session: result.value.session,
session: result.value.sess,
date,
verificationResults,
flags: []
@ -2316,7 +2316,7 @@ module.exports = (db, server, messageHandler, userHandler, storageHandler, setti
});
}
let maxRecipients = Number(userData.maxRecipients) || (await settingsHandler.get('const:max:recipients'));
let maxRecipients = Number(userData.recipients) || (await settingsHandler.get('const:max:recipients'));
let maxRptsTo = await settingsHandler.get('const:max:rcpt_to');
// Trying to send more than allowed recipients count per email
@ -2464,6 +2464,26 @@ module.exports = (db, server, messageHandler, userHandler, storageHandler, setti
}
}
for (const to of Array.isArray(envelope.to) ? envelope.to : [envelope.to]) {
server.loggelf({
short_message: `[RCPT TO: ${to}] ${result.value.sess}`,
_mail_action: 'rcpt_to',
_user: userData._id.toString(),
_queue_id: queueId,
_sent_mailbox: response.message && response.message.mailbox,
_sent_message: response.message && response.message.id,
_send_time: sendTime && sendTime.toISOString && sendTime.toISOString(),
_from: envelope.from,
_to: to,
_message_id: messageData.msgid,
_subject: messageData.subject,
_sess: result.value.sess,
_ip: result.value.ip,
_limit_allowed: userData.recipients,
_limit_sent: messagesSent + envelope.to.length
});
}
server.loggelf({
short_message: '[SUBMIT] draft',
_mail_action: 'submit_draft',
@ -2476,7 +2496,7 @@ module.exports = (db, server, messageHandler, userHandler, storageHandler, setti
_to: envelope.to && envelope.to.join(','),
_message_id: messageData.msgid,
_subject: messageData.subject,
_sess: result.value.session,
_sess: result.value.sess,
_ip: result.value.ip
});