我想通过电子邮件从人/设备收集某些信息。这些电子邮件永远不会发送给任何人,而只是在服务器上处理。收到的电子邮件将被处理 - 一些只是丢弃,大部分存储(在数据库中),附件可能会或可能不会存储(但从不执行),具体取决于某些条件。
我已经为此使用现有的 MTA 软件进行了调查,并得出结论,它会是矫枉过正的,并且会产生远远超出此目的所需的复杂性。
如果我要编写自己的 MTA 软件,我将需要实现相当有限的功能子集——实际上足以接收电子邮件,而无需发送任何内容。我会尽量减少实际的 MTA 软件,以尽量减少维护量。因此,在 MTA 软件收到一封电子邮件后,它会将其(全部)传递给执行处理的第二个软件。
电子邮件只是简单地存储,仅由发件人和他们明确允许的任何其他人在 Web UI 中检索。某些附件将被存储,但永远不会在服务器上执行,并且只能由原始电子邮件的发件人和他们指定的其他人访问。
我对网络安全领域知之甚少 - 使用如此有限的服务器,我是否开辟了一条潜在的途径?我想这个问题的答案总是肯定的——但我是否比使用维护良好、安全但功能齐全的 MTA 软件(如 Postfix)更不安全?
如果我不够具体或不够清楚,请告诉我,谢谢!
(服务器将是 Linux,可能是 Ubuntu。最有可能在 Mono 下用 C# 编写的软件,可能是 Python 或混合(C# 服务器,Python 处理))
@ S. Lott 我在过去 3 天里一直在探索使用现有软件的选项,似乎我最好的解决方案是 Postfix > Procmail > 我自己的处理。Postfix 是一个完整的 MTA 解决方案,它需要大量配置才能接近我想要的 - 复杂性主要是配置问题,让 3rd 方软件协同工作听我的吩咐。我敢肯定,一个精通配置邮件服务器和管理 nix 服务器的人通常会更轻松,但我认为自定义解决方案不会是一个巨大的项目——我唯一真正关心的是安全性。
同样关于矫枉过正 - 我需要 Postfix 所做的一个非常有限的子集,而且我正在查看的大多数配置都试图禁用某些行为。在许多方面,我更喜欢使用成熟、稳定的 Postfix,而不是我自己的解决方案,但我觉得已经投入的时间本可以更有效地用于专门为该任务编写一些东西。