我正在configurationpostfix和dovecot在我的服务器上,但由于某种原因,我不能收到邮件。 我已经按照这些说明来configuration邮件服务器。 我已经testing了pingability.com的端口25是开放的(没有得到任何错误的邮件),我可以发送邮件。 我只是不能接受他们,我没有看到他们在maildir,我没有看到他们在squirrelmail。
我不是一个真正的Linux专家,所以谁能帮我解决这个问题?
我的操作系统是CentOS 5.5
编辑1:根据日志文件/ var / log / maillog收到邮件,但可能没有交付。 如果我在发送邮件后直接检查日志文件,日志文件的最后一行看起来像这样:
Mar 27 23:59:24 vps4195 postfix/smtpd[15822]: connect from mailserver[ip] Mar 27 23:59:25 vps4195 postfix/smtpd[15822]: 01EE0AD18170: client=server[ip] Mar 27 23:59:25 vps4195 postfix/cleanup[15826]: 01EE0AD18170: message-id=<someid> Mar 27 23:59:25 vps4195 postfix/qmgr[7544]: 01EE0AD18170: from=<emailaddress>, size=1980, nrcpt=1 (queue active) Mar 27 23:59:55 vps4195 postfix/smtpd[15822]: disconnect from server[ip]
编辑2:日志文件也包含许多这些条目,但我真的不知道如何处理它们:
Mar 28 00:00:16 vps4195 postfix/virtual[17954]: fatal: bad string length 0 < 1: virtual_mailbox_base = Mar 28 00:00:17 vps4195 postfix/master[7538]: warning: process /usr/libexec/postfix/virtual pid 17954 exit status 1 Mar 28 00:00:17 vps4195 postfix/master[7538]: warning: /usr/libexec/postfix/virtual: bad command startup -- throttling
编辑3:我已经修复了以前的错误(在main.cf文件中添加了一个virtual_mailbox_base),但是现在日志文件在尝试接收邮件时给了我这个错误:
Mar 28 00:11:33 vps4195 postfix/virtual[3089]: E8025AD180BB: to=<email>, relay=virtual, delay=0, delays=0/0/0/0, dsn=5.1.1, status=bounced (unknown user: "email") Mar 28 00:11:33 vps4195 postfix/qmgr[3077]: E8025AD180BB: removed
编辑4:这一次有点进一步,看起来我错过了在main.cf中的一行,但后来我得到了这个错误:
Mar 28 00:36:15 vps4195 postfix/qmgr[30545]: D7E6DAD18077: from=<mail>, size=755, nrcpt=1 (queue active) Mar 28 00:36:15 vps4195 postfix/virtual[30610]: warning: recipient mail: not found in virtual_uid_maps Mar 28 00:36:15 vps4195 postfix/virtual[30610]: D7E6DAD18077: to=<maill>, relay=virtual, delay=0.07, delays=0.05/0/0/0.01, dsn=4.3.5, status=deferred (mail system configuration error)
所以我在main.cf文件中创build了virtual_uid_maps和virtual_gid_maps条目,现在一切正常了!
如果我没有记错的话,只要在CentOS上安装postfix RPM就可以给你一个只在本地主机上侦听的邮件服务器。 如果你点击“netstat -ltnp”你应该有这样一行:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2182/master
确保它显示“0.0.0.0”(而不是“127.0.0.1”)。 如果你不这样做,请添加如下内容:
inet_interfaces = all
到main.cf.
如果你的服务器正在监听所有的接口,那么/ var / log / maillog(至less我认为这是CentOS中的日志)应该是你的下一站。 看看那里是否有任何相关的线路,谈论您收到的邮件。 它应该看起来像这样:
Mar 27 23:14:39 whisper postfix/smtpd[19351]: connect from remote.mailserver.com[ABCD] Mar 27 23:14:39 whisper postfix/smtpd[19351]: 5E007301D: client=remote.mailserver.com[ABCD] Mar 27 23:14:39 whisper postfix/cleanup[19355]: 5E007301D: message-id=<his-message-id> Mar 27 23:14:39 whisper postfix/qmgr[2579]: 5E007301D: from=<[email protected]>, size=3190, nrcpt=1 (queue active) Mar 27 23:14:39 whisper postfix/smtpd[19351]: disconnect from remote.mailserver.com[ABCD]
这表示邮件已成功收到。 在我的服务器上,下一步是垃圾清理。 然后交付:
Mar 27 23:14:40 whisper postfix/pickup[19293]: 3C05785C0: uid=65534 from=<[email protected]> Mar 27 23:14:40 whisper postfix/cleanup[19355]: 3C05785C0: message-id=<his-message-id> Mar 27 23:14:40 whisper postfix/qmgr[2579]: 3C05785C0: from=<[email protected]>, size=3286, nrcpt=1 (queue active) Mar 27 23:14:40 whisper postfix/local[19363]: 3C05785C0: to=<[email protected]>, relay=local, delay=0.06, delays=0.03/0.02/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox) Mar 27 23:14:40 whisper postfix/qmgr[2579]: 3C05785C0: removed
如果您有像倒数第二个一样的行,邮件应交付给dovecot,并且您需要跟踪那里的问题。