The Community Forums

Interact with an entire community of cPanel & WHM users!
  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

invalid helo after latest update

Discussion in 'E-mail Discussions' started by markd_mms, Dec 23, 2008.

  1. markd_mms

    markd_mms Registered

    Joined:
    Dec 22, 2008
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    We were upgraded automatically to cPanel 11.24.4-R32603 - WHM 11.24.2 - X 3.9 the other day and since then we've started having problems with some people sending mail through our server. exim_rejectlog shows the following:

    Code:
    2008-12-24 08:10:58 H=dsl-4-120.vic1.net.au (leading-6es0sns) [125.168.4.120] rejected MAIL <3ind442@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:11:03 H=abelsm.lnk.telstra.net (ABECBR16-2k) [165.228.77.156] rejected MAIL <2ind214@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:11:08 H=dsl-58-6-17-194.wa.westnet.com.au (Station1) [58.6.17.194] rejected MAIL <6ind580@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:12:11 H=109.28.87.203.static.vic.chariot.net.au (Admin) [203.87.28.109] rejected MAIL <3ind509@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:12:52 H=(Server) [203.193.209.191] rejected MAIL <3ind360@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:21:14 H=(SERVER) [210.79.30.229] rejected MAIL <2lee022@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:22:51 H=(Main_User) [210.11.197.210] rejected MAIL <2ind232@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    2008-12-24 08:24:43 H=mail.mallmusic.com.au (MMSER01) [220.245.90.133] rejected MAIL <2ind248@mmsxps.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
    It's not obvious to me what's wrong with the HELO or what it should look like instead. Can someone explain what's wrong with those HELOs?

    The funny thing is that if those users check pop3 mail and then try and send an email straight after (smtp authentication isn't required) then it works ok.

    TIA
     
  2. cPanelNick

    cPanelNick Administrator
    Staff Member

    Joined:
    Mar 9, 2015
    Messages:
    3,426
    Likes Received:
    2
    Trophy Points:
    38
    cPanel Access Level:
    DataCenter Provider
    You can disable HELO checking in the Exim Configuration Editor inside of WHM. The trade off is you will receive more spam.
     
  3. markd_mms

    markd_mms Registered

    Joined:
    Dec 22, 2008
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Thanks for your response. Can you tell me why the HELO's are invalid? The mail client being used in this is one custom written by our company so if there's a problem with it I need to know.

    TIA
     
  4. idBear

    idBear Member

    Joined:
    Jan 15, 2008
    Messages:
    9
    Likes Received:
    0
    Trophy Points:
    1
    Location:
    CT
    I am seeing this same problem with my clients who use Miva Empressa. This just started happening in the last few weeks but was only brought to my attention today.

    This is the error produced when a Miva script tried to send an email:
    Runtime Error: Access denied - Invalid HELO name (See RFC2821 4.1.3)

    So, what has changed and how do I correct it? Disabling HELO checking in the Exim Configuration Editor is not an option. Is there other info that the scripts smtp command needs to add to correct this??
     
  5. tkerns

    tkerns Active Member

    Joined:
    Jun 13, 2007
    Messages:
    33
    Likes Received:
    0
    Trophy Points:
    6
    I am having this same issue immediately after upgrading to 11.24. Does anybody have a resolution that does not involve disabling HELO checking?
     
  6. tripwire

    tripwire Member

    Joined:
    Apr 9, 2008
    Messages:
    12
    Likes Received:
    0
    Trophy Points:
    1
    I have the same problem too. I have a client who's emails are constantly blocked from getting to me.

    Here's the exim error:
    rejected MAIL <email@address.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
     
  7. tkerns

    tkerns Active Member

    Joined:
    Jun 13, 2007
    Messages:
    33
    Likes Received:
    0
    Trophy Points:
    6
    After opening a ticket with support, I was informed that HELO checking was introduced in 11.24, and defaulted to ON. The only way I was able to get rid of this error was to disable HELO checking in Exim configuration.

    Tom
     
  8. Alejandro P

    Alejandro P Well-Known Member

    Joined:
    Apr 6, 2007
    Messages:
    53
    Likes Received:
    0
    Trophy Points:
    6
    cPanel Access Level:
    Root Administrator
    Last week a client reported the problem on one of my servers, this was only happening on his network. From my end it worked perfectly so I suggested him to verify his network for viruses.

    I suggested him this would be related to downadup virus. He did check his network and it solve the problem.
     
  9. brianoz

    brianoz Well-Known Member

    Joined:
    Mar 13, 2004
    Messages:
    1,146
    Likes Received:
    6
    Trophy Points:
    38
    Location:
    Melbourne, Australia
    cPanel Access Level:
    Root Administrator
    We've also got this here, and it seems to have been a fault introduced by a recent update. I suspect the HELO checking is now too strict - it looks like it is rejecting his HELO name - which is "laptop".
     
  10. tonedoggydogg

    tonedoggydogg Member

    Joined:
    May 22, 2005
    Messages:
    13
    Likes Received:
    0
    Trophy Points:
    1
    If this is referring to error #0x800CCC78 in Outlook Express...

    If you are using Outlook Express (OE), Outlook, or Windows Mail, this error can sometimes be generated by leaving the "My server requires authentication" checkbox unchecked. You may need to try checking off this checkbox.

    Use the below examples to find this checkbox:

    1. Outlook 2000
    Go to Tools > Services (or Tools > Accounts, if Services is not listed). Select your Internet E-Mail Account and press “Properties.” Go to the “Servers” tab, and check “My server requires authentication” under Outgoing Mail Server. Press “Settings,” select “Use same settings as my incoming mail server,” then press “OK” three times to save the changes & return to Outlook. Finally, restart your computer.

    2. Outlook 2002 & 2003
    Go to Tools > E-Mail Accounts. Select “View or change existing e-mail accounts” and press “Next.” Select your Intermedia.NET POP/SMTP account and press “Change.” Press “More Settings.” Go to the “Outgoing Server” tab, and check “My outgoing server (SMTP) requires authentication.” Select “Use same settings as my incoming mail server” and press “OK.” Press “Next,” then press “Finish” to confirm your changes and return to Outlook. Finally, restart your computer.

    3. Outlook Express
    Go to Tools > Accounts. Select the “Mail” tab. Select your Intermedia.NET account and press “Properties.” Go to the “Servers” tab, and check “My server requires authentication” under Outgoing Mail Server. Press “Settings,” select “Use same settings as my incoming mail server,” then press “OK” twice times to save the changes, then press “Close” to return to Outlook Express. Finally, restart your computer.
     
  11. brianoz

    brianoz Well-Known Member

    Joined:
    Mar 13, 2004
    Messages:
    1,146
    Likes Received:
    6
    Trophy Points:
    38
    Location:
    Melbourne, Australia
    cPanel Access Level:
    Root Administrator
    Apologies for not responding earlier; this was the problem with my user. Possibly related to the fact that he was no longer authenticating with POP before sending.

    Selecting the "My server requires authentication" checkbox stopped the problems immediately, which were only with sending.
     
  12. zerotsm

    zerotsm Registered

    Joined:
    Apr 29, 2010
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    Problem Fixed!

    I had this problem too, with a perl script that I used for sending custom invitations out. The problem I found was that my host name was not complete, When my script called Mail::Sendmail, that module in turned called Sys::Hostname which came up with just "mmx", the machine name, just like the "laptop" case cited above. WIth the strict HELO checking you need the full domain. To fix it on a linux box use the hostname command while root to set the machine's hostname to "mmx.mydomain.com" (for example) and voila! Problem solved! At least this worked with my Hostgator account.
     
  13. jatinshah1

    jatinshah1 Registered

    Joined:
    Nov 23, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    I am a .NET programmer. I prepared a small application to send email using email account.
    I was facing the same problem when sending email. So I did programming to send HELO command to the server before sending email. I used below code. And I found the problem to be fixed on my computer with windows 7 OS. But when I run the same program on windows XP OS, its still giving the same error. HELO command is sent properly, system gets response properly but when I execute method to send email, it gives the same problem. Can any one give me steps to disable Helo checking in cPanel?
    Public NotInheritable Class SmtpHelper
    Private Sub New()
    End Sub

    ''' <summary>
    ''' test the smtp connection by sending a HELO command
    ''' </summary>
    ''' <param name="smtpServerAddress"></param>
    ''' <param name="port"></param>
    Public Shared Function TestConnection(ByVal smtpServerAddress As String, ByVal port As Integer) As Boolean
    Dim hostEntry As IPHostEntry = Dns.GetHostEntry(smtpServerAddress)
    Dim endPoint As New IPEndPoint(hostEntry.AddressList(0), port)
    Using tcpSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
    'try to connect and test the rsponse for code 220 = success
    tcpSocket.Connect(endPoint)
    If Not CheckResponse(tcpSocket, 220) Then
    Return False
    End If

    ' send HELO and test the response for code 250 = proper response
    SendData(tcpSocket, String.Format("HELO {0}" & vbCr & vbLf, Dns.GetHostName()))
    If Not CheckResponse(tcpSocket, 250) Then
    Return False
    End If

    ' if we got here it's that we can connect to the smtp server
    Return True
    End Using
    End Function

    Private Shared Sub SendData(ByVal socket As Net.Sockets.Socket, ByVal data As String)
    Dim dataArray As Byte() = Encoding.ASCII.GetBytes(data)
    socket.Send(dataArray, 0, dataArray.Length, SocketFlags.None)
    End Sub

    Private Shared Function CheckResponse(ByVal socket As Socket, ByVal expectedCode As Integer) As Boolean
    While socket.Available = 0
    System.Threading.Thread.Sleep(100)
    End While
    Dim responseArray As Byte() = New Byte(1023) {}
    socket.Receive(responseArray, 0, socket.Available, SocketFlags.None)
    Dim responseData As String = Encoding.ASCII.GetString(responseArray)
    Dim responseCode As Integer = Convert.ToInt32(responseData.Substring(0, 3))
    MessageBox.Show(responseData)
    If responseCode = expectedCode Then
    Return True
    End If
    Return False
    End Function
    End Class
     
  14. jatinshah1

    jatinshah1 Registered

    Joined:
    Nov 23, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Strange but true

    Problem that I mentioned in above post was not Operating system specific. It was because of a small mistake of somebody either me or Microsoft programmer.
    I did lot of research with sending proper Helo name to the email server and I also achived that too.. But that is also not necessary. However we can check connectivity with email server by sending Helo command to the server.
    Problem was here. In attached source code I have used below code to send email.
    Dim MailClient As System.Net.Mail.SmtpClient = New System.Net.Mail.SmtpClient(strOutGoingMailServer, 1025)
    MailClient.UseDefaultCredentials = False
    MailClient.Credentials = New Net.NetworkCredential(strFromEmailAddress, strPassword)
    MailClient.Send(oMail)


    In this code ... first I set "UseDefaultCredentials = False" and then assign our own network credentials. This code is working fine.

    Earlier I was assigning network credentials befire setting "UseDefaultCredentials = False". means my statement order was

    MailClient.Credentials = New Net.NetworkCredential(strFromEmailAddress, strPassword)
    MailClient.UseDefaultCredentials = False

    when I was executing earlier source code, I was getting below error,

    "mailbox unavailable. The server response was: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)"

    I thought this .UseDefaultCredentials = False is used to indicate whether to use Credentials defined in web.config or not. I looked into description of this property. It says as below,

    //
    // Summary:
    // Gets or sets a System.Boolean value that controls whether the System.Net.CredentialCache.DefaultCredentials
    // are sent with requests.
    //
    // Returns:
    // true if the default credentials are used; otherwise false. The default value
    // is false.
    //
    // Exceptions:
    // System.InvalidOperationException:
    // You cannot change the value of this property when an e-mail is being sent.


    but order of statement is never specified. How programmer will know, where to assign this property? before assigning credentials or after assigning credentials? As this is a property, programmer will use it any where before sending email.

    Thus in my case problem was with the order of the statement in code.
     

    Attached Files:

    #14 jatinshah1, Nov 25, 2010
    Last edited: Nov 25, 2010
  15. crazyaboutlinux

    crazyaboutlinux Well-Known Member

    Joined:
    Nov 3, 2007
    Messages:
    938
    Likes Received:
    0
    Trophy Points:
    16
    i am also facing the same issue.
     
  16. jatinshah1

    jatinshah1 Registered

    Joined:
    Nov 23, 2010
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Hi can you please read my above message carefully. I was facing this issue in .NET. I hope this will help you.

    Thanks
    Jatin
     
  17. crazyaboutlinux

    crazyaboutlinux Well-Known Member

    Joined:
    Nov 3, 2007
    Messages:
    938
    Likes Received:
    0
    Trophy Points:
    16
    Yeah I already read your thread & i am facing the same problem as per thread invalid helo after latest update
     
  18. crazyaboutlinux

    crazyaboutlinux Well-Known Member

    Joined:
    Nov 3, 2007
    Messages:
    938
    Likes Received:
    0
    Trophy Points:
    16
    I am waiting for the FIX
     
  19. lehels

    lehels Well-Known Member

    Joined:
    Jul 10, 2006
    Messages:
    90
    Likes Received:
    0
    Trophy Points:
    6
    Did you tried sending mails WITH authentication, as normally should?
     
  20. crazyaboutlinux

    crazyaboutlinux Well-Known Member

    Joined:
    Nov 3, 2007
    Messages:
    938
    Likes Received:
    0
    Trophy Points:
    16
    First of all i am not a sender, Sender is our client (example.com & they are using google apps mail server) &
    i am a recipient (testdomain.com & use Exim mail server )

    when 123@example.com sends mail to 123@testdomain.com it doesn't delivered
    It means our recipient server (testdomain.com & use Exim mail server ) is blocking email

    I found error below while checking exim logs

    2011-01-03 15:14:08 H=(EXPDSI01) [209.143.xx.xx] rejected MAIL <123@exp-inc.com>: Access denied - Invalid HELO name (See RFC2821 4.1.1.1)

    But when 123@example.com sends mail to any other email service provider like yahoo, google,hotmail,rediffmail,aol it successfully delivered


    means our Exim email server blocking email with error Access denied - Invalid HELO name (See RFC2821 4.1.1.1)
     
Loading...

Share This Page