iRedmail工作流程:
1: 当邮件发送到服务器的25端口,postfix(MTA)接受连接,它会做一些基本检查。
1>发送者是否在黑名单或者实时黑名单,如果在黑名单,马上拒绝。
2>是否是授权用户,可以进行转发。
3>接收者是否是服务器的用户,如果不是,马上拒绝。
4>如果我们启用的灰名单,那么会拒绝邮件或者接收。
2:postfix 把邮件通过10024端口交给amavis来处理,注意amavis,只会检查邮件而不会丢弃或者拒绝邮件。
3:amavis调用SpamAssassin检查邮件是否是spam,如果SpamAssassin认为邮件是垃圾邮件,会给邮件打上标记spam。
4:amavis调用ClamAV,看邮件是否含有病毒。
5:amavis把检查完的邮件,通过10025端口重新把邮件交回给postfix。
6:postfix把邮件交给LDA(local delivery agent),LDA是负责本地邮件投放到用户的邮箱,(我们这里使用dovecot(MDA)提供的LDA功能,而不是postfix提供的LDA)邮件会进入用户的邮箱,Dovecot会执行用户设置的filter,也就是Dovecot通过调用Sieve,放到相关的文件夹。
7:Dovecot 把邮件以maildir的方式存放在硬盘上。
1: 当邮件发送到服务器的25端口,postfix(MTA)接受连接,它会做一些基本检查。
1>发送者是否在黑名单或者实时黑名单,如果在黑名单,马上拒绝。
2>是否是授权用户,可以进行转发。
3>接收者是否是服务器的用户,如果不是,马上拒绝。
4>如果我们启用的灰名单,那么会拒绝邮件或者接收。
2:postfix 把邮件通过10024端口交给amavis来处理,注意amavis,只会检查邮件而不会丢弃或者拒绝邮件。
3:amavis调用SpamAssassin检查邮件是否是spam,如果SpamAssassin认为邮件是垃圾邮件,会给邮件打上标记spam。
4:amavis调用ClamAV,看邮件是否含有病毒。
5:amavis把检查完的邮件,通过10025端口重新把邮件交回给postfix。
6:postfix把邮件交给LDA(local delivery agent),LDA是负责本地邮件投放到用户的邮箱,(我们这里使用dovecot(MDA)提供的LDA功能,而不是postfix提供的LDA)邮件会进入用户的邮箱,Dovecot会执行用户设置的filter,也就是Dovecot通过调用Sieve,放到相关的文件夹。
7:Dovecot 把邮件以maildir的方式存放在硬盘上。
8: 用户使用邮件客户端,通过pop3或imap协议进行连接。webmail RoundCube(MUA),是通过imap的方式来读取邮件。
附图: