{"id":13931,"date":"2016-05-06T15:49:06","date_gmt":"2016-05-06T13:49:06","guid":{"rendered":"https:\/\/hetzner.co.za\/help-centre\/?p=13931"},"modified":"2025-12-30T10:15:17","modified_gmt":"2025-12-30T08:15:17","slug":"mail-rfc-compliance","status":"publish","type":"post","link":"https:\/\/xneelo.co.za\/help-centre\/email\/spam-and-security\/mail-rfc-compliance\/","title":{"rendered":"Mail sending scripts: RFC compliance"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">All email scripts that send an email via our servers must conform to RFC standards. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">A <strong>Request for Comments (RFC)<\/strong> is a formal document from the Internet Engineering Task Force (IETF) that are considered Internet standards. <strong>If your email script\u2019s coding is not RFC compliant, our outgoing mail servers will reject the email.<\/strong><\/span><\/p>\n<h2><span style=\"font-weight: 400;\">Common reasons for RFC non\u2013compliance:<\/span><\/h2>\n<h3>The email\u2019s date header is too far in the past or future.<\/h3>\n<ol>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><span style=\"font-weight: 400;\">To resolve this, your script will need to be updated to use the <strong>correct current date<\/strong>. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<pre><span style=\"font-weight: 400;\"> \u00a0someone@example.com<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0SMTP error from remote mail server after end of data:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0550 Date header far in the past\/future.<\/span><\/pre>\n<p><em>\u00a0<\/em><span style=\"font-weight: 400;\">The\u00a0email script is adding, or contains, more than one of the same header. <\/span><\/p>\n<ul>\n<li><span style=\"font-weight: 400;\">If the email generated by your email script, contains, for example, more than one \u2018To:\u2019 headers, our server will reject the message. To resolve this, ensure that your email script only adds<strong> one of each required header<\/strong> to the email it sends. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\n<\/ul>\n<pre><span style=\"font-weight: 400;\"> \u00a0someone@example.com<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0SMTP error from remote mail server after end of data:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0550 Messages should have one or no Message-ID headers, not 2.<\/span><\/pre>\n<h3><span style=\"font-weight: 400;\">The email address listed as the sender does not exist. <\/span><\/h3>\n<ul>\n<li><span style=\"font-weight: 400;\">The email address that is specified within the \u2018<strong>envelope sender\u2019 header needs to be an email address that exists<\/strong>. If the email address does not exist our mail server will reject your message. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\n<\/ul>\n<pre><span style=\"font-weight: 400;\"> \u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0550-Verification failed for &lt;someone@example.com&gt;<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0550-Previous (cached) callout verification failure<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0550 Invalid sender &lt;someone@example.com&gt;<\/span><\/pre>\n<h3><span style=\"font-weight: 400;\">The content\u00a0exceeds the maximum number of allowed characters in a single line. <\/span><\/h3>\n<ul>\n<li><span style=\"font-weight: 400;\">The <strong>maximum number of characters a single line may contain is 998 characters<\/strong> according to <\/span><a href=\"https:\/\/tools.ietf.org\/html\/rfc5322#section-2.1.1\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">RFC 5322 2.1.1<\/span><\/a><span style=\"font-weight: 400;\"> To resolve this, it would be required that line breaks (new line characters) be implemented into the code to avoid the content being sent as one line, but rather broken up into separate lines. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\n<\/ul>\n<pre><span style=\"font-weight: 400;\">someone@example.com<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0SMTP error from remote mail server after end of data:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span style=\"font-weight: 400;\"> \u00a0\u00a0\u00a0550 Maximum line length exceeded (see RFC 5322 2.1.1).<\/span><\/pre>\n","protected":false,"plain":"<span >All email scripts that send an email via our servers must conform to RFC standards. <\/span>\r\n\r\n<span >A <strong>Request for Comments (RFC)<\/strong> is a formal document from the Internet Engineering Task Force (IETF) that are considered Internet standards. <strong>If your email script\u2019s coding is not RFC compliant, our outgoing mail servers will reject the email.<\/strong><\/span>\r\n<h2><span >Common reasons for RFC non\u2013compliance:<\/span><\/h2>\r\n<h3>The email\u2019s date header is too far in the past or future.<\/h3>\r\n<ol>\r\n \t<li >\r\n<ul>\r\n \t<li><span >To resolve this, your script will need to be updated to use the <strong>correct current date<\/strong>. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ol>\r\n<pre><span > \u00a0someone@example.com<\/span>\r\n<span > \u00a0\u00a0\u00a0SMTP error from remote mail server after end of data:<\/span>\r\n<span > \u00a0\u00a0\u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span > \u00a0\u00a0\u00a0550 Date header far in the past\/future.<\/span><\/pre>\r\n<em>\u00a0<\/em><span >The\u00a0email script is adding, or contains, more than one of the same header. <\/span>\r\n<ul>\r\n \t<li><span >If the email generated by your email script, contains, for example, more than one \u2018To:\u2019 headers, our server will reject the message. To resolve this, ensure that your email script only adds<strong> one of each required header<\/strong> to the email it sends. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\r\n<\/ul>\r\n<pre><span > \u00a0someone@example.com<\/span>\r\n<span > \u00a0\u00a0\u00a0SMTP error from remote mail server after end of data:<\/span>\r\n<span > \u00a0\u00a0\u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span > \u00a0\u00a0\u00a0550 Messages should have one or no Message-ID headers, not 2.<\/span><\/pre>\r\n<h3><span >The email address listed as the sender does not exist. <\/span><\/h3>\r\n<ul>\r\n \t<li><span >The email address that is specified within the \u2018<strong>envelope sender\u2019 header needs to be an email address that exists<\/strong>. If the email address does not exist our mail server will reject your message. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\r\n<\/ul>\r\n<pre><span > \u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span > \u00a0\u00a0\u00a0550-Verification failed for &lt;someone@example.com&gt;<\/span>\r\n<span > \u00a0\u00a0\u00a0550-Previous (cached) callout verification failure<\/span>\r\n<span > \u00a0\u00a0\u00a0550 Invalid sender &lt;someone@example.com&gt;<\/span><\/pre>\r\n<h3><span >The content\u00a0exceeds the maximum number of allowed characters in a single line. <\/span><\/h3>\r\n<ul>\r\n \t<li><span >The <strong>maximum number of characters a single line may contain is 998 characters<\/strong> according to <\/span><a href=\"https:\/\/tools.ietf.org\/html\/rfc5322#section-2.1.1\" target=\"_blank\" rel=\"noopener\"><span >RFC 5322 2.1.1<\/span><\/a><span > To resolve this, it would be required that line breaks (new line characters) be implemented into the code to avoid the content being sent as one line, but rather broken up into separate lines. If our email server rejected your message due to this reason, the following message will be provided in the bounce message:<\/span><\/li>\r\n<\/ul>\r\n<pre><span >someone@example.com<\/span>\r\n<span > \u00a0\u00a0\u00a0SMTP error from remote mail server after end of data:<\/span>\r\n<span > \u00a0\u00a0\u00a0host outbound.cpt.host-h.net [123.45.67.89]:<\/span>\r\n<span > \u00a0\u00a0\u00a0550 Maximum line length exceeded (see RFC 5322 2.1.1).<\/span><\/pre>"},"excerpt":{"rendered":"<p>All scripts that send email via our servers must conform to RFC standards. We suggest fixes for common reasons for non-compliance.<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"lsx_disable_title":"0","_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","footnotes":""},"categories":[119,142],"tags":[],"topics":[],"class_list":["post-13931","post","type-post","status-publish","format-standard","hentry","category-email","category-spam-and-security"],"acf":[],"additional_meta":{"category_title":[{"term_id":119,"name":"Email","slug":"email","term_group":0,"term_taxonomy_id":119,"taxonomy":"category","description":"Learn the basics and get going with our easy to set up email guides","parent":0,"count":125,"filter":"raw","term_order":"62","cat_ID":119,"category_count":125,"category_description":"Learn the basics and get going with our easy to set up email guides","cat_name":"Email","category_nicename":"email","category_parent":0},{"term_id":142,"name":"Spam and Security","slug":"spam-and-security","term_group":0,"term_taxonomy_id":142,"taxonomy":"category","description":"Protect your website against spam and abuse","parent":119,"count":15,"filter":"raw","term_order":"100","cat_ID":142,"category_count":15,"category_description":"Protect your website against spam and abuse","cat_name":"Spam and Security","category_nicename":"spam-and-security","category_parent":119}],"tag_title":false},"featured_image_src":null,"author_info":{"display_name":"marketing","author_link":"https:\/\/xneelo.co.za\/help-centre\/author\/marketing\/","author_avatar":"https:\/\/secure.gravatar.com\/avatar\/a6ea315e112423b2b955cb020fbce2b0835956c6ad85ff0f13f1db298977eaaa?s=96&d=mm&r=g"},"_links":{"self":[{"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/posts\/13931","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/comments?post=13931"}],"version-history":[{"count":0,"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/posts\/13931\/revisions"}],"wp:attachment":[{"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/media?parent=13931"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/categories?post=13931"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/tags?post=13931"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/xneelo.co.za\/help-centre\/wp-json\/wp\/v2\/topics?post=13931"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}