On 2/20/2004 9:41 AM, ned(_dot_)freed(_at_)mrochek(_dot_)com sent forth
electrons to convey:
The main problem with the idea of relaxing the rules for reject to
allow it to
generate DSNs or a 5xy error when running on an MTA is that a script will
behave in a fairly different way depending on whether you run it on an
MUA or a
MTA. I really don't like this. And if you use a require tag to mean
"change the
semantics of reject to refuse" and make it so the tag only works on
MTAs,
you're back to having to change the scripts when you move them around.
Its just
generally cleaner to have two different actions here and have one of
them be
MTA-only.
It's unavoidable for behavior to differ between an MUA and an MTA, if
there is support for a "refuse" action.
What solution do you suggest to avoid a script either behaving
differently or having to be different ?
You're almost saying you want both, but isn't that an impossibility?
A require tag that means "change the semantics of reject to refuse"
seems to have the fewest drawbacks.
I think it's impossible for a script that uses a "refuse" action to be
and behave the same on an MUA and an MTA.
This is still a problem with Cyrus' proposal: what would happen if
"refuse smtp5" was attempted in a script on a MUA? It still would
require a change on a mail agent that couldn't do SMTP time refuses.
Here's an idea!
Perhaps "refuse" should have an "Am I an MTA capable of refusing?" test
or constant?
Then users wouldn't have to add/remove the <require "refuse"> string
when moving a script between MUA and MTA.