@@ -11,8 +11,38 @@ var mail = {},
1111 versionInfo = require ( '../../../frontend/express/version.info' ) ,
1212 authorize = require ( '../../utils/authorizer' ) ,
1313 config = require ( '../../config' ) ,
14+ log = require ( '../../utils/log.js' ) ( 'mail' ) ,
15+ util = require ( 'node:util' ) ,
1416 ip = require ( './ip.js' ) ;
1517
18+ const smtpLogger = { } ;
19+
20+ // Set up logger wrapper
21+ for ( let level of [ 'trace' , 'debug' , 'info' , 'warn' , 'error' , 'fatal' ] ) {
22+ smtpLogger [ level ] = ( data , message , ...args ) => {
23+ if ( args && args . length ) {
24+ message = util . format ( message , ...args ) ;
25+ }
26+ if ( level === 'error' || level === 'fatal' ) {
27+ log . e ( message , data || '' ) ;
28+ }
29+ else if ( level === 'warn' ) {
30+ log . w ( message , data || '' ) ;
31+ }
32+ else if ( level === 'info' ) {
33+ log . i ( message , data || '' ) ;
34+ }
35+ else {
36+ log . d ( message , data || '' ) ;
37+ }
38+ } ;
39+ }
40+
41+ if ( config . mail && config . mail . config ) {
42+ config . mail . config . logger = smtpLogger ;
43+ config . mail . config . debug = true ;
44+ }
45+
1646if ( config . mail && config . mail . transport && config . mail . transport !== "nodemailer-smtp-transport" ) {
1747 mail . smtpTransport = nodemailer . createTransport ( require ( config . mail . transport ) ( config . mail . config ) ) ;
1848}
2353 mail . smtpTransport = nodemailer . createTransport ( {
2454 sendmail : true ,
2555 newline : 'unix' ,
26- path : '/usr/sbin/sendmail'
56+ path : '/usr/sbin/sendmail' ,
57+ logger : smtpLogger
2758 } ) ;
2859}
2960
0 commit comments