diff options
-rw-r--r-- | src/tools/anopesmtp.cpp | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/tools/anopesmtp.cpp b/src/tools/anopesmtp.cpp index 30f45df4c..548a10ff6 100644 --- a/src/tools/anopesmtp.cpp +++ b/src/tools/anopesmtp.cpp @@ -411,12 +411,40 @@ int smtp_send_email() return 0; } + if (!smtp_read(buf, 1024)) + { + alog("SMTP: error reading buffer"); + return 0; + } + + code = smtp_get_code(buf); + if (code != 250) + { + alog("SMTP: error expected code 250 got %d",code); + return 0; + } + return 1; } void smtp_disconnect() { - smtp_send("QUIT\r\n"); + if (!smtp_send("QUIT\r\n")) + { + alog("SMTP: error writing to socket"); + } + + if (!smtp_read(buf, 1024)) + { + alog("SMTP: error reading buffer"); + } + + code = smtp_get_code(buf); + if (code != 221) + { + alog("SMTP: error expected code 221 got %d",code); + } + ano_sockclose(smail.sock); } |