leonardo07
作者leonardo07·2012-05-02 16:07
软件开发工程师·华新水泥

通过邮件服务器制定邮件邮递白名单和黑名单

字数 2831阅读 6100评论 0赞 2

通过邮件服务器制定邮件白名单和黑名单

Lotus Domino 作为企业级的协作平台,可以作为生产或测试环境的邮件服务器。可以将测试环境的邮件全部通过 SMTP 路由到 Domino 邮件服务器,由 Domino 服务器对邮件进行过滤和处理后再发送出去。Domino 提供了多种邮件过滤机制,可以根据实际情况进行选择。可以直接删除测试环境发出来的邮件,也可以暂存到一个集中的数据库供开发人员分析处理,可以允许授权的用户发送测试邮件等等。

在此介绍其中的两种实现方式:SMTP 外出控制 服务器邮件规则。下述示例均使用最新版本的 Lotus Domino/Notes 8.5.2 进行说明。

Domino 服务器 SMTP 外出控制来实现黑白名单的功能

Domino 服务器可以设置“路由器 /SMTP 的外出控制”,用以限制用户发送 Internet 邮件。“外出发件人控制”可用于指定能够和不能向 Internet 发送邮件的用户。

不能够向 Internet 发送邮件的用户设置

  • 拒绝将来自以下 Internet 地址的消息发送到 Internet
  • 拒绝将来自以下 Notes 地址的消息发送到 Internet

用于设置黑名单,适用于只禁止部分用户发送邮件的情况。

在 domino 邮件服务器的公共通讯录中创建一个新的群组,例如群组名为“DenySendMailGroup”,设置如下:


图 1. 创建邮件组
图 1. 创建邮件组 

打开 Domino 邮件服务器的配置文档,选择“路由器 /SMTP”, 选择“限制和控制”,选择“SMTP 外出控制”。在如下 2 处设置上述群组名称:


图 2. 配置设置
图 2. 配置设置 

该群组中的用户发送邮件时,Domino 服务器将不为其发送,并返回给发送者类似的投递失败报告:


图 3. 投递失败报告
图 3. 投递失败报告 

Domino 邮件服务器端有类似处理记录信息:


图 4. 服务器端处理记录
图 4. 服务器端处理记录 

能够向 Internet 发送邮件的用户设置

  • 仅允许将来自以下 Internet 地址的消息发送到 Internet
  • 仅允许将来自以下 Notes 地址的消息发送到 Internet

用于设置白名单,适用于只允许部分用户发送邮件的情况。

在 domino 邮件服务器的公共通讯录中创建一个新的群组,例如群组名为“AllowSendMailGroup”,设置如下:


图 5. 创建邮件组
图 5. 创建邮件组 

打开 Domino 邮件服务器的配置文档,选择“路由器 /SMTP”,选择“限制和控制”,选择“SMTP 外出控制”。在如下如下 2 处设置上述群组名称:


图 6. 配置 SMTP 外出控制
图 6. 配置 SMTP 外出控制 

1) 用户 admin/notes 没有在上述允许发送邮件的群组中,因此 admin/notes 发送邮件时,服务器将不把邮件发送出去,并返回给发送者类似的投递失败报告:


图 7. 投递失败报告
图 7. 投递失败报告 

Domino 邮件服务器端有类似处理记录信息:


图 8. 服务器端处理记录
图 8. 服务器端处理记录 

2)而用户 lisi/notes 在上述允许发送邮件的群组中,因此可以成功发送邮件。下图是邮件成功到达 Domino 邮件服务器,等待发送:


图 9. 捕获邮件
图 9. 捕获邮件 

Domino 服务器邮件规则来实现黑名单的功能

Domino 服务器可以创建基于邮件头或邮件正文内容的邮件过滤规则,来定义对特定邮件采取的操作(记录邮件、将邮件移动到数据库、拒绝接受、不邮递邮件(静删除、发送 NDR 不投递报告)、更改路由状态或停止处理)。测试邮件发送到 Domino 服务器上后,Domino 会据此设置自动执行指定的操作。

下面 3 个示例将给出不同的禁止发送邮件的处理方式:

“不邮递邮件(静删除)”规则

针对于测试环境,可以将不允许发送测试邮件的邮件地址添加到邮件规则中,选择“不邮递邮件(静删除)”操作。当 Domino 接收到以这些用户身份发送的邮件时,将直接删除掉。而不会给发件人发送任何报告。减少垃圾信息的往来。图示说明设置过程和处理效果:

打开 Domino 邮件服务器的配置文档,选择“路由器 /SMTP”, 选择“限制和控制”,选择“规则”。创建如下图所示的一条邮件规则 . 并启用该规则。


图 10. 邮件规则
图 10. 邮件规则 

查看大图

根据设置,用户 admin/notes、admin@mailserver、lisi/notes、lisi@mailserver.com 发送邮件时,Domino 服务器将直接删除邮件,而不给出任何提示信息。

例如,用户 admin/notes 发送如下邮件,


图 11. 示例邮件
图 11. 示例邮件 

Domino 邮件服务器直接删除邮件,在服务器端有类似处理记录信息:


图 12. 服务器端处理记录
图 12. 服务器端处理记录 

“不接受消息”规则

针对于测试环境,可以将不允许发送测试邮件的邮件地址添加到邮件规则中,选择“不接受消息”操作。当用户身份发送的邮件时,将收到拒绝发送提示。图示说明设置过程和处理效果:

打开 Domino 邮件服务器的配置文档,选择“路由器 /SMTP”, 选择“限制和控制”,选择“规则”。创建如下图所示的一条邮件规则,并启用该规则。


图 13. 不接受消息规则
图 13. 不接受消息规则 

根据设置,用户 admin/notes、admin@mailserver、lisi/notes、lisi@mailserver.com 发送邮件时,Domino 服务器将不接受这些邮件,并给出提示信息。

例如,用户 admin/notes 尝试发送邮件时,将收到类似提示,并无法发送出邮件:


图 14. 提示不接受邮件
图 14. 提示不接受邮件 

“移入数据库”规则

针对于测试环境,可以将不允许发送测试邮件的邮件地址添加到邮件规则中,选择“移入数据库”操作。Domino 服务器接收到这些用户身份发送过来的邮件,将移入指定的数据库存储,而不发送给真正的收件人。开发人员可以到该数据库中进一步分析邮件内容。图示说明设置过程和处理效果:

打开 Domino 邮件服务器的配置文档,选择“路由器 /SMTP”, 选择“限制和控制”,选择“规则”。创建如下图所示的一条邮件规则 . 并启用该规则。


图 15. 移入数据库规则
图 15. 移入数据库规则 

根据设置,用户 admin/notes、admin@mailserver、lisi/notes、lisi@mailserver.com 发送邮件时,Domino 服务器接收这些邮件后,直接存储到 mailPendingMailBox.nsf 数据库,而不给发送者任何提示信息。

例如,用户 admin/notes 发送邮件后,Domino 服务器将其被转移到 mailPendingMailBox.nsf 数据库,开发者可以到该数据库分析测试邮件。如图所示:


图 16. 邮件分析
图 16. 邮件分析 

Domino 邮件服务器端有类似处理记录信息:


图 17. 服务器端处理记录
图 17. 服务器端处理记录 

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

2

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广