1 /// Enum to distinguish between different SMTP mail handling modes
2 #[derive(Debug, Clone, Copy, PartialEq, Eq)]
3 pub enum MailMode {
4 /// Receive mode: for incoming mail (port 2525)
5 /// Messages received in this mode are stored in INBOX
6 Receive,
7
8 /// Submit mode: for outgoing mail submission (port 2526)
9 /// Messages received in this mode are logged and relayed
10 Submit,
11 }
12
13 #[cfg(test)]
14 mod tests {
15 use super::*;
16
17 #[test]
18 fn test_mail_mode_equality() {
19 assert_eq!(MailMode::Receive, MailMode::Receive);
20 assert_eq!(MailMode::Submit, MailMode::Submit);
21 assert_ne!(MailMode::Receive, MailMode::Submit);
22 }
23
24 #[test]
25 fn test_mail_mode_clone() {
26 let mode1 = MailMode::Receive;
27 let mode2 = mode1;
28 assert_eq!(mode1, mode2);
29 }
30 }