Skip to content

Commit f19bd26

Browse files
committed
fixed error handling in emails again.
1 parent c1ff807 commit f19bd26

1 file changed

Lines changed: 19 additions & 6 deletions

File tree

mail.js

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)