我是一位经验丰富的 Exim 用户,最近刚刚测试了 Zimbra Open Source,我已经爱上它了。
但是,每当我想测试电子邮件服务器中的电子邮件路由时,我都会习惯使用此命令,无论我是测试本地用户、本地电子邮件地址还是外部电子邮件地址的路由:
root@localhost# exim -bt [email protected]
[email protected]
<-- [email protected]
router = localuser, transport = local_delivery
root@localhost# exim -bt [email protected]
[email protected]
router = localuser, transport = local_delivery
root@localhost# exim -bt [email protected]
router = lookuphost, transport = remote_smtp
host mail.remotehost.com [1.2.3.4] MX=0
几年前从http://bradthemad.org/tech/notes/exim_cheatsheet.php。
我该如何使用 Zimbra/Postfix 来实现这一点?我到处寻找如何实现这一点的方法,但一无所获。
谢谢!
答案1
尝试这个命令
/usr/sbin/sendmail -bv address.
发送邮件二进制来自 postfix 有特殊选项-bv
-bv Do not collect or deliver a message. Instead, send an email
report after verifying each recipient address. This is useful
for testing address rewriting and routing configurations.
此命令也可以在 postfix 文档中找到:
摘自页面
Postfix 2.1 及更高版本可以生成邮件投递报告以供调试。这些报告不仅显示地址重写和别名扩展或转发后的发件人/收件人地址,还显示有关投递到邮箱、投递到非 Postfix 命令、远程 SMTP 服务器的响应等信息。
与 exim 中将结果输出到 stdout 的实用程序不同,postfix 会将报告发送给调用上述命令的用户。此外,zimbra 会将 sendmail 二进制文件放在其不常见的目录中,因此您必须通过发出完整路径命令来调用它。
/opt/zimbra/postfix/sbin/sendmail -bv address
答案2
Zimbra 使用 postfix 将邮件发送到外部地址。因此,您可以在http://www.postfix.org/DEBUG_README.html
例如,以 zimbra 用户身份登录,向您提供特定目的地投递报告的命令如下:
sendmail -bv [email protected]
结果将发送给 zimbra 用户,因此您需要在系统中配置 zimbra@ 邮件地址,例如作为您自己帐户的别名。
答案3
您可以使用telnet
或sendmail
来自用户的命令zimbra
并继续检查日志输出(/var/log/mail.log
)。