带有maildir的Gnus:回复标头中的奇怪字段
Posted
技术标签:
【中文标题】带有maildir的Gnus:回复标头中的奇怪字段【英文标题】:Gnus with maildir : strange fields in reply header 【发布时间】:2011-11-13 03:01:03 【问题描述】:我正在使用带有 Offlineimap 的 Gnus 来阅读 GMail。 Offlineimap 从 GMail 获取邮件并存储在我本地计算机上的 Maildir 文件夹中 /mnt/Mail/ 。我将 Gnus 指向这些文件夹,它从那里读取邮件并将其显示给我。
当我尝试回复邮件时(当光标位于摘要缓冲区中邮件的主题上时键入“r”),我遇到以下问题:
(i) “Fcc:”字段填充了一个不存在的目录,我被告知该目录不存在(它不存在)。还会提示我是否要将此目录创建为新的 maildir 目录:
/mnt/Mail/sent 不是邮件目录。创造它? (是或否)
由于我不想保存已发送邮件的本地副本(因为 Gmail SMTP 和 IMAP 无论如何都会为我获取它),所以在继续之前我必须始终说“不”。每次都发生这种情况时,这是一个巨大的不便。
我如何摆脱这个字段?我不想希望以这种方式将发送的邮件保存在本地计算机上的任何位置。
我在 .gnus 文件中尝试了以下设置,但无济于事:
(setq gnus-author-copy nil) (setq gnus-author-copy-saver nil)
..
(setq mail-yank-ignored-headers "Fcc:")
(ii) 消息头中有一个“参考:”字段,内容如下:
参考:
我如何摆脱这个字段?这看起来很丑陋,在普通电子邮件中毫无用处。
(iii) 消息头中的“From:”字段指的是我的本地机器:
发件人:G 菲利普
我还必须每次都编辑此字段,以便它包含我正确的电子邮件 地址。
由于我在我的 gmail 帐户中使用了几个电子邮件地址,因此我在我的 .gnus 文件中尝试了以下操作,以使该字段使用我正在回复的电子邮件的“收件人:”地址,但没有一种方法作品:
(setq message-alternative-emails (regexp-opt '("myfirstaddress@gmail.com" "myotheraddress@gmail.com"))))
..
(setq gnus-posting-styles '(((标题“到”“myfirstaddress gmail.com”) (地址“myfirstaddress gmail.com”)) ((标题“到”“myotheraddress gmail.com”) (地址“myotheraddress gmail.com”))))
如何设置,以便“发件人:”字段自动填充原始电子邮件的“收件人:”字段?
我的 .gnus 文件如下所示:
;;使用Gnus从offlineimap同步的本地目录读取gmail
(setq gnus-select-method
'(nnmaildir "Gmail" (directory "/mnt/Mail") (expire-age never)))
;;不要隐藏已读邮件
(setq gnus-fetch-old-headers t)
;;按日期排序,最新的在前。
(setq gnus-thread-sort-functions
'(gnus-thread-sort-by-number gnus-thread-sort-by-most-recent-date))
;;不要每次都寻找新的“组”。
(setq gnus-check-new-newsgroups nil)
;;使用更好(但更慢)的函数来提取信息
;;从邮件标题。
(setq gnus-extract-address-components
'mail-extract-address-components)
;;使用 gmail SMTP 服务器发送电子邮件。
(setq send-mail-function 'smtpmail-send-it
message-send-mail-function 'smtpmail-send-it smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil)) smtpmail-auth-credentials '(("smtp.gmail.com" 587 "myemailaddress@gmail.com" nil)) smtpmail-default-smtp-server "smtp.gmail.com" smtpmail-smtp-server "smtp.gmail.com" smtpmail-smtp-service 587 smtpmail-debug-info t smtpmail-local-domain "gmail.com")
【问题讨论】:
【参考方案1】:嗯,(ii) 很简单。您可以通过将任何标题添加到 gnus-ignored-headers
来隐藏任何标题(或者将其从 gnus-visible-headers
中删除,如果它存在的话)。见http://www.gnus.org/manual/gnus_142.html#SEC142
(iii) 如果我正确理解了这个问题,也可能很容易。您是在谈论您发送的消息中的 From 字段吗?如果是这样,那么将user-mail-address
设置为您想要使用的默认值,Gnus 将不必根据您的用户名和机器的主机名进行猜测。
【讨论】:
谢谢,但这已经是这样了:gnus-visible-headers 是非零:"^From:\\|^Newsgroups:\\|^Subject:\\|^Date: \\|^Followup-To:\\|^Reply-To:\\|^Organization:\\|^Summary:\\|^Keywords:\\|^To:\\|^[BGF]?抄送: \\|^Posted-To:\\|^Mail-Copies-To:\\|^Mail-Followup-To:\\|^Apparently-To:\\|^Gnus-Warning:\\|^Resent- From:\\|^X-Sent:" 和 FWIW,gnus-ignored-headers 包含对 "References" 的引用: ("^Path:" "^Expires:" "^Date-Received:" "^References :" "^Xref:" ...) 但这似乎并不能阻止 gnus!gnus-ignored-headers
应该是包含正则表达式的单个字符串,与gnus-visible-headers
的样式相同。但是,这无关紧要,因为 gnus-ignored-headers
仅在 gnus-visible-headers
为 nil 时使用。您可以通过转到您的消息缓冲区并执行C-h v gnus-visible-headers
来仔细检查gnus-visible-headers
的值。这将向您显示当前值(以及变量的文档)。
以您建议的方式再次检查gnus-visible-headers
的值,得到的结果与以前完全相同。我已经辞职每次都删除讨厌的Fcc:
字段。以上是关于带有maildir的Gnus:回复标头中的奇怪字段的主要内容,如果未能解决你的问题,请参考以下文章
使用 emacs 和 gnus 在引用的回复中包含原始消息的日期和时间
HttpRequestMessage 的 Content-Type 标头中的奇怪行为