aboutsummaryrefslogtreecommitdiff
path: root/src/smtp.rs
diff options
context:
space:
mode:
authorMroik <mroik@delayed.space>2026-04-07 16:03:50 +0200
committerMroik <mroik@delayed.space>2026-04-13 06:56:10 +0200
commit24cee3a3bc44a758d5fdfdf5d32df82a97afdd97 (patch)
treedf43ebb0b8ca9461aefda070db419510499aba18 /src/smtp.rs
parent2818801042e44961ac2787ff9cd88d0579061a7b (diff)
Add SMTP server greeting
Signed-off-by: Mroik <mroik@delayed.space>
Diffstat (limited to 'src/smtp.rs')
-rw-r--r--src/smtp.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/smtp.rs b/src/smtp.rs
index f8cf0ee..b77a0b6 100644
--- a/src/smtp.rs
+++ b/src/smtp.rs
@@ -49,6 +49,12 @@ impl SessionHandler {
let mut r = BufReader::new(&stream);
let mut buffer = String::new();
+ writer.write_all(
+ Reply::Ready(String::from(SERVER_NAME))
+ .to_string()
+ .as_bytes(),
+ )?;
+
loop {
if r.read_line(&mut buffer)? == 0 {
break;
@@ -93,12 +99,14 @@ impl Default for SessionState {
}
enum Reply {
+ Ready(String),
Completed(String),
}
impl ToString for Reply {
fn to_string(&self) -> String {
match self {
+ Reply::Ready(hostname) => format!("220 {}", hostname),
Reply::Completed(hostname) => format!("250 {}", hostname),
}
}
XMR address: 854DmXNrxULU3ZFJVs4Wc8PFhbq29RhqHhY8W6cdWrtFN3qmooKyyeYPcDzZTNRxphhJ5UzASQfAdEMwSteVqymk28aLhqj