免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6985 | 回复: 18
打印 上一主题 下一主题

[Mail] 求助,postfix无法外发邮件。各位大大们,帮忙啊。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-26 18:53 |只看该作者 |倒序浏览
本机上各域邮件之间互发都没有问题。但外发就报错。
错误信息:
mail:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix (Debian/GNU)
helo example.com
250 mail.example.com
mail from:<ops@example.com>
250 2.1.0 Ok
rcpt to:<myemail@gmail.com>
550 5.1.1 <myemail@gmail.com>: Recipient address rejected: User unknown in local recipient table
quit
221 2.0.0 Bye
Connection closed by foreign host.
main.cf配置内容如下:++++++++++++++++++++++++++++++++++

# See /usr/share/postfix/main.cf.dist for a commented, more complete version


# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h

# TLS parameters
smtpd_tls_cert_file = /etc/ssl/certs/postfix.pem
smtpd_tls_key_file = /etc/ssl/private/postfix.pem
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree{queue_directory}/smtpd_scache
smtp_tls_session_cache_database = btree{queue_directory}/smtp_scache

# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.

myhostname = mail.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.example.com, mail.example.cn, gmail.com, localhost
relayhost =
mynetworks =
#121.52.210.0/24
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_tls_auth_only = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

论坛徽章:
0
2 [报告]
发表于 2009-05-26 19:34 |只看该作者
mail:/etc/postfix/sasl# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix (Debian/GNU)
ehlo example.com     
250-mail.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<ops@example.com>
250 2.1.0 Ok
rcpt to:<myemail@gmail.com>
554 5.7.1 <myemail@gmail.com>: Relay access denied
quit
221 2.0.0 Bye
Connection closed by foreign host.

报错后的/var/log/mail.log错误记录如下:================
May 26 19:29:59 mail postfix/smtpd[3164]: NOQUEUE: reject: RCPT from unknown[124.126.148.31]: 554 5.7.1 <myemail@gmail.com>: Relay access denied; from=<ops@example.com> to=<myemail@gmail.com> proto=ESMTP helo=<example.com>
May 26 19:30:07 mail postfix/smtpd[3164]: disconnect from unknown[124.126.148.31]

论坛徽章:
0
3 [报告]
发表于 2009-05-26 21:52 |只看该作者
楼主的DNS解析有误,你没有做好正确的DNS解释,A.MX记录。
       明眼一看就是照抄的网上的配置,看网上的教程是好的,但是你得把本地的域名改了。
example.com 是人家的域名,解析是别人的公网IP,怎么可能让你发邮件。
    如果这样也能发,那我搞个  qq.com然后再向别人用户发邮件,发个什么中奖的邮件,那我可是发财了。呵呵。。。

论坛徽章:
0
4 [报告]
发表于 2009-05-27 09:10 |只看该作者
原帖由 wzhihai 于 2009-5-26 19:34 发表
mail:/etc/postfix/sasl# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.example.com ESMTP Postfix (Debian/GNU)
ehlo example.com     
250-m ...



没有认证就向外域发件当然不成功。要是这样也能发成功,那你的邮件服务器就是open relay了。

论坛徽章:
0
5 [报告]
发表于 2009-05-27 09:41 |只看该作者
DNS解析肯定是正确的。example.com是发贴的时候改的。配置里边当然不会用这个域名,因为服务器放在公网上,目前处理测试阶段,没有开任何防护,所以一开始没有用真正的域名。

下边是用outlook以身份验证方式发送邮件。也是同样发送不成功,以下是mail.log的错误记录。显示verification failed: Name or service not known,所以我怀疑是那个地方配置不对,造成对外发送受限制。

May 27 09:36:25 mail postfix/smtpd[2563]: warning: 124.126.148.31: hostname 31.148.126.124.broad.bjtelecom.net verification failed: Name or service not known
May 27 09:36:25 mail postfix/smtpd[2563]: connect from unknown[124.126.148.31]
May 27 09:36:25 mail postfix/smtpd[2563]: NOQUEUE: reject: RCPT from unknown[124.126.148.31]: 554 5.7.1 <wzhihai@gmail.com>: Relay access denied; from=<ops@olship.cn> to=<wzhihai@gmail.com> proto=ESMTP helo=<wzh>
May 27 09:36:25 mail postfix/smtpd[2563]: disconnect from unknown[124.126.148.31]

论坛徽章:
0
6 [报告]
发表于 2009-05-27 09:43 |只看该作者
以下是现在的main.cf主要配置部分:

myhostname = mail.olship.cn
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.olship.cn, localhost
relayhost =
mynetworks = 121.52.210.8
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf,mysql:/etc/postfix/mysql-email2email.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_tls_auth_only = yes
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_security_options = noanonymous

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
7 [报告]
发表于 2009-05-27 09:54 |只看该作者
550 5.1.1 <myemail@gmail.com>: Recipient address rejected: User unknown in local recipient table


还有Relay access denied;


看这些啊

论坛徽章:
0
8 [报告]
发表于 2009-05-27 10:06 |只看该作者
本地telnet登录报销信息。提示没有验证方法????
mail:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
ehlo olship.cn
220 mail.olship.cn ESMTP Postfix (Debian/GNU)
250-mail.olship.cn
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
auth plain ZHJ5Q9sGc2hpcC5jbgercnlAb23zaGlwLmNuAGdsdWU=
538 5.7.0 Encryption required for requested authentication mechanism

另外Recipient address rejected: User unknown in local recipient table,是那条设置的问题啊?

论坛徽章:
0
9 [报告]
发表于 2009-05-27 10:16 |只看该作者
mynetworks_style = host

加上这个,telnet localhost 25 不用认证

论坛徽章:
0
10 [报告]
发表于 2009-05-27 10:19 |只看该作者
加上mynetworks_style = host没有任何效果,以下是加上之后不做认证发送邮件,直接relay access denied。那位大侠能先告诉我一下,relay access denied是为什么?那条语句控制的?

mail:~# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.olship.cn ESMTP Postfix (Debian/GNU)
ehlo olship.com
250-mail.olship.cn
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
mail from:<ops@olship.cn>
250 2.1.0 Ok
rcpt to:<wzhihai@gmail.com>
554 5.7.1 <wzhihai@gmail.com>: Relay access denied

[ 本帖最后由 wzhihai 于 2009-5-27 10:23 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP