我拥有一个全能域,因此发送到的所有电子邮件都将发送*@foo.bar
到一个帐户。我有特定组织的唯一用户名,例如stackexchange@foo.bar
. 如果电子邮件地址被盗用并且我开始收到垃圾邮件,我可以删除该帐户,并在 上创建一个新帐户stackexchange2@foo.bar
。(这非常有效;我在 7 年内删除了大约 30 个电子邮件地址,并且收到的垃圾邮件为零。)
我正在考虑从 Thunderbird 转移到 Mutt 作为我的电子邮件客户端。但是,我广泛使用的一个 Thunderbird 附加组件是Virtual Identity。这允许我手动输入发件人地址,也可以通过两种方式自动修改此地址。
Mutt 有没有办法完成这三个功能(上面的粗体)?我知道最后一点是有可能的,尽管该解决方案需要设置潜在发件人地址列表,而不是自动允许所有发件人进入*@foo.bar
.
您可以将 mutt 配置为使用与地址不同的地址(通过您的~/.muttrc
),例如:
set use_from = yes
set envelope_from = yes
set from = default@example.org
set realname = "Default Realname"
# list of all your addresses
alternates @example\.org$
Run Code Online (Sandbox Code Playgroud)
您可以设置一些宏以在撰写新邮件之前显式切换 from:
macro index \e1 "set from=foo@example.org\n" "Select foo address"
macro index \e2 "set from=bar@example.org\n" "Select bar address"
# ...
Run Code Online (Sandbox Code Playgroud)
回复电子邮件时,您可以将 mutt 配置为自动使用 to-header 作为发件人地址(这是您问题中的第 2 点):
set reverse_name=yes
Run Code Online (Sandbox Code Playgroud)
不要重复使用真实姓名 - 当人们向您发送诸如"foo@example.org" <foo@example.org>
以下内容的废话时会有所帮助:
set reverse_realname=no
Run Code Online (Sandbox Code Playgroud)
然后你可以设置一些钩子来让事情依赖于标头值——例如使用不同的 fcc 文件夹:
fcc-hook '~f ^foo@example\.org' '=foo'
Run Code Online (Sandbox Code Playgroud)
(还有其他钩子,比如send-hook
等)
我会研究挂钩以实现您问题中的第 1 点。虽然,您需要一些外部脚本来维护这样的数据库。
根据您当前的 MTA 设置,您可能还需要更改其配置,即它接受不同的信封 froms。
也可以根据例如来自信封的主机名使用不同的 SMTP 中继,但这必须在 MTA 中进行配置。