blob: c9cc910610d961ca67998513a3314b4a0f0e9d4c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
%%{
machine smtp_base;
# Base SMTP definitions
# Dependencies: none
# Required actions: none
WSP = " ";
CRLF = "\r\n" | ("\r" [^\n]) | ([^\r] "\n");
DQUOTE = '"';
# Printable US-ASCII characters not including specials
atext = alpha | digit | "!" | "#" | "$" | "%" | "&" |
"'" | "*" | "+" | "_" | "/" | "=" | "?" | "^" |
"-" | "`" | "{" | "|" | "}" | "~";
# Printable US-ASCII characters not including "[", "]", or "\"
dtext = 33..90 | 94..126;
# Printable US-ASCII characters not including "(", ")", or "\"
ctext = 33..39 | 42..91 | 93..126;
dcontent = 33..90 | 94..126;
Let_dig = alpha | digit;
Ldh_str = ( alpha | digit | "_" | "-" )* Let_dig;
quoted_pairSMTP = "\\" 32..126;
qtextSMTP = 32..33 | 35..91 | 93..126;
Atom = atext+;
Dot_string = Atom ("." Atom)*;
dot_atom_text = atext+ ("." atext+)*;
#FWS = ((WSP* CRLF)? WSP+);
FWS = WSP+; # We work with unfolded headers, so we can simplify machine
sub_domain = Let_dig Ldh_str?;
Domain = sub_domain ("." sub_domain)*;
Atdomain = "@" Domain;
Adl = Atdomain ( "," Atdomain )*;
Standardized_tag = Ldh_str;
}%%
|