6.12 on page 1220) to let the library know your intention.
Note that an xxfi_connect() function will not be called if an earlier Milter failed or rejected
the connection, or if sendmail itself rejected the connection. Also note that your Milter may
deny subsequent Milters a crack at the connection if you mistakenly return a wrong code.
Finally, note that it makes no sense to return SMFIS_DISCARD because at this point, no envelopes
have been received yet, so there is nothing to discard.
26.6.5 Milter xxfi_data()
Process the DATA command V8.14 and later
After the connecting client has sent the last of its recipients (after all SMTP RCPT To:
commands have been sent), the client normally begins to send the message itself by issuing
the SMTP DATA command. After the DATA command has been received, but before sendmail
responds to that SMTP DATA command, the xxfi_data() function, if used, is called.
The xxfi_data() function is called like this:
sfsistat
xxfi_data(SMFICTX *ctx)
Here, ctx is the context pointer passed to all xxfi_ functions to maintain state in a multithreaded
environment. That is the only argument passed.
The xxfi_data() function is useful as a means to reject an envelope after all the envelope
recipients have been specified. Such a rejection can occur, for example, because more than
the number of envelopes allowed from a particular sender were received, or because the
ratio of accepted versus rejected recipients by your Milter was too low.
Pages:
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180