Error 503 Valid RCPT Command Must Precede DATA

Email & Webmail | Updated March 2026

The error "503 valid RCPT command must precede DATA" means the mail server rejected an outgoing email because the recipient address is missing, invalid, or wasn't properly communicated before the message body was sent. In plain terms: the server doesn't know who to send the email to. This usually comes from contact form scripts, bulk mailers, or misconfigured email clients.

01. What This Error Means

SMTP (the protocol for sending email) has a specific order of commands. Before sending the message body (DATA), the sender must tell the server who the message is for (RCPT TO). If the DATA command is sent before a valid RCPT TO, the server rejects it with "503 valid RCPT command must precede DATA."

This is a protocol-level error, meaning something is wrong with how the email is being constructed or sent, not with your server configuration.

02. Contact Forms (Most Common)

The #1 cause of this error is a website contact form with a missing or blank "To" address. Check your form plugin or script's settings:

WordPress Contact Forms

  • Contact Form 7 - check the "To" field in the form's Mail tab. It must contain a valid email address
  • WPForms - check Settings > Notifications > "Send To Email Address"
  • Gravity Forms - check the form's Notifications settings

Custom PHP Forms

If you're using a custom PHP contact form, verify the $to variable is set before calling mail():

$to = 'info@yourdomain.com';  // Must be set and valid
$subject = 'Contact Form Submission';
$message = $_POST['message'];
mail($to, $subject, $message);

If $to is empty (because a form field is blank or a variable isn't set), you'll get the 503 RCPT error.

Tip

If the error is intermittent (some form submissions work, others don't), a spam bot may be submitting your form with blank fields. Add form validation that requires all fields to be filled in, and consider adding a CAPTCHA.

03. Email Client Issues

If you see this error in Outlook, Thunderbird, or another email app:

  • Check the To field - make sure you've entered a recipient address. Sounds obvious, but it happens
  • Check for invisible characters - copy-pasted email addresses sometimes include hidden spaces or special characters. Delete the address and retype it manually
  • SMTP authentication - verify your outgoing server requires authentication and is configured correctly. See our Email Troubleshooting Guide

04. PHP Scripts and Bulk Email

If you're sending email programmatically and getting this error, your code is likely sending the DATA command before the RCPT TO command, or the RCPT TO command is using an invalid address that the server rejects.

If using PHPMailer (recommended over mail()):

$mail->addAddress('recipient@example.com');  // Must be called before send()
$mail->send();

If addAddress() is never called, or is called with an empty string, PHPMailer will produce this error.

For bulk sending: our shared hosting allows 500 emails per hour. If you're sending marketing or newsletter email, use a dedicated service like Amazon SES, Mailgun, or SendGrid. See our Email Troubleshooting Guide for sending limits.

Still Getting This Error?

If you've verified the recipient address is valid and the error persists, open a ticket with the full error message and the script or form that's generating it.

Open a Support Ticket

Quick Recap

  1. The "To" address is missing or invalid - that's what this error means
  2. Check your contact form plugin settings - verify the "To" field has a valid email address
  3. Custom PHP scripts - make sure $to is set before calling mail()
  4. Intermittent? - spam bots may be submitting blank fields, add validation/CAPTCHA
  5. Bulk sending - use a dedicated email service, not your hosting account

Last updated March 2026 · Browse all Email articles

  • 184 Users Found This Useful

Was this answer helpful?

Related Articles

Understanding Email Authentication: SPF, DKIM, and DMARC

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

How to Set Up Email on Android

Email & Webmail | Updated March 2026 Setting up your Ultra Web Hosting email on an...

An error has occurred

Article Updated This article has been consolidated This general error troubleshooting article...

What is the path to sendmail?

Path to Sendmail   The path to sendmail on our servers is: /usr/sbin/sendmail   Some...

What is a email mailing list?

What is an Email Mailing List?   An email mailing list allows you to send a single message...



Save 30% on web hosting - Use coupon code Hosting30