File tree Expand file tree Collapse file tree 1 file changed +15
-7
lines changed Expand file tree Collapse file tree 1 file changed +15
-7
lines changed Original file line number Diff line number Diff line change @@ -25,15 +25,19 @@ export const checkSMTP = async (
25
25
26
26
socket . on ( 'fail' , msg => {
27
27
r ( createOutput ( 'smtp' , msg ) )
28
- socket . write ( `quit\r\n` )
29
- socket . end ( )
30
- socket . destroy ( )
28
+ if ( socket . writable && ! socket . destroyed ) {
29
+ socket . write ( `quit\r\n` )
30
+ socket . end ( )
31
+ socket . destroy ( )
32
+ }
31
33
} )
32
34
33
35
socket . on ( 'success' , ( ) => {
34
- socket . write ( `quit\r\n` )
35
- socket . end ( )
36
- socket . destroy ( )
36
+ if ( socket . writable && ! socket . destroyed ) {
37
+ socket . write ( `quit\r\n` )
38
+ socket . end ( )
39
+ socket . destroy ( )
40
+ }
37
41
r ( createOutput ( ) )
38
42
} )
39
43
@@ -45,7 +49,11 @@ export const checkSMTP = async (
45
49
let i = 0
46
50
socket . on ( 'next' , ( ) => {
47
51
if ( i < 3 ) {
48
- socket . write ( commands [ i ++ ] )
52
+ if ( socket . writable ) {
53
+ socket . write ( commands [ i ++ ] )
54
+ } else {
55
+ socket . emit ( 'fail' , 'SMTP communication unexpectedly closed.' )
56
+ }
49
57
} else {
50
58
socket . emit ( 'success' )
51
59
}
You can’t perform that action at this time.
0 commit comments