我知道这已经被问过,但是我尝试了其他的并且仍然得到相同的错误。
服务器错误:“554 5.7.1:中继访问被拒绝”
postconf -n:
alias_database = hash:/etc/aliases alias_maps = hash:/etc/aliases command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/libexec/postfix data_directory = /var/lib/postfix debug_peer_level = 2 home_mailbox = Maildir/ html_directory = no inet_interfaces = all inet_protocols = all mail_owner = postfix mailq_path = /usr/bin/mailq.postfix manpage_directory = /usr/share/man mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mydomain = mydomain.com myhostname = mail.mydomain.com myorigin = $mydomain newaliases_path = /usr/bin/newaliases.postfix queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES relay_domains = $mydestination sample_directory = /usr/share/doc/postfix-2.6.6/samples sendmail_path = /usr/sbin/sendmail.postfix setgid_group = postdrop unknown_local_recipient_reject_code = 550
并补充说
smtpd_relay_restrictions = permit_mynetworks defer_unauth_destination
如果您的服务器允许您将互联网上的任何IP地址的电子邮件转发到互联网上的任何域名,那么在垃圾邮件发送者开始滥用垃圾邮件发送垃圾邮件之前大约需要0.5纳秒的时间。 这确实很糟糕。
所以,为了把它用作中继,你需要build立某种authentication机制。 最常用的方法叫SASL; 另一个将是使用SSL / TLS证书(您可以自己问题)或设置SSH隧道或stunnel。
SASL的主要优势在于,即使您不拥有或完全控制该计算机,它也可以与任何计算机一起使用。 TLS / SSH / stunnel的优点是连接更安全 – 但是在客户端需要更多的工作。
您也可以将您自己的IP地址添加到允许中继的IP列表中。
如果您select使用SASL,请先阅读postfix SASL文档 。
如果您select使用SSL / TLS证书,请首先执行后缀TLS文档 。
如果要将IP地址添加到允许中继的networking,则应将IP地址添加到configuration中的“mynetworks”行。 如果没有这样的一行,请添加它。 正常值会是类似的
mynetworks = 127.0.0.0/24,1.2.3.4/32
其中1.2.3.4是您要中继的计算机的实际IP地址。 有更多的信息在后缀网站