中继访问被拒绝 – Postfix – Ubuntu

一直让我的Ubuntu服务器将我的邮件转发到外部地址有点麻烦。 以下是目前正在发生的事情:

当我本地telnet到端口25时,我可以发送电子邮件到任何主机就好了。 但是,当我尝试从我的Mac连接到服务器时,在进入邮件正文的rcpt部分后,出现“中继访问被拒绝”错误。

所以,我的问题是 – 这是为什么发生? 我该如何解决? 我最好喜欢这样做,所以任何地方的任何邮件客户端可以连接到我的服务器上的邮箱(客户端等)

这是我的/etc/postfix/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 (Ubuntu) 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 readme_directory = no # TLS parameters smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key smtpd_use_tls=yes smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache smtp_tls_session_cache_database = btree:${data_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 = sites.domain.co.uk alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = sites.domain.co.uk, localhost.domain.co.uk, , localhost relayhost = mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 <my_ip_address> mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all smtpd_client_restrictions = reject_rbl_client sbl.spamhaus.org, reject_rbl_client blackholes.easynet.nl, permit 

在服务器上输出我的Telnet会话:

 root@sites:~# netcat localhost 25 220 <my_hostname> ESMTP Postfix (Ubuntu) ehlo <some_host> 250-<my_hostname> 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: <my_email> 250 2.1.0 Ok rcpt to:<email>@googlemail.com 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> test . 250 2.0.0 Ok: queued as D5710120773 quit 221 2.0.0 Bye root@sites:~# 

而当我尝试从我的Mac远程login的结果:

 iMac:~ user$ telnet <my_hostname> 25 Trying 146.185.151.96... Connected to <my_hostname>. Escape character is '^]'. 220 <my_hostname> ESMTP Postfix (Ubuntu) ehlo <some_host> 250-<my_hostname> 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN mail from: <my_email> 250 2.1.0 Ok rcpt to: <email>@googlemail.com 554 5.7.1 <<email>@googlemail.com>: Relay access denied 

我search了网站,并尝试各种build议,但似乎没有为我工作! 任何帮助将不胜感激。

main.cf中的mynetworks指令指定后缀服务器将为其中继的networking。 您当前的设置只允许本地主机(后缀服务器)通过自己中继邮件。

 mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 <my_ip_address> 

您的Mac在单独的networking上。 改变mynetworks的networking,让你想要允许的networking。 它可能看起来像你这样的:

 mynetworks = 10.0.0.0/8, 127.0.0.0/8 

为了传递到这个相同的服务器,你不需要中继。 中继是当连接客户端使用您的服务器发送邮件到其他服务器。

查看virtual_mailbox_domainsvirtual_mailbox_basevirtual_alias_mapsvirtual_mailbox_maps 。 您可以configuration接受邮件的域名以及您拥有的用户。