Sendmail:如何获得一个确定的电子邮件地址列表

sendmail作为一个完整的MTA不太熟悉,但我需要得到一个电子邮件地址列表。

我谷歌search,并从中,我已经检查/etc/mail/aliases (有一些在那里,但主要用于黑莓转发,因为它似乎不完整)和virtusertable (空),从我可以告诉,邮件被传送给本地用户。 但是,在那里有很多本地UNIX用户,并且在修改date之前,我猜测一堆都是旧的。

当然,必须有另一个本地用户(电子邮件地址)映射到某个地方的本地用户或更好的方式来告诉哪些电子邮件地址是活跃的(或至less,function;我可以处理一些不活动的,因为缺less一些会更糟,显然)。

根据您的软件,您的日志是查找真正使用的ID的好地方。 这也取决于您保留邮件日志的时间。 一个小脚本魔术,你应该能够通过电子邮件ID来计数。

Sendmail通常使用标准的mail.log文件来logging邮件的发送。 一旦find适当的日志,select和分析传送消息应该不会太困难。

您需要过滤掉发送到其他系统的消息(不包括您的黑莓服务器)。

通常特权帐户(UID <500或1000)不应该接收电子邮件。 除此之外,您的身份validation系统可接受的任何身份证件都应该有效 尝试运行getent passwd来获取用户列表。

各种别名文件用于redirect传送。 许多别名用于abusepostmaster等必需的ID,或许多别名可能指向的系统ID(如root 。 您需要过滤掉系统ID,并在新服务器中configuration所需的ID。

我假设你正在使用Linux或UNIX。

Sendmail将允许邮件发送到/ etc / passwd中的所有用户帐户(取决于您需要添加NIS以及可能的AD用户的身份validation方法)。 另外,别名文件中的用户可以是有效的电子邮件地址。 顺便说一句,要获得别名列表,我使用praliases(可在RH系统上使用)。

顺便说一句,我已经注意到在/ etc / passwd密码禁用用户和NIS帐户仍然可以获得电子邮件,我不知道AD用户个人。

还有一个复杂的问题,所有这些“用户”都可以在本地接收/ etc / mail / local-host-names中列出的所有域名。

说了这么多,我对你可能想要的有点困惑。

你所寻找的信息当然是存在的,但不是在一个文件中,也不是一个命令。

我在* nix distribs中看到了/ etc / aliases和/ etc / mail / aliases中的实例 – 而后者实际上并没有被使用(也没有链接到/ etc / aliases)。 不能伤害到/ etc / aliases是否存在,并可能有更多的信息.​​..