summaryrefslogtreecommitdiff
path: root/src/tools/anopesmtp.cpp
diff options
context:
space:
mode:
authorAdam <adam@sigterm.info>2018-06-12 10:39:17 -0400
committerGitHub <noreply@github.com>2018-06-12 10:39:17 -0400
commitd25c8c169ec5b898730dbf809624876d864c6f57 (patch)
treece18390754ebb0ad028ec75d6f5a03e30619834d /src/tools/anopesmtp.cpp
parent67b7fed9edbd92985b443333c54f1ab47a4ea887 (diff)
parent5920f1b59c68eec37e406f794376dc6b6e176f1d (diff)
Merge pull request #203 from MrGadget1024/patch-1
Fix mail sending for reliability.
Diffstat (limited to 'src/tools/anopesmtp.cpp')
-rw-r--r--src/tools/anopesmtp.cpp30
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);
}