SOLVED Invalid HELO name, Reverse DNS does not match SMTP Banner

unigen

Member
Mar 8, 2015
12
2
53
New Delhi, India
cPanel Access Level
Root Administrator
Hi,

Below is the result of this command
exigrep [email protected] /var/log/exim_mainlog

Code:
2019-04-25 04:39:40 1hJWAX-0002fl-Pd ** [email protected] R=dkim_lookuphost T=dkim_remote_smtp H=otherdomain.in [103.21.58.231] X=TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256 CV=no: SMTP error from remote mail server after pipelined MAIL FROM:<[email protected]> SIZE=2315: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
mxtoolbox "Test email server" test for SMTP Banner Check shows Reverse DNS does not match SMTP Banner error.

Reverse DNS, PTR, SPF, DKIM, everything is checked correct.

I'm able to send to gmail but not other domains. How do I fix this?

I have some 15 domains running on Cpanel/WHM VPS server, and while I do have root access, I'm inexperienced with linux commands. Therefore I'm looking for any solution using Cpanel/WHM.

Thank you!

Dips.
 

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,301
363
Houston
Is the hostname of the server the same as the rDNS? Meaning does the Primary IP of the server resolve to the current hostname of the server?

You can find what the rdns is by running something like the following:

Code:
host <IPAddress>
 

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,301
363
Houston

unigen

Member
Mar 8, 2015
12
2
53
New Delhi, India
cPanel Access Level
Root Administrator
Hi @cPanelLauren

Unfortunately, looks like happiness was temporary. The problem is back, and I have absolutely no idea where the problem lies.

I wish there was a checklist and we could check if all the settings were OK.

I ran the dig command again and this time here are the results:

Code:
[[email protected] ~]# dig a sg.example.net +short
103.125.xxx.xxx
It's the correct IP
 
Last edited by a moderator:

unigen

Member
Mar 8, 2015
12
2
53
New Delhi, India
cPanel Access Level
Root Administrator
If the following offers any insights, here's the output of test run on SMTP Check - Pingability.com:

Code:
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Oracle]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "mydomain.com", port 25, isSSL false
220-example-vps-sg ESMTP Exim 4.91 #1 Thu, 02 May 2019 15:53:44 +0000
220-We do not authorize the use of this system to transport unsolicited,
220 and/or bulk e-mail.
DEBUG SMTP: connected to host "mydomain.com", port: 25
EHLO localhost
250-example-vps-sg Hello pingability.com [72.249.37.67]
250-SIZE 52428800
250-8BITMIME
250-PIPELINING
250-STARTTLS
250 HELP
DEBUG SMTP: Found extension "SIZE", arg "52428800"
DEBUG SMTP: Found extension "8BITMIME", arg ""
DEBUG SMTP: Found extension "PIPELINING", arg ""
DEBUG SMTP: Found extension "STARTTLS", arg ""
DEBUG SMTP: Found extension "HELP", arg ""
DEBUG SMTP: use8bit false
MAIL FROM:<[email protected]>
550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
DEBUG SMTP: got response code 550, with response: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

RSET
DEBUG SMTP: EOF: [EOF]
DEBUG SMTP: MessagingException while sending, THROW:
com.sun.mail.smtp.SMTPSendFailedException: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
;
  nested exception is:
    com.sun.mail.smtp.SMTPSenderFailedException: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

    at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:2358)
    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1823)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1300)
    at com.rimuhosting.util.email.EmailDetails.sendEmail(EmailDetails.java:579)
    at com.rimuhosting.util.email.EmailDetails.sendEmail(EmailDetails.java:396)
    at org.apache.jsp.smtptest_jsp._jspService(smtptest_jsp.java:336)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:476)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at com.rimuhosting.util.webrequest.DoNothingFilter.doFilter(DoNothingFilter.java:94)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
    at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:394)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: com.sun.mail.smtp.SMTPSenderFailedException: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

    at com.sun.mail.smtp.SMTPTransport.mailFrom(SMTPTransport.java:1832)
    ... 35 more
QUIT
DEBUG SMTP: EOF: [EOF]

SMTPSenderFailedException: 550 Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
 

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,301
363
Houston
At this point it may be best to confer with your provider if you don't have root access to the system. They'll be able to investigate items that as a reseller you won't be able to.

Thanks!
 

unigen

Member
Mar 8, 2015
12
2
53
New Delhi, India
cPanel Access Level
Root Administrator
I do have root access, just don't know what I'm supposed to do. Following is result of exiqgrep for the domain.

Code:
[[email protected] log]# exiqgrep -r @example.in
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LC_CTYPE = "UTF-8",
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
 
Last edited by a moderator:

cPanelLauren

Product Owner II
Staff member
Nov 14, 2017
13,266
1,301
363
Houston
Hi @unigen

In that case, since it looks like you have more than just issues with sending mail on the server (that error really shouldn't be occurring) I believe it's best you open a ticket with us using the link in my signature. Once open please reply with the Ticket ID here so that we can update this thread with the resolution once the ticket is resolved.


Thanks!