现在所有的软件都已经安装和配置完成。让我们进行一些测试。首先你需要(重新)启动所有受影响的守护进程
postfix start
/etc/init.d/cyrus start
/etc/init.d/mysql.server start
/usr/local/apache/bin/apachectl startssl
希望所有的守护进程都启动成功,没有任何报错。请注意,这里假设 saslauthd 在 cyrus 启动脚本中启动。
现在你可以通过执行 netstat -an|grep LISTEN 来验证守护进程是否正常运行
输出应该类似于这样
bond:~ # netstat -an|grep LISTEN tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:2000 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN |
端口分配如下
993 imap-ssl
995 pop3-ssl
3306 mysql
110 pop3
143 imap
2000 sieve
80 http
25 smtp
443 https
现在你应该能够连接到 http://localhost/web-cyradm/ 并使用之前定义的凭据登录。
定义一个域名和一些帐户。确保域名属于你的服务器。如果不是,你必须通过在/etc/hosts中输入域名来伪造它。域名也必须在/etc/postfix/main.cf(mydestination = 域名)
中定义为本地域名。请确保在添加新域名时提供唯一的域名前缀。例如,为域名 test.org 使用 test 前缀。如果你不提供这样的前缀,你将会收到错误消息。
现在我们将要写一封邮件
telnet localhost 25 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mail ESMTP Postfix helo localhost 250 mail mail from: testing at example.com 250 Ok rcpt to: tester at localhost 250 Ok data 354 End data with <CR><LF>.<CR><LF> some text . 250 Ok: queued as B58E141D33 quit |
如果你看到这样的消息,那么一切似乎都工作正常。请确保指定一个你之前在 web-cyradm 数据库中定义的收件人地址
如果你收到这样的错误
rcpt to: tester at localhost 451 <tester at localhost>: Temporary lookup failure |
那么可能是 MySQL 没有运行,DB 权限没有正确设置,或者你配置错误/etc/postfix/main.cf
如果出现任何错误,我建议检查/var/log/mail。通常你会在那里找到一些关于哪里出错的提示。
许多用户喜欢使用命令行界面 (CLI) “cyradm” 来测试 cyrus-IMAPd,但他们失败了。要成功使用 cyradm,你需要将 cyrus 用户添加到/etc/sasldb2因为 “cyradm” 始终针对 SASL 和 IMAP 进行身份验证。
要将 Cyrus 用户添加到 sasldb,请使用命令
saslpasswd2 -c cyrus Password: (enter your passwd) Again (for verification): (enter your password) |
要使用 “cyradm” CLI,请注意该工具不识别标准的 CLI 选项,如 -u 等。请按照手册页 “cyradm 1” 中描述的语法,例如以下示例
bond:~ # cyradm --user cyrus --server localhost --auth plain Password: # This is the SASL2 password IMAP Password: # This is the IMAP password that you need to enter in the mysql-table �accountusers� localhost> |
使用 Cyrus 命令 help 你将看到所有可能的命令及其缩写。
为了进行这种测试,你只需要一个邮件客户端,如 kmail 或 netscape(是的,当然,M$ 产品也可以),但在本例中我使用 kmail。
如果你启用了 TLS/SSL,你可能还希望测试以下内容
如果登录失败,并且你确定你输入了正确的密码,请检查 MySQL 是否正在运行。