好的,我有一个(非常hacky)的解决方案。答:可以通过编辑mutt
的代码删除这些标头,但到目前为止,还没有其他方法。
首先,没有标志或任何签入mutt
的源代码,以防止这些标题出现在撰写菜单窗口中。至少我没看到。
因此,在不编辑mutt
代码的情况下,不可能指定哪些标题显示在撰写菜单中。
我查看了源代码(apt-get source mutt
),发现mutt
撰写邮件时在哪里绘制了标题。
重要的部分在于compose.c
:
[...]
[line 60]
// HDR_REPLYTO,
[...]
[line 77]
static char *Prompts[] =
{
"From: ",
"To: ",
"Cc: ",
"Bcc: ",
"Subject: ",
// "Reply-To: ",
"Fcc: "
};
[...]
[line 251]
static void draw_envelope (HEADER *msg, char *fcc)
{
draw_envelope_addr (HDR_FROM, msg->env->from);
draw_envelope_addr (HDR_TO, msg->env->to);
draw_envelope_addr (HDR_CC, msg->env->cc);
draw_envelope_addr (HDR_BCC, msg->env->bcc);
mvprintw (HDR_SUBJECT, 0, TITLE_FMT, Prompts[HDR_SUBJECT - 1]);
mutt_paddstr (W, NONULL (msg->env->subject));
// draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);
mvprintw (HDR_FCC, 0, TITLE_FMT, Prompts[HDR_FCC - 1]);
mutt_paddstr (W, fcc);
if (WithCrypto)
redraw_crypt_lines (msg);
#undef MIXMASTER
#ifdef MIXMASTER
redraw_mix_line (msg->chain);
#endif
[...]
[line 564]
// case OP_COMPOSE_EDIT_REPLY_TO:
// menu->redraw = edit_address_list (HDR_REPLYTO, &msg->env->reply_to);
// mutt_message_hook (NULL, msg, M_SEND2HOOK);
// break;
根据上面的代码进行以下更改:
- 注释掉第60行,
HDR_REPLYTO
枚举->消失Reply-To
标题
- 注释掉
Prompts
数组中的“ Reply-To:”字符串->消失Reply-To
标题字符串
- 注释掉
draw_envelope_addr (HDR_REPLYTO, msg->env->reply_to);
->消失Reply-To
标题
- 注释掉行
564
- 567
避免由于缺少而导致的编译错误HDR_REPLYTO
->消除Reply-To
标题编辑选项
#undef MIXMASTER
在def检查之前添加(或可能更早添加此行以避免任何检查为肯定)->使Mix
标头消失。
然后./configure
并make
创建您的个性化mutt
。您可能必须修复一些编译和配置问题。
它工作了mutt-1.5.21
。
我真的不知道mutt的代码是如何工作的,我看到它们使用的是curses
Windows。如果有人花更多时间了解此代码以及它为何起作用,请发布后续消息。
Mix
用于通过mixmaster
(无论意味着什么)发送匿名消息