在 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