We all know how SPF breaks forwarding. Some even say that forwarding has 
been broken since rfc1123 deprecated source routing in the envelope return 
path, in 1989. Anyway, it is broken now. That's why I'm asking to this 
list for any comments, thoughts, and insights that may lead to fix forwarding.

A tentative solution provides for a local forwarding policy. When a 
message is being forwarded (i.e. it already has a Return-Path), the mailer 
should look up the policy in order to determine what envelope sender 
replacement, if any, it should use.

Not replacing the envelope sender is fine if the mailer can be 
authenticated and/or whitelisted by the target MTA. An hypothesis is that 
such whitelisting should be granted with per-recipient granularity, i.e. 
whitelisting only for a specific recipient, e.g. using the AUTH parameter 
of the MAIL FROM command. Either the mailer or the local policy 
implementation should be able to determine if the target MTA is able to 
support this kind of authorization, even if the current recipient has not 
been authorized yet. In the latter case the message at hands should stay 
in the queue (or be rejected with a 4xx response) until the required 
authorization is granted. If the target MTA does not support this 
solution, messages may still be forwarded using an SPF-compliant sender 
replacement, as ruled by the local policy. A sender replacement is needed 
anyway when the final recipient's addresses are not to be disclosed to the 
message originator.

Authorizations should be granted automatically. Different sites may 
implement different strategies in order to check a specific relay is 
trustworthy, which may imply manual operations. After a relay has been 
registered, in case it needs to, it should be able to obtain 
authorizations for forwarding to each new user in a fully automated fashion.

A forwarder may provide some capabilities, such as querying some DNSBLs, 
performing SPF checks and similar. Zero or more of the available 
capabilities may be enabled for each specific recipient. After it has been 
whitelisted, a forwarder will not be deemed responsible for relayed spam. 
If both hosts support spam reporting, that activity may be coordinated by 
sending spam reports back to the forwarder when they belong there.

In return for a forwarding authorization, a forwarder grants the final 
recipient permissions to directly inquiry, update, and delete the relevant 
record of the local forwarding policy. To delete here means to not forward 
any further message, possibly responding "551 user not local". That way a 
recipient can be able to control and recurse through a chain of 
forwarders, e.g. via web services. Update and delete actions should be 
handled differently according to the kind of alias to alias-expansion 
relationship (1-1 or 1-many).

For each authorization, some properties may be relevant, e.g. if the 
forwarding happens after subscribing to a list, if the address has been 
double-checked, what was the requesting IP, if an alias is meant for 
concealing its expansion rather than as an address update, et cetera. To 
retrieve those properties, a target host may store access credentials 
gained from forwarders, keyed on both recipient address and ip or helo 
name of the forwarder. Thus, that may imply an additional database, 
besides the local policy one. However, it would also provide an 
opportunity for verifying opt-in data.

More or less, that's it. The Anti-Spam Research Group might have been a 
more suitable list for this topic, but I'd rather seek practical advice. Any?












































-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
courier-users mailing list
courier-users@lists.sourceforge.net
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-users

Reply via email to