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

本地化来信的发送日期



在 Mutt 中浏览邮件正文时看到的邮件发送日期是发件人所在时区的时间,例如:
 Tue, 31 Oct 2006 20:24:16 -0600 (CST)

为了让所有由 fetchmail 或是 getmail 或是 mpop 通过 POP3
收取下来的邮件,能按照收件人所在的时区显示为:
 Wednesday, 2006-11-01 10:24:16 +08:00 (GMT)

可以借由 procmail 使用 formail 向邮件正文中追加一条邮件头部标识。可以向
procmail 配置文件 ~/.procmailrc 添加以下内容:
----------------
:0
* ^Date: \/.*
{
    local_date = `TZ='GMT-8'; date '+%A, %F %T %:z (%Z)' -d $MATCH`
    :0 fhw
    | $FORMAIL -A "LDate: ${local_date}"
}
----------------

然后再修改 Mutt 的配置文件 ~/.muttrc (或 ~/.mutt/muttrc) ,用 LDate 替代 Date
。例如:
----------------
ignore *
unignore From:
unignore To:
unignore Subject:
unignore CC:
unignore BCC:
unignore Reply-To:
unignore LDate:
unignore Organization:
unignore X-Label:

hdr_order From: To: CC: BCC: LDate: Reply-To: Organization: X-Label: Subject:
----------------

这样修改以后,再次用 Mutt 浏览邮件正文时便可以看到以 GMT-8 (Asia/ShangHai)
时区显示的发件日期了。

注: 不要用 formail 的 -I 参数直接替换掉 Date 字段,因为这将导致 Mutt
不能正确识别邮件的发件日期,引起排序/显示等其他方面的问题。

-- 
Vern
2007-11-30

Attachment: signature.asc
Description: Digital signature


Reply to: