|
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
|
} |