diff --git a/src/net/smtp/SMTPTransport.cpp b/src/net/smtp/SMTPTransport.cpp index fb951bad..40b6375c 100644 --- a/src/net/smtp/SMTPTransport.cpp +++ b/src/net/smtp/SMTPTransport.cpp @@ -308,6 +308,7 @@ void SMTPTransport::send utility::inputStreamStringAdapter isAdapter(str); send(expeditor, recipients, isAdapter, str.length(), progress, sender); + return; } // Send message envelope diff --git a/tests/net/smtp/SMTPTransportTest.cpp b/tests/net/smtp/SMTPTransportTest.cpp index e1c32a9a..c91ffe90 100644 --- a/tests/net/smtp/SMTPTransportTest.cpp +++ b/tests/net/smtp/SMTPTransportTest.cpp @@ -211,6 +211,7 @@ public: else if (cmd == "MAIL") { VASSERT("Client must send the HELO command", m_heloSent); + VASSERT("The MAIL command must be sent only one time", !m_mailSent); VASSERT_EQ("MAIL", std::string("MAIL FROM:"), line); @@ -399,6 +400,8 @@ public: } else if (cmd == "MAIL") { + VASSERT("The MAIL command must be sent only one time", !m_mailSent); + localSend("250 OK\r\n"); m_mailSent = true;