最近在研究xmail,找到了这份资料,在此整理收藏一笔。
原文链接
前言
企业内部邮件系统可以用于企业内网(局域网)成员,包括人和系统之间通讯。比如一个封闭的研发团队,采用代码管理系统(SVN),需要建立一个系统和开发人员(包括开发经理、配置管理员、开发人员、需求分析人员、测试人员)之间的通信系统。有没有可能建立一个轻量级的企业内网邮件系统呢?本文详细介绍用 XMail 快速构建的过程。
XMail Server
是采用GPL许可类型的开源软件,免费使用。本文只介绍它在WinXP上的安装、配置和使用。
下载
进入
http://www.xmailserver.org/, 点击链接
http://www.xmailserver.org/xmail-1.27.win32bin.zip,下载当前的最新版本 1.27。
安装
xmail-1.27.win32bin.zip 解压缩 后,需要手工的做一些安装操作
1、把其中的 MailRoot 目录(含它里面所有文件) 拷贝到 C:\
2、把 C:\xmail-1.27.win32bin\xmail-1.27 目录下的所有文件(不包括子目录)拷贝到 C:\MailRoot\bin
3、打开WindowXP 注册表(运行 cmd->regedit),在 'HKEY_LOCAL_MACHINE\SOFTWARE\' 位置创建GNU 项,然后在 GNU 项下面建立 XMail 项。在其中,创建“字符串值”, 名字为:MAIL_ROOT , 值为C:\MailRoot(与上面放的位置对应)。可以关闭注册表。
4、设置环境变量:右键点击“我的电脑”->属性-> 高级->环境变量->新建,变量名:MAIL_ROOT,变量值:C:\MailRoot (同注册表设置)。
到此位置,服务器安装就做完了。
安装和启动服务
XMailServer 在 winXP 上是作为 windows 服务的形式运行的。如何注册服务:
1、运行 CMD, cd C:\MailRoot\bin
2、运行 XMail --install, 服务即以手动形式安装上。(如果删除服务,则使用 XMail --remove)。
3、服务启动: “控制面板”->管理工具->服务,应该看到 XMail Server,打开它,在启动参数中加入 -Mm(一定注意这里,-Mm 意味着让XMail使用 mailbox (windows) 目录 而不是 Maildir (Unix))
用telnet测试服务通不通
服务安装和启动之后,我们就可以做一个简单的测试,看这个email 服务器通不通。可以用telnet。但缺省情况下本机的telnet服务是禁用的,因此,
1、启动telnet服务:控制面板->管理工具->服务,把“已禁用”该为“自动”,改完,点击“启动”。(注意 telnet 取消禁用带来的安全问题)
2、运行 CMD (或在一个已经打开的CMD中) ,运行 telnet localhost 25
如果显示如下,则说明配置正确:
220 xmailserver.test <1285922522.588@xmailserver.test> [XMail 1.27 ESMTP Server]
service ready; Fri, 1 Oct 2010 16:42:02 +0800
即,发送(SMTP)电子邮件的端口是25.
运行 telnet localhost 110
如果显示如下,则说明配置正确:
+OK <1285922617.4832@xmailserver.test> [XMail 1.27 POP3 Server] service ready; F
ri, 1 Oct 2010 16:43:37 +0800
即,接收(POP3)电子邮件的端口是110。
至此,XMail Server 的安装配置运行介绍完了,下面介绍该服务器的系统管理。
邮件服务器的系统管理与你的服务器配置
XMail Server 的系统管理程序是 C:\MailRoot\bin\CtrlClnt.exe,系统安装成功后,有一个测试用的配置,(如上面telnet显示),xmailserver.test。下面演示配置你的服务器的步骤,假设,条件如下:
1、域名 mycompary.com
2、系统管理员用户名: admin, 密码:adminpass
3、用户:
1) admin, 密码:adminpass
2) terry, 密码:terrypass
3) mary, 密码:marypass
步骤如下;
1、用文本编辑器打开 C:\MailRoot\server.tab,
把如下用于测试的"xmailserver.test"改成"mycompany.com",即把
"RootDomain" "xmailserver.test"
"SmtpServerDomain" "xmailserver.test"
"POP3Domain" "xmailserver.test"
"HeloDomain" "xmailserver.test"
"PostMaster" "root@xmailserver.test"
"ErrorsAdmin" "root@xmailserver.test"
改成:
"RootDomain" "mycompany.com"
"SmtpServerDomain" "mycompany.com"
"POP3Domain" "mycompany.com"
"HeloDomain" "mycompany.com"
"PostMaster" "root@mycompany.com"
"ErrorsAdmin" "root@mycompany.com"
2、生成密码的秘文,运行CMD, cd C:\MailRoot\bin,依次运行、生成,
C:\MailRoot\bin>XMCrypt.exe adminpass
0401080c0b15041616
3、 编辑 C:\MailRoot\CTRLACCOUNTS.TAB,加入下面用户信息。注意:每行格式一定是 用户名[tab]密码[回车]
admin 0401080c0b15041616
4、查看域,运行 C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass domainlist
显示
"xmailserver.test"
5、删除这个测试域,运行:
C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass domaindel xmailserver.test
(可以看到 C:\MailRoot\domains 目录下空了!)
6、加入你的域,C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass domainadd mycompany.com
7、查看email帐户: C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass userlist
啥也没有
8、加入email帐户:
运行:C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass userlist
用 C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass userlist 查看,得到:
"mycompany.com" "admin" "adminpass" "U"
注意: U 意思是说这个是个人用户,而不是邮件组
同样的方法加入terry 和 mary 的电子邮件帐户:
C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass useradd mycompany.com terry terrypass U
C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass useradd mycompany.com mary marypass U
用 C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass userlist 查看,得到:
C:\MailRoot\bin>ctrlclnt -s localhost -u admin -p adminpass userlist
"mycompany.com" "admin" "adminpass" "U"
"mycompany.com" "terry" "terrypass" "U"
"mycompany.com" "mary" "marypass" "U"
域和用户账号建立完之后,下一步就可以用了。这里我们用 outlook 作为email 客户端来实现这几个人在局域网中的邮件通信。
用 outlook 客户端通信
假如我是terry。
1、启动outlook, 打开电子邮件账号管理,进行账号配置,信息如下:
电子邮件地址:terry@mycompary.com
接收邮件(POP3): mycompany.com
发送邮件(SMTP): mycompany.com
账户名:terry
密码:terrypass
选中发送邮件服务器 “我的服务器要求身份认证”(使用与接收服务器相同配置)(注意这点!)
2、域名解析,打开 C:\WINDOWS\system32\drivers\etc, (注意:是terry的机器,而不是XMail Server所在的机器)加入,
10.1.92.65 mycompany.com
(其中,10.1.92.65 是 XMail Server (在局域网中)的网址)
好了,起码 terry 可以测试一下发一封信给自己。mary 可以按照同样的方法设置他的outlook,如果顺利,一个企业内网的基本的邮件服务系统就建成了。
注意:如果 telnet 信息正确,则问题基本上是outlook的设置问题。 另外启动 XMailServer 时,一定别忘了加 -Mm。
更详尽的材料:XXX\xmail-1.27.win32bin\xmail-1.27\Readme.html (遗憾的是这个不是给初学者看的)
主要参考
http://www.halfdone.com/Articles/XMailInstall/。
2011年4月补充: 如果出现 telnet 成功,本机 OUTLOOK 成功,远程 OUTLOOK 不成功的情况, 可以检查一下windwos 防火墙设置。