You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

smtp_base.rl 1.4KB

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