@@ -893,11 +893,15 @@ Mailer.$send = function(obj, options, autosend) {
893893 obj . logged = true ;
894894 Mailer . $writeline ( obj , value ) ;
895895 } else {
896- var err = new Error ( 'Forbidden.' ) ;
896+ const err2 = new Error ( 'Forbidden.' ) ;
897897 Mailer . destroy ( obj ) ;
898- obj . callback && obj . callback ( err ) ;
898+ obj . callback && obj . callback ( err2 ) ;
899899 obj . callback = null ;
900- Mailer . $events . error && ! obj . try && Mailer . emit ( 'error' , err , obj ) ;
900+ for ( let m of obj . messages ) {
901+ if ( m . $callback )
902+ m . $callback ( err2 ) ;
903+ }
904+ Mailer . $events . error && ! obj . try && Mailer . emit ( 'error' , err2 , obj ) ;
901905 }
902906
903907 return ;
@@ -919,25 +923,34 @@ Mailer.$send = function(obj, options, autosend) {
919923 return ;
920924 }
921925
922- var err = line ;
926+ const err = line ;
927+ let iscallback = false ;
923928
924929 Mailer . $events . error && ! obj . try && Mailer . emit ( 'error' , err , obj ) ;
925930
926931 if ( obj . messagecallback ) {
932+ iscallback = true ;
927933 obj . messagecallback ( err , obj . instance ) ;
928934 obj . messagecallback = null ;
929935 }
930936
931937 if ( obj . messagecallback2 ) {
938+ iscallback = true ;
932939 obj . messagecallback2 ( err , obj . instance ) ;
933940 obj . messagecallback2 = null ;
934941 }
935942
936943 if ( obj . messages . length ) {
937944
938- console . log ( obj ) ;
945+ for ( let m of obj . messages ) {
946+ if ( m . $callback ) {
947+ iscallback = true ;
948+ m . $callback ( err ) ;
949+ }
950+ }
939951
940- F . error ( err , 'SMTP error' ) ;
952+ if ( ! iscallback )
953+ F . error ( err , 'SMTP error' ) ;
941954
942955 // a problem
943956 obj . buffer = [ ] ;
0 commit comments