-
Notifications
You must be signed in to change notification settings - Fork 3
/
msa.html
129 lines (96 loc) · 4.99 KB
/
msa.html
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<html>
<body>
<h2><a href="mailfront.html">MailFront</a></h2>
<h2><a href="smtpfront.html">SMTP Front Ends</a></h2>
<h1>Message Submission Agent</h1>
<hr>
<h2>Summary</h2>
<p>An MSA (message submission agent) is a mail component specifically
designed to accept mail submitted by an MUA (message user agent, or mail
client) for further delivery or relaying. This is in contrast to a MTA
(message transfer agent) which is designed to accept mail from other
MTAs primarily for local delivery. The most important standard
governing the behavior of an MSA is <a
href="http://www.faqs.org/rfcs/rfc2476.html">RFC 2476</a>. All modules
described as being "MSA compliant" can fill the role described by the
standard.</p>
<h2><a href="http://www.faqs.org/rfcs/rfc2476.html">RFC 2476</a> Details</h2>
<table border="1">
<tr> <th>Section</th> <th>Description</th> <th>Status</th> </tr>
<tr> <th colspan="3">Requirements</th> </tr>
<tr> <td>3.2</td> <td>A null return path, that is, MAIL FROM:<>, is
permitted and MUST be accepted. (MUAs need to generate null return-path
messages for a variety of reasons, including disposition
notifications.)</td> <td>Yes</td> </tr>
<tr> <td>4.1</td> <td>Unless covered by a more precise response code,
response code 554 is to be used to reject a MAIL FROM, RCPT TO, or DATA
command that contains something improper. Enhanced status code 5.6.0 is
to be used if no other code is more specific.</td> <td>Yes</td> </tr>
<tr> <td>4.2</td> <td>The MSA MUST ensure that all domains in the
envelope are fully-qualified.</td> <td>Yes</td> </tr>
<tr> <td>4.2</td> <td>If the MSA examines or alters the message text in
way, except to add trace header fields [<a
href="http://www.faqs.org/rfcs/rfc821.html">RFC 821</a> / <a
href="http://www.faqs.org/rfcs/rfc2821.html">RFC 2821</a>], it MUST
ensure that all domains in address header fields are
fully-qualified.</td> <td>N/A</td> </tr>
<tr> <td>4.2</td> <td>Reply code 554 is to be used to reject a MAIL
FROM, RCPT TO, or DATA command which contains improper domain
references.</td> <td>Yes</td> </tr>
<tr> <td>5.1</td> <td>Reply code 501 is to be used to reject a MAIL FROM
or RCPT TO command that contains a detectably improper address.</td>
<td>N/A</td> </tr>
<tr> <td>5.1</td> <td>When addresses are resolved after submission of
the message body, reply code 554 with enhanced status code 5.6.2 is to
be used after end-of-data, if the message contains invalid addresses in
the header.</td> <td>N/A</td> </tr>
<tr> <td>6.4</td> <td>Reply code 554 is used for syntactic problems in
the data. Reply code 501 is used if the command itself is not
syntactically valid. Reply code 550 with enhanced status code 5.7.1 is
used to reject based on the submitting user. Reply code 550 with
enhanced status code 5.7.0 is used if the message violates site
policy.</td> <td>N/A</td> </tr>
<tr> <td>7</td> <td>The MSA MUST NOT accept ETRN. [<a
href="http://www.faqs.org/rfcs/rfc1985.html">RFC 1985</a>]</td>
<td>Yes</td> </tr>
<tr> <td>7</td> <td>The MSA MUST NOT send the SMTP 521 Reply Code [<a
href="http://www.faqs.org/rfcs/rfc1845.html">RFC 1845</a>]</td>
<td>Yes</td> </tr>
<tr> <td>8.1</td> <td>The MSA MUST ensure that any address it places in
a 'Sender' field is in fact a valid mail address.</td> <td>N/A</td>
</tr>
<tr> <th colspan="3">Recommendations</th> </tr>
<tr> <td>3.2</td> <td>If an MSA is not able to determine a return path
to the submitting user, from a valid MAIL FROM, a valid source IP
address, or based on authenticated identity, then the MSA SHOULD
immediately reject the message. A message can be immediately rejected
by returning a 550 code to the MAIL FROM command.</td> <td>N/A</td>
</tr>
<tr> <td>4.2</td> <td>Local conventions that permit single-level domains
SHOULD reject, rather than expand, incomplete multi-level domains.</td>
<td>N/A</td> </tr>
<tr> <td>5.1</td> <td>An MSA SHOULD reject messages with illegal syntax
in a sender or recipient envelope address.</td> <td>N/A</td> </tr>
<tr> <td>5.1</td> <td>If the MSA examines or alters the message text in
way, except to add trace header fields, it SHOULD reject messages with
illegal address syntax in address header fields.</td> <td>N/A</td> </tr>
<tr> <td>5.2</td> <td>The MSA SHOULD log message errors, especially
apparent misconfigurations of client software.</td> <td>No</td> </tr>
<tr> <td>7</td> <td>The MSA SHOULD accept pipelining. [<a
href="http://www.faqs.org/rfcs/rfc2197.html">RFC 2197</a>]</td>
<td>Yes</td> </tr>
<tr> <td>7</td> <td>The MSA SHOULD send error codes. [<a
href="http://www.faqs.org/rfcs/rfc2034.html">RFC 2034</a>]</td>
<td>Yes</td> </tr>
<tr> <td>7</td> <td>The MSA SHOULD send extended response codes. [<a
href="http://www.faqs.org/rfcs/rfc1893.html">RFC 1893</a>]</td>
<td>Yes</td> </tr>
<tr> <td>7</td> <td>The MSA SHOULD support DSN. [<a
href="http://www.faqs.org/rfcs/rfc1891.html">RFC 1891</a>]</td>
<td>No</td> </tr>
<tr> <td>7</td> <td>The MSA SHOULD accept 8-bit MIME data. [<a
href="http://www.faqs.org/rfcs/rfc1652.html">RFC 1652</a>]</td>
<td>Yes?</td> </tr>
</table>
</body>
</html>