summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}