免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 13319085
打印 上一主题 下一主题

[Mail] postfix不能向外发邮件?? [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-11-29 22:43 |只看该作者

回复 #12 cuci 的帖子

下面是测试::
[root@mail postfix]# telnet mail.####.com 25
Trying 59.###...
Connected to mail.####b.com (59.###).
Escape character is '^]'.
220 mail.####com ESMTP Postfix
helo mail.sina.com
250 mail.####.com
mail from:<zhang###@sina.com>
250 2.1.0 Ok
rcpt to:<root@###.com>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
uuu
.
250 2.0.0 Ok: queued as 14B551BC400E
quit
221 2.0.0 Bye
Connection closed by foreign host.
You have new mail in /var/spool/mail/root
下面是测试结果::
Nov 29 22:25:21 localhost postfix/master[16545]: daemon started -- version 2.5.5, configuration /etc/postfix/
Nov 29 22:31:05 localhost dovecot: Dovecot starting up
Nov 29 22:32:40 localhost postfix/smtpd[16589]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Nov 29 22:32:45 localhost postfix/smtpd[16589]: connect from unknown[59.####]
Nov 29 22:34:38 localhost postfix/smtpd[16589]: 14B551BC400E: client=unknown[59.####]
Nov 29 22:39:37 localhost postfix/cleanup[16653]: 14B551BC400E: message-id=<20081129143438.14B551BC400E@mail.####.com>
Nov 29 22:39:37 localhost postfix/qmgr[16546]: 14B551BC400E: from=<zhang###@sina.com>, size=339, nrcpt=1 (queue active)
Nov 29 22:39:37 localhost postfix/local[16758]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Nov 29 22:39:37 localhost postfix/local[16758]: 14B551BC400E: to=<root@####.com>, relay=local, delay=339, delays=339/0.01/0/0, dsn=2.0.0, stat
us=sent (delivered to mailbox)
Nov 29 22:39:37 localhost postfix/qmgr[16546]: 14B551BC400E: removed
Nov 29 22:40:13 localhost postfix/smtpd[16589]: disconnect from unknown[59.####]

谁来帮的分析一下啊,我不胜感激!!

[ 本帖最后由 13319085 于 2008-11-29 23:33 编辑 ]

论坛徽章:
0
22 [报告]
发表于 2008-11-29 23:30 |只看该作者
下面是测试发信的过程:
[root@mail ~]# telnet mail.@@@.com 25
Trying 59.####...
Connected to mail.@@@(59.@@@).
Escape character is '^]'.
220 mail.###.com ESMTP Postfix
helo mail.@@@
250 mail.@@@
mail from:<root@@@@.com>
250 2.1.0 Ok
rcpt to:<zhang@@@@gmail.com>
554 5.7.1 <zhang@@@@gmail.com>: Relay access denied
rcpt to:<zhang@@@sina.com>
554 5.7.1 <zhang@@@sina.com>: Relay access denied
发信过程中的日志::
Nov 29 23:06:42 localhost postfix/postfix-script[16909]: stopping the Postfix mail system
Nov 29 23:06:42 localhost postfix/master[16545]: terminating on signal 15
Nov 29 23:07:14 localhost postfix/postfix-script[16958]: starting the Postfix mail system
Nov 29 23:07:14 localhost postfix/master[16959]: daemon started -- version 2.5.5, configuration /etc/postfix/
Nov 29 23:07:54 localhost postfix/smtpd[16964]: warning: dict_nis_init: NIS domain name not set - NIS lookups disabled
Nov 29 23:07:54 localhost postfix/smtpd[16964]: connect from unknown[59.@@@]    \\这里为什么是未知的??
Nov 29 23:09:46 localhost postfix/smtpd[16964]: NOQUEUE: reject: RCPT from unknown[59.@@@]: 554 5.7.1 <zhangb###@gmail.com>: Relay access
denied; from=<root@hamob.com> to=<zhang##@gmail.com> proto=SMTP helo=<mail.@@@.com>
Nov 29 23:10:45 localhost postfix/smtpd[16964]: NOQUEUE: reject: RCPT from unknown[59@@@]: 554 5.7.1 <zhang@@@sina.com>: Relay access \\这里也有
denied; from=<root@###.com> to=<zhang##@sina.com> proto=SMTP helo=<mail.@@@.com>
Waiting for data... (interrupt to abort)
我的MX记录测试了,下面是测试结果:

C:\Documents and Settings\ufo>nslookup
*** Can't find server name for address 61.232.10.59: Non
Default Server:  gjjline.bta.net.cn
Address:  202.106.0.20

> set q=MX
>
> ####.com
Server:  gjjline.bta.net.cn
Address:  202.106.0.20

Non-authoritative answer:
###.com       MX preference = 1, mail exchanger = mail。###。com

com     nameserver = c.gtld-servers.net
com     nameserver = h.gtld-servers.net
com     nameserver = j.gtld-servers.net
com     nameserver = d.gtld-servers.net
com     nameserver = a.gtld-servers.net
com     nameserver = f.gtld-servers.net
com     nameserver = i.gtld-servers.net
com     nameserver = g.gtld-servers.net
com     nameserver = b.gtld-servers.net
com     nameserver = m.gtld-servers.net
com     nameserver = l.gtld-servers.net
com     nameserver = e.gtld-servers.net
com     nameserver = k.gtld-servers.net
c.gtld-servers.net      internet address = 192.26.92.30
j.gtld-servers.net      internet address = 192.48.79.30
i.gtld-servers.net      internet address = 192.43.172.30
l.gtld-servers.net      internet address = 192.41.162.30

[ 本帖最后由 13319085 于 2008-11-29 23:34 编辑 ]

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
23 [报告]
发表于 2008-11-30 11:36 |只看该作者
20楼是发送成功了
mail from:<zhang###@sina.com>
250 2.1.0 Ok
rcpt to:<root@###.com>

21楼给gmail发送失败。启用认证试试。主要是下面几个选项的设置
  1. smtpd_sasl_auth_enable
  2. smtpd_sasl_security_options
  3. broken_sasl_auth_clients
  4. smtpd_recipient_restrictions
  5. smtpd_client_restrictions
复制代码

论坛徽章:
0
24 [报告]
发表于 2008-11-30 12:02 |只看该作者

回复 #22 ynchnluiti 的帖子

楼上能具体点吗??

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
25 [报告]
发表于 2008-11-30 18:17 |只看该作者
原帖由 13319085 于 2008-11-30 12:02 发表
楼上能具体点吗??
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = ''
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated, reject_unauth_destination
broken_sasl_auth_clients=yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous


telnet发送邮件前也要认证:
如果服务器smtp需要验证,helo完要输入
AUTH LOGIN
提示
334 VXNlcm5hbWU6 即 Username:
和 334 UGFzc3dvcmQ6 即 Password:
后边的内容是提示输入用户名和口令,信息是经过base64编码的
输入的用户名和口令也要经过编码。
smtp认证通过后会显示
235 2.0.0 Authentication successful


另外,relay控制。主要是设置
inet_interfaces
mynetworks_style
mynetworks
relay_domains

论坛徽章:
0
26 [报告]
发表于 2008-12-01 11:05 |只看该作者

回复 #24 ynchnluiti 的帖子

多谢楼上的答复,我现在就想允许本地注册的用户通过本 MTU 向外 relay 邮件,是怎么设置的,那个sasl是用在多 MTU 的环境?小弟刚接触邮件服务器,以上是我的一些理解,是否正确期待你的答复.如果是基本的 relay 是怎么进行设置的??现在可以收邮件,但往外发邮件都是 relay 被拒绝的。

论坛徽章:
0
27 [报告]
发表于 2008-12-01 11:38 |只看该作者
因为要转发给外域的邮件,有两个方法,一个是在mynetworks指定可以发信到外域的客户端,另外的就是在relay_domains指定域名,那么这个参数就是任何客户端都可以发送到relay_domains指定的域名当中

论坛徽章:
0
28 [报告]
发表于 2008-12-01 11:45 |只看该作者

回复 #26 songpure520 的帖子

多谢楼上的答复,是不是要往外域发邮件就必须把它的域名加到relay_domains中??如果是这样的话,就必须设置sasl了!

论坛徽章:
0
29 [报告]
发表于 2008-12-01 23:46 |只看该作者
邮件不能发出去,一般maillog中肯定有记录的,vi /etc/postfix/master.cf,变成这样
smtp  inet -  n - -  smtpd -v(多加个v).在看看日志。
先本地测试一下也可以的,echo "hello" |maildrop -V 9 -d test@test.com.
可以去这里看看这篇文章:
http://www.extmail.org/docs/extmail_solution_linux/

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
30 [报告]
发表于 2008-12-02 01:52 |只看该作者
原帖由 13319085 于 2008-12-1 11:45 发表
多谢楼上的答复,是不是要往外域发邮件就必须把它的域名加到relay_domains中??如果是这样的话,就必须设置sasl了!

我这没环境,只能测试本地(同一局域网)给外域发邮件,可以成功。

楼主先试试下列方法(逐个测试,修改main.cf后别忘了重启postfix).,看看能不能成功发送邮件,熟悉一下postfix, 然后再安装sasl:
1 设置 mynetworks。示例:
mynetworks = 192.168.0.0/24, 192.168.1.0/24, 127.0.0.0/8
#mynetworks = $config_directory/mynetworks
#mynetworks = hash:/etc/postfix/network_table


2 添加gmail.com到mydestination
mydestination = gmail.com, ..
参考:
http://www.linuxquestions.org/qu ... tgoing-mail-649306/
http://rackerhacker.com/2007/08/ ... elay-access-denied/

3 添加gmail.com到relay_domains,不启用sasl认证。
relay_domains = gmail.com, $mydestination

Postfix sasl的安装配置在不同系统上有些出入,楼主可以根据自己的系统在网上找找。
(如果debian等系统,使用aptitude类似工具安装很方便)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP