The "550 Access denied - Invalid HELO name" error means the mail server is rejecting an incoming or outgoing message because the sending server identified itself with a hostname that the receiving server considers invalid. Here is what causes it and how to fix it.
The sending server's HELO/EHLO hostname is rejected
When two mail servers communicate, the sending server introduces itself with a HELO or EHLO command followed by its hostname. If this hostname is missing, is an IP address instead of a domain name, or does not resolve in DNS, the receiving server may reject the connection. This is a spam prevention measure.
01. If You Are Trying to Send Email
If you see this error when sending from your email client (Outlook, Thunderbird, etc.), check your outgoing server settings:
- Outgoing server (SMTP): Use
mail.yourdomain.com(replace with your actual domain) - Port: 465 (SSL) or 587 (STARTTLS)
- Authentication: Must be enabled
- Username: Your full email address
If your settings are correct and you still see this error, your email client may be sending your local computer's hostname in the HELO command, and the server is rejecting it. This is uncommon with modern email clients but can happen with older software or custom scripts.
See How to Set Up Email in Microsoft Outlook or Email Troubleshooting Guide for complete setup instructions.
02. If You Are Receiving This as a Bounce
If someone emails you and gets this error bounced back, the problem is on the sender's side. Their mail server is introducing itself with an invalid hostname. Common causes:
- The sender's server has no reverse DNS (PTR) record - Legitimate mail servers should have a PTR record that maps their IP to a hostname
- The sender's HELO hostname does not resolve - The hostname their server announces does not exist in DNS
- The sender is on a misconfigured server - Common with small business mail servers or self-hosted email
In this case, the sender needs to fix their mail server configuration. You can let them know the specific error message so their email administrator can investigate.
03. If Your PHP Script Gets This Error
If your website's contact form or PHP script produces this error when trying to send email, the server's PHP mail() function is likely working fine, but the receiving server is rejecting the message. Switch to authenticated SMTP sending instead of mail().
See Why Does My Form Not Send Email? for how to set up SMTP in WordPress and PHP scripts.
If you need to check whether a specific email was rejected and why, use cPanel > Email > Track Delivery. This shows the server's log entries for outgoing messages including the exact SMTP error codes.
Need Help With Email Delivery?
If your outgoing email is being rejected, open a ticket with the full bounce message and we will investigate.
Open a Support TicketFrequently Asked Questions
What does 550 Access denied Invalid HELO name mean?
It means a mail server rejected the message because the sending server identified itself (in the SMTP HELO/EHLO step) with a hostname the receiver considers invalid, such as a bare name, an IP, or one that does not resolve. It is about the sending server's identity, not your message content.
How do I fix Invalid HELO name when sending?
If you send through our mail server with a normal email client, make sure you use the correct mail server hostname and SMTP authentication rather than a misconfigured custom setup. If you run your own sending script or server, set its HELO to a valid fully-qualified hostname with matching DNS.
I received this as a bounce, what does it mean?
The receiving server rejected your outgoing mail because the sending identity looked invalid. Using your mailbox through our server with the proper hostname and authenticated SMTP avoids it. If it persists, contact support with the full bounce text so we can check the server's HELO.
Why does my PHP script get an Invalid HELO error?
A script sending mail directly can present a bad HELO name. Send through authenticated SMTP to our mail server using an SMTP library instead of raw mail(), so the properly configured server handles the HELO with a valid hostname.
Quick Recap
- HELO errors mean the sending server's identity is rejected
- Check your SMTP settings if you are the sender - use mail.yourdomain.com
- If receiving bounces - The sender's server is misconfigured, not yours
- For PHP scripts - Switch to authenticated SMTP instead of mail()
- Use Track Delivery in cPanel to see exact error details
Understanding email delivery errors · Last updated November 2026 · Browse all Email articles
