Chris Bartram wrote:
Not so far off perhaps... If the vacation notices were wrapped in a standard
format (like the MDN/DSNs) then software could potentially handle such
notices automatically. At least, as long as an RFC is being developed for
vacation messages anyway, why not go ahead and dictate that the vacation
messages utilize one of the standardized notification formats??
I like your idea, let's see where this can lead us...
I can see at least two approaches to handle incoming messages for
vacated users. One is to delay final delivery at the MTA level and
sending an appropriate "delayed" DSN, the other is to complete the final
delivery and and send an appropriate "dispatched" MDN.
In the case of a delayed final delivery the proposed vacation extension
in Sieve is not useful since Sieve is intended to be applied at the
point of final delivery. When the user have activated the vacation state
on the maildrop, messages will not be finally delivered until end of the
vacation period.
What complications can this imply on the MTA level?
For the user to gain access to the queued messages before end of the
vacation period the vacation state have to be cancelled and possibly
reinstated after having the queued messages delivered to the maildrop.
Looking into the use of DSN for vacation notices raises some questions.
Using Action:delayed seem to most appropriate in such an approach. The
most appropriate status code seem to be 4.2.1 as taken from RFC 1893:
4.X.X Persistent Transient Failure
X.2.X Mailbox Status
X.2.1 Mailbox disabled, not accepting messages
There seem to be no code for vacation, do we need to define such?
Then we should try to communicate the duration of the vacation period.
Is it sufficient to use the optional "Will-Retry-Until" header?
Or one might want to use the "Diagnostic-Code" with type "vacation"
(certainly not standard yet :) and a text argument containing meta
information about the vacation. There is also the choice of using
extension headers. Comments?
Regarding the alternative approach of completing the final delivery and
emitting an MDN as vacation notice, the following might do the trick:
Disposition-action-mode = automatic-action
Disposition-action-mode = MDN-sent-automatically
Disposition-type = "dispatched"
Disposition-modifier = "vacation" (or "x-vacation" until registered)
Resulting in a complete disposition field as:
Disposition: automatic-action/MDN-sent-automatically ;
dispatched/x-vacation
Comments?
--
Tomas Fasth mailto:tomas(_dot_)fasth(_at_)twinspot(_dot_)net
EuroNetics Operation telephone:+46-13-218-181
Mjärdevi Science Park cellular:+46-708-870-957
58330 Linköping, Sweden facsimile:+46-708-870-258
TwinSpot Network is a subsidiary of EuroNetics Operation