Email and Webmail

550 Access denied - Invalid HELO name

Updated November 2026 12,087 views 3 min read
Email & Webmail | Updated November 2026

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.

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.

Tip

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 Ticket

Frequently 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

  1. HELO errors mean the sending server's identity is rejected
  2. Check your SMTP settings if you are the sender - use mail.yourdomain.com
  3. If receiving bounces - The sender's server is misconfigured, not yours
  4. For PHP scripts - Switch to authenticated SMTP instead of mail()
  5. Use Track Delivery in cPanel to see exact error details

Understanding email delivery errors · Last updated November 2026 · Browse all Email articles

Share: X in Reddit f Email
  • 165 Users Found This Useful

Was this answer helpful?

Related Articles

Domain has exceeded the max defers and failures per hour

Email and Webmail | Updated January 2026 If you see the error "Domain has exceeded the max...

Emails Bouncing Back

Email & Webmail | Updated March 2026 When an email bounces, you receive a delivery...

Receiving reported error (0x80042108)

Email & Webmail | Updated March 2026 The Outlook error 0x80042108 means "Outlook is...

Understanding Email Authentication: SPF, DKIM, and DMARC

Email and Webmail | Updated January 2026 If your emails are landing in spam folders, or if...

Unable to log into Webmail

Email & Webmail | Updated November 2026 If you cannot log into webmail at...



Save 30% on web hosting - Use coupon code Hosting30