On Oct 27, 2011, at 02:29 PM, Ian Eiloart wrote:
The message that I'm replying to carried this header: X-Beenthere: mailman-developers@python.org
Note that I responded in the context of Mailman 3. We have an opportunity there to clean that all up, but it probably isn't a good idea to radically change these for MM2.
From Mailman/Handlers/CookHeaders.py:
msg['X-Mailman-Version'] = mm_cfg.VERSION
Seems to add the product version and not the User-Agent.
Yes, but a User-Agent, header would have the product and the product version. A List-Agent header should do the same.
List-Agent is not a bad idea.
X-Mailman-Approved-At
From Mailman/ListAdmin.py:
# Queue the file for delivery by qrunner. Trying to deliver the # message directly here can lead to a huge delay in web # turnaround. Log the moderation and add a header. msg['X-Mailman-Approved-At'] = email.Utils.formatdate(localtime=1
So, I guess that the web moderation works by adding this header, so that the message can be delivered when the queue runner sees it. It looks like useful trace information, so it should stay.
This also looks like a candidate for, say, a List-Approved-Date header.
That would make sense too.
From cron/gate_news:
del msg['X-Originally-To'] msg['X-Originally-To'] = msg['To']
Does Mailman 3 gate news?
It's supposed to. :)
From Mailman/Defaults.py.in:
# Next, these headers are left alone, unless there are duplicates in the # original message. Any second and subsequent headers are rewritten to the # second named header (case preserved). NNTP_REWRITE_DUPLICATE_HEADERS = [ ('to', 'X-Original-To'), ('cc', 'X-Original-Cc'), ('content-transfer-encoding', 'X-Original-Content-Transfer-Encoding'), ('mime-version', 'X-MIME-Version'), ]
So, this is about tracking original message headers. Why do we want to do that? Why not leave them intact?
Since this is a configuration option, they're under the control of the site administrator. We can certainly discuss whether it makes sense to change or extend the defaults. The values are the same in MM3, even if they're expressed differently in the configuration file.
From Mailman/Handlers/Tagger.py:
# For each regular expression in the topics list, see if any of the lines # of interest from the message match the regexp. If so, the message gets # added to the specific topics bucket.
So, is this used by Mailman to decide who to send the message to? Or is it supposed to help recipients to build filters. Either way, it might be useful for the latter purpose. Perhaps it's a candidate for List-Topics?
Are there any other MLMs that support topics in a way that would make that header generally useful?
From the changelog: The archived copy of messages grows an X-List-Received-Date: header indicating the time the message was received by Mailman.
# Always put an indication of when we received the message. Seems to decide where messages should be archived
I think that's a candidate for a List-Archived-Date header. Because that's potentially helpful for people looking to find the message in an archive.
Possibly so, if it's a header added by the MLM. E.g. an archiver might have its own "archive date" value so it would either have to chose a different header, or use multiple instances (with the loss of fidelity).
-Barry