[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Delayed messages with "revealing" Date header?

From: Tim Landscheidt
Subject: Re: Delayed messages with "revealing" Date header?
Date: Fri, 12 Feb 2010 22:36:27 +0000
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Katsumi Yamaoka <> wrote:

>>   When I delay a message with C-c C-j, the message gets a
>> Date header with the current time (visible in the delayed
>> group) that is not filtered when the message is sent. This
>> results in a message sent at time Y that is clearly labelled
>> as having been written at time X - though in most cases I
>> would assume the intention would be to pretend it having
>> been written at time Y. Is this an issue with my setup
>> (Gnus 5.13) or is my use case so uncommon? :-)

> The present behavior seems faithful to RFC2822:

> ,----
> | 3.6.1. The origination date field 3.6.1.
> | [...]
> | The origination date specifies the date and time at which the
> | creator of the message indicated that the message was complete
> | and ready to enter the mail delivery system. For instance, this
> | might be the time that a user pushes the "send" or "submit"
> | button in an application program. In any case, it is
> | specifically not intended to convey the time that the message is
> | actually transported, but rather the time at which the human or
> | other creator of the message has put the message into its final
> | form, ready for transport. (For example, a portable computer
> | user who is not connected to a network might queue a message for
> | delivery. The origination date is intended to contain the date
> | and time that the user queued the message, not the time when the
> | user connected to the network to send the message.)
> `----

Well, it probably depends whether Gnus considers itself a
MUA or a MTA :-). *If* the latter, I would expect a delay
string of "when online on network X" rather than wall-clock
time :-).

> You can easily override it though. ;-p

> (defadvice gnus-draft-send (around remove-date-header-from-delayed-message
>                                  activate)
>   "Remove Date header from delayed message in order to be redone."
>   (if (equal (ad-get-arg 1) "nndraft:delayed")
>       (let ((gnus-message-setup-hook
>            (cons (lambda nil
>                    (save-restriction
>                      (message-narrow-to-headers)
>                      (if (re-search-forward "^Date:.*\n" nil t)
>                          (replace-match ""))))
>                  gnus-message-setup-hook)))
>       ad-do-it)
>     ad-do-it))

I *wanted* to ask why not to advise gnus-delay-send-queue,
which seems to be the more "natural" place to do so, then I
wondered how you could then set a Date header if you wanted
to, so I started debugging where the Date header actually
comes from :-). The result was that the Date header gets in-
serted due to message-draft-headers. Deleting Date from that
solved the issue.

  The only downside I could find so far was that the drafts
and delayed groups can no longer be sorted by date; are
there any other disadvantages I overlooked?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]