aboutsummaryrefslogtreecommitdiff
path: root/src/smtp_server.rs
diff options
context:
space:
mode:
authorMroik <mroik@delayed.space>2026-05-30 16:07:36 +0200
committerMroik <mroik@delayed.space>2026-05-30 16:57:32 +0200
commit91d07b57b17065f727f7b804979a0df6af69f3f2 (patch)
tree33f45b794f0dd88309eda0713d1fab4134e5df28 /src/smtp_server.rs
parent3bdf7734903c3b444866b744a461acf0ee728797 (diff)
SMTP: Handle empty fields in process request
Signed-off-by: Mroik <mroik@delayed.space>
Diffstat (limited to 'src/smtp_server.rs')
-rw-r--r--src/smtp_server.rs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/smtp_server.rs b/src/smtp_server.rs
index bee00e9..91d732c 100644
--- a/src/smtp_server.rs
+++ b/src/smtp_server.rs
@@ -104,7 +104,12 @@ impl SessionHandler {
// message
if self.state == SessionState::AwaitingMailInput {
if buffer.starts_with(".\r\n") {
- self.process_mail().await?;
+ if let Reply::InvalidCommand = self.process_mail().await? {
+ writer
+ .write_all(Reply::InvalidCommand.to_string().as_bytes())
+ .await?;
+ continue;
+ }
writer
.write_all(Reply::Completed("Ok").to_string().as_bytes())
.await?;
XMR address: 854DmXNrxULU3ZFJVs4Wc8PFhbq29RhqHhY8W6cdWrtFN3qmooKyyeYPcDzZTNRxphhJ5UzASQfAdEMwSteVqymk28aLhqj