2

我正在尝试通过 Linux 服务器发送电子邮件,但我从未收到它。我目前正在使用腻子,我使用

# php -r 'mail("*****@gmail.com","Test subject", "Test Message","From: *****@gmail.com");'

然后我去检查我的消息

cat /var/spool/mail/

我得到了这个

 ----- The following addresses had permanent fatal errors -----
   <****@gmail.com>
   **(reason: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1))**

----- Transcript of session follows -----
  ... while talking to domain.ca.:
  >>> MAIL From:<*****@****> SIZE=568
  <<< **550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)**
  554 5.0.0 Service unavailable

我在网上搜索,我找不到答案,有些人说这是一个身份验证问题,但他们主要是在谈论 Outlook。我不知道它是否有帮助,但是当我使用 telnet 和 ehlo 时,我得到了这个

# telnet localhost 25
   Trying ::1...
   telnet: connect to address ::1: Connection refused
   Trying 127.0.0.1...
   Connected to localhost.
   Escape character is '^]'.
   220 *** ESMTP Sendmail 8.14.4/8.14.4; Fri, 27 Sep 2013 14:47:10 -0400

# ehlo localhost
   250-****Hello localhost [127.0.0.1], pleased to meet you
   250-ENHANCEDSTATUSCODES
   250-PIPELINING   
   250-8BITMIME
   250-SIZE
   250-DSN
   250-ETRN
   250-DELIVERBY
   250 HELP

我认为它不见了

   250-AUTH LOGIN PLAIN
   250-AUTH=LOGIN PLAIN

我不知道是不是因为我有错误而无法发送电子邮件?如果是,我不知道该怎么做才能使这个出现。

有人能帮助我吗?我是 linux 和 php 邮件的新手

4

1 回答 1

1

如果它是 VPS 或专用服务器,请尝试将主机名更改为可解析的名称,例如 server@mydomain.com 并具有相同的有效 A 记录

我发现以下网站很有用

如何修复无效的 HELO 名称错误

于 2016-06-01T05:32:27.537 回答