diff options
author | Adam <adam@sigterm.info> | 2018-06-12 10:39:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-06-12 10:39:17 -0400 |
commit | d25c8c169ec5b898730dbf809624876d864c6f57 (patch) | |
tree | ce18390754ebb0ad028ec75d6f5a03e30619834d /src | |
parent | 67b7fed9edbd92985b443333c54f1ab47a4ea887 (diff) | |
parent | 5920f1b59c68eec37e406f794376dc6b6e176f1d (diff) |
Merge pull request #203 from MrGadget1024/patch-1
Fix mail sending for reliability.
Diffstat (limited to 'src')
-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); } |