SMTP(500 访问被拒绝)错误,但我可以将邮件发送到 gmail 或 hotmail

SMTP(500 Access Denied) Error but i can send mail to gmail or hotmail

我可以成功地向 Gmail 或 Hotmail 帐户发送电子邮件,但无法发送像 mail@specialdomain.com 邮件地址这样的电子邮件。我在 CentOs 服务器上使用 exim。当我发送电子邮件时出现此错误:

SMTP error from remote mail server after MAIL FROM:<my@mail.com> SIZE=5598:
 host example.com [XX.XXX.X.63]: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

我使用 587 端口进行 smtp。我应该在我的服务器或我的邮件配置上更改什么?

接收服务器将或多或少对 HELO 字符串(和其他发送服务器的设置)严格 - 主要目的是打击垃圾邮件。一些措施可能包括:

  • 拒绝连接 HELO 和 EHLO 提供的域有 在 DNS
  • 中既没有 'A' 也没有 'MX' 记录
  • 当 HELO 或 EHLO 主机名不是 RFC 要求的完全限定域或地址文字形式时拒绝请求
  • 检查主机是否具有与 EHLO 匹配的有效 RDNS
  • 根据正则表达式列表检查主机名,这些正则表达式与 ISP 动态分配的各种名称相匹配,例如 xxxx.dynamic.yyy.com 或 12-34-56-78.dsl.zzz.com

考虑到这一点,您的服务器很可能配置错误。错误消息非常准确:您的服务器提供的 HELO 名称不符合 RFC2821,因此接收服务器不会接受电子邮件。 首先检查您的服务器主机名,然后检查 EXIM 配置(可能是 /etc/exim/exim.conf)并查看是否配置了 primary_hostname 或 helo_data 值。