我想知道是否有办法只从一个电子邮件帐户管理多个电子邮件帐户。我有大约 40 或 50 个外部 POP3 电子邮件帐户,是否有办法将这些帐户中的所有条目电子邮件转发到 1 个,然后当最终用户从该帐户回复时,他们会从他写的邮件中看到它?
例如:用户 ([电子邮件保护])向我的一个帐户发送电子邮件([电子邮件保护]),该电子邮件被转发到我的个人帐户([电子邮件保护]),我从我的个人帐户回复,但是用户([电子邮件保护]) 看到它来自 ([电子邮件保护]) 以及我的所有帐户。
有没有办法做到这一点?有没有办法用自定义程序做到这一点?
我的服务器是基于Linux的,安装了postfix和dovecot。
谢谢
答案1
您需要知道 POP3 和 IMAP(由 Dovecot 实现)是用于访问邮箱的协议,而 SMTP(由 Postfix 实现)用于发送和接收邮件。您无需尝试从一个帐户访问 50 个外部 POP3 帐户,而是需要将所有邮件发送到一个帐户。
从这些备用身份回复是您的电子邮件客户端而不是服务器的功能,但需要配置服务器以允许此功能:
- 您的客户端需要所有这些地址的中继访问权限
- 您的服务器需要被列为每个域的允许发件人(在其 SPF 记录中)。
如果所有涉及的域都由同一台服务器处理,则很容易实现这一点,如果所有帐户都在不同的服务上,使用由不同管理员处理的不同配置,则几乎不可能实现这一点。这就是为什么我自然而然地将我的答案限制在所有域都使用与主 MX 相同的服务器和允许 SPF 的发件人。
接收来自所有地址并发往单个邮件用户的邮件。
main.cf
列出 Postfix配置参数中的所有域virtual_alias_domains
- 使用
virtual_alias_maps = hash:/etc/postfix/virtual
并列出所有地址作为您真实邮箱的虚拟别名([email protected] yourusername
)。 - 使用 POP3 或 IMAP 访问 的邮件帐户
yourusername
。
配置使用所有地址发送的提交。
- 配置提交在你的 Postfix 中
master.cf
;submission inet n - - - - smtpd
- 配置 Dovecot 以向 Postfix 提供 SALS 身份验证。(例如,请参阅此如何。
使用现有
virtual
数据库将地址与您的提交登录用户进行匹配:-o smtpd_client_restrictions=permit_sasl_authenticated,reject -o smtpd_sender_login_maps=hash:/etc/postfix/virtual -o smtpd_sender_restrictions=reject_sender_login_mismatch
答案2
虽然我猜想使用 Postfix 只需付出一些努力就可以做到这一点,但我相信使用可以做到这一点的 MUA 会最容易。一个(未经测试的)选项是带有“正确身份”插件的 Thunderbird,该插件声称能够在回复时根据您收到邮件的地址选择身份。
为什么 Postfix 层需要努力?原因是当您回复邮件时,原始“收件人:”标头不再存在于发送邮件中,因此无法正确重写它。为了解决这个问题,您需要构建一个环境,将每个传入消息 ID 和“收件人:”标头存储在某种数据库中,然后在处理带有“回复”标头集的回复时查阅该数据库,获取原始“收件人:”标头并进行相应重写。