婴儿POP3服务器是一个标准的,简化的POP3服务器,占用资源很少,支持传统的POP3服务器的几乎每featuire的
POP3服务器类:
CListenSocket
此插座接受所有传入连接。当客户端连接到服务器,CListenSocket接受连接,创建一个新的神器出山:www.shenqi73.com的线程(CClientThread),将照顾的所有客户端和服务器之间的进一步沟通。线程已被创建后,CListenSocket将返回到等待状态。
CClientThread
这个线程将处理客户端和服务器之间的所有通信使用CControlSocket。
CControlSocket
此套接字类将处理所有传入的POP3命令和发送回响应给客户端。 CControlSocket是基本类,所有的“好东西”正在发生的事情:
验证用户登录
阅读邮件目录和跟踪的变化(删除邮件)。
当请求,将消息发送到客户端。
CMonitorThread
这个线程监控传入的邮件(SMTP服务器)的邮件投递文件夹。当一个新的消息会被丢弃到这个文件夹中,它的头会进行检查,以确定接收器。如果此接收机在我们的服务器上有一个用户帐户的消息将被复制到他/她的邮箱。如果服务器不能确定的接收器,邮件将被转移到管理员邮箱。
CMonitorThread使用FindFirstChangeNotification找到邮箱中文件夹中,如果有任何新的消息。不幸的是,ReadDirectoryChangesW是不是可以在所有版本的Windows(此功能告诉我们究竟发生了什么变化在指定的目录),所以我不得不改变自己的跟踪复制它的功能。
配置:
为了使这POP3服务器有用的,你还必须有安装SMTP服务器。微软的SMTP服务器从国际空间站将被罚款(包括与Windows NT/2000/XP)。通常,这SMTP将邮件投递文件夹,它会下降传入的消息。微软的SMTP服务器使用C:默认情况下inetpubmailrootdrop。
此邮件投递文件夹,输入文件夹为我们的POP3服务器,所以打开“设置”对话框中,设置邮件文件夹。
的时间设置让你指定用于接收数据的超时值。当客户成为闲置时间过长的连接将被关闭。
在用户帐户中,您可以添加/编辑和删除用户帐户。 admin帐户是默认值,不能被删除。
TODO:
实施任何丢失的命令。
添加的邮箱锁定(使多个用户无法登录到同一个邮箱)。
加入域检查。
销售这种软件,而不是放弃了免费