postfix外发邮件失败求教

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
hearsay2071
帖子: 7
注册时间: 2007-12-05 14:30
送出感谢: 0
接收感谢: 0

postfix外发邮件失败求教

#1

帖子 hearsay2071 » 2008-05-29 14:21

请大侠回答小弟如下问题:
我今在图形界面下配置完成了POSTFIX&DOVECOT,经测试内部用户发出接受信件均正常,(花生壳注册顶级域名,并对特定域名标记了MX,由路由将其服务器端口映射后,邮件客户端软件已将POP3和SMTP服务器指向注册域名,内部账户发信均正常)但给外网其它域发送邮件时报错,看了一个朋友在网上的文章,说是需要配置SMTP认证方可解决。后自设置允许向其它域发送邮件后,内部邮件也无法发送,不得已又更正。总之,自试多次未果,不知哪位仁兄知晓其中缘故,愿洗耳恭听。希望大家多多帮助,先行谢过了。。。。
real
帖子: 60
注册时间: 2008-05-07 13:01
送出感谢: 0
接收感谢: 0

#2

帖子 real » 2008-05-29 14:38

postfix只是smtp服务吧?smtp认证需要安装cyrus-sasl的,然后修改下postfix的配置文件,我记得是这样的。
hearsay2071
帖子: 7
注册时间: 2007-12-05 14:30
送出感谢: 0
接收感谢: 0

能不能说详细些

#3

帖子 hearsay2071 » 2008-05-29 14:56

您是说我少装了个程序包,还是说我需要哪些配置项。。。。能不能说详细些?谢了。。。。
real
帖子: 60
注册时间: 2008-05-07 13:01
送出感谢: 0
接收感谢: 0

#4

帖子 real » 2008-05-29 15:13

我市在centos配置的,ubuntu的服务配置不太熟悉,你只能参考:

viewtopic.php?t=126522

希望有帮助!
ad_h
帖子: 24
注册时间: 2008-02-08 16:15
送出感谢: 0
接收感谢: 0
联系:

#5

帖子 ad_h » 2008-05-29 15:22

发不出去的时候 看一下 /var/log/maillog的记录, 或者能贴出来就更好了
hearsay2071
帖子: 7
注册时间: 2007-12-05 14:30
送出感谢: 0
接收感谢: 0

记录如下

#6

帖子 hearsay2071 » 2008-05-29 16:43

回楼上仁兄:
刚查看了一下MAILLOG文件,报告很多,现将最新一条经公网向外域失败记录如下:
22547]connect from unknown[邮件主机公网IP]
[22547]noqueue:reject:rcpt from nuknown[邮件主机公网IP]:554 5.7.1 <目的邮件地址>:relay access denied; from=<源邮件地址> to=<目的邮件地址> proto=esmtp helo=<[邮件主机内网IP]>
[22547]disconnect from unknown[邮件主机公网IP]

May 29 16:15:31 mingrui-sever postfix/smtpd[22660]: warning: database /etc/aliases.db is older than source file /etc/aliases
May 29 16:15:31 mingrui-sever postfix/smtpd[22660]: connect from unknown[邮件主机公网地址]
May 29 16:15:31 mingrui-sever postfix/smtpd[22660]: 1A37BC320: client=unknown[邮件主机公网地址]
May 29 16:15:31 mingrui-sever postfix/cleanup[22665]: 1A37BC320: message-id=<1212048930.14394.32.camel@内部主机名>
May 29 16:15:31 mingrui-sever postfix/qmgr[22376]: 1A37BC320: from=<A账户>, size=472, nrcpt=1 (queue active)
May 29 16:15:31 mingrui-sever postfix/smtpd[22660]: disconnect from unknown[邮件主机公网地址]
May 29 16:15:31 mingrui-sever postfix/local[22666]: warning: database /etc/aliases.db is older than source file /etc/aliases
May 29 16:15:31 mingrui-sever postfix/local[22666]: 1A37BC320: to=<B账户>, relay=local, delay=0.09, delays=0.05/0.02/0/0.01, dsn=2.0.0, status=sent (delivered to mailbox)
May 29 16:15:31 mingrui-sever postfix/qmgr[22376]: 1A37BC320: removed

公司外网域名同域内部账户发送成功的记录:

May 29 16:15:35 mingrui-sever dovecot: pop3-login: Login: user=<B账户>, method=PLAIN, rip=邮件主机公网地址, lip=邮件主机内网地址
May 29 16:15:35 mingrui-sever dovecot: pop3-login: Login: user=<A账户>, method=PLAIN, rip=邮件主机公网地址, lip=邮件主机内网地址
May 29 16:15:35 mingrui-sever dovecot: POP3(B账户): Disconnected: Logged out top=0/0, retr=1/597, del=0/11, size=13210
May 29 16:15:35 mingrui-sever dovecot: POP3(A账户): Disconnected: Logged out top=0/0, retr=1/1287, del=0/3, size=3055

May 29 16:18:34 mingrui-sever postfix/smtpd[22691]: warning: database /etc/aliases.db is older than source file /etc/aliases
May 29 16:18:34 mingrui-sever postfix/smtpd[22691]: connect from unknown[邮件主机公网地址]
May 29 16:18:34 mingrui-sever postfix/smtpd[22691]: NOQUEUE: reject: RCPT from unknown[邮件主机公网地址]: 554 5.7.1 <目的邮件地址>: Relay access denied; from=<邮件源地址> to=<邮件目的地址> proto=ESMTP helo=<LBJPC>
May 29 16:18:34 mingrui-sever postfix/smtpd[22691]: disconnect from unknown[邮件主机公网地址]
May 29 16:18:34 mingrui-sever dovecot: pop3-login: Login: user=<B账户>, method=PLAIN, rip=邮件主机公网地址, lip=邮件主机内网地址
May 29 16:18:34 mingrui-sever dovecot: POP3(A账户): Disconnected: Logged out top=0/0, retr=1/1287, del=0/3, size=3055
hearsay2071
帖子: 7
注册时间: 2007-12-05 14:30
送出感谢: 0
接收感谢: 0

新发现

#7

帖子 hearsay2071 » 2008-05-30 12:42

在4楼朋友的建议下看了一下有关文章,内容很好,理论性也很强,但是操作步骤并不详细,同时我查看了一下UBUNUT的软件安装管理程序,搜索到了一些SASL包,并到系统显示象libsasl2-2及libsasl2-moudles已经安装好了,并在/ETC/POSTFIX下也有了SASL文件夹,只是其中是空的,不知是否可以直接添加认证文件,或如果编辑用来进行SMTP的认证。。。。
hearsay2071
帖子: 7
注册时间: 2007-12-05 14:30
送出感谢: 0
接收感谢: 0

问题已经解决

#8

帖子 hearsay2071 » 2008-05-31 3:55

问题已经解决,谢谢大家。解决的方法很简单,只是参照了UBUNTU官方的英文技术文档,希望有此问题的朋友,能够走出和我一样的困局。。。。再次感谢大家!!!!
real
帖子: 60
注册时间: 2008-05-07 13:01
送出感谢: 0
接收感谢: 0

#9

帖子 real » 2008-06-02 10:49

怎么解决的?
hearsay2071
帖子: 7
注册时间: 2007-12-05 14:30
送出感谢: 0
接收感谢: 0

解决方法

#10

帖子 hearsay2071 » 2008-06-02 14:56

我的问题是由于安装了POSTFIX后没有进行SMTP和SASL认证造成的,其解决方法如下-》浏览UBUNTU中文网站http://www.ubuntu.com.cn/,点选“免费英文文档”-》Ubuntu Server Guide (倒数数第4个)-》第13项Email Services 下的第1项POSTFIX->进行POSTFIX配置文档(https://help.ubuntu.com/8.04/serverguide/C/postfix.html)-》在SMTP Authentication下说明了配置SMTP的认证的四个步骤:其全部为命令行模式,如果你装的SERVER版UBUNTU,可先行打印出该网页,然后按其所叙的命令行依次输入并执行即可;如果你安装的桌面版的UBUNTU,可以运行“附件”中的终端,将该网页上的命令行依次复制,并在“终端”窗口中粘贴。直致所有命令行完成。
SASL认证配置参照该文档修改配置文件中内容即可。

注意事项:
1、如果使用复制-》粘贴的方法,终端中有的命令行会在“粘贴”动作后自动运行该命令行,有的需要你再敲一下回车键;
2、如果你是以ROOT的身份登录系统的,在复制命令行时从“SUDO”后复制即可。SODU命令是用来非ROOT用户执行管理员级命令时使用的,你已是管理员组用户,就不用加该命令了。
3、在执行命令的过程中,有的命令会让你输入一下SMTP等认证的口令,请记住你所输入的口令,以便将来用到。还有一些互动问题,你有的可以回答,有的可以不回答。该文档的例子有一个命令“sudo postconf -e 'myhostname = mail.example.com',该域名你可以换你所需的域名,其没有什么实际意义,只是如果你不改的话,在后来的TELNET的测试过程中,你的SMTP服务将以这个域名来进行连接回复,而你的POSTFIX在实际中可以正常运转。
4、如果你是非ROOT的身份登录的系统,那么在执行文档中命令行命令后,有一个动作是要修改SASL的配置文件,由于该文件属于是ROOT用户创立和使用,所以你须要切换ROOT身份登录后对于进行修改,否则系统不让你存盘。
5、无论是用命令行修改SMTP配置还是通过修改SASL配置文件来达到配置目后,都需要按文档所叙的命令将POSTFIX和DOVECOT两个服务器重启以达到将新配置文件重新载入生效的目的。
6、如果你一开始已经对POSTFIX和SASL的认证配置做了许多尝试且没有将最初的原始配置文件备份的话,在通过文档所叙的方法仍不能解决与我一样的问题的话,请重做系统或将POSTFIX或SASL的配置文件恢复至最初始的状态,再进行一次配置。反正我装了备份软件,是将系统恢复至初始状态来执行文档所叙的方法的,且一次性通过测试。所以,文档的可靠性是不容质疑的。
回复

回到 “服务器基础应用”