Bounce Codes

When the software sends an email and that email bounces, a bounce code is generated and recorded in the contact’s record.

The four digit software bounce code number is assigned based on the answer to two pieces of information.  Understanding a little about the information being used will help you make better choices or locate the cause of delivery issues.

QuickSearch Tip: If you know the bounce code number and you want to know what caused it press (Ctrl + F) or Find – and search for the number but add a zero (0) in front of it.

Email Bounce Basics

There are two types of bounces:

  • hard bounces
  • soft bounces

What is a Hard Bounce?

A hard bounce generally means that there is no point in trying to send email to that address because the reason for the bounce is unlikely to be resolved. Examples include non-existent mailboxes or domains. When the software receives a hard bounce, that contact’s subscriptions are immediately flagged as “failed”.  The software will not try to send email again to a contact who is flagged as failed.

What is a Soft Bounce?

A soft bounce generally means that the issue could be resolved in future so follow-up messages will be retried several times. Multiple soft bounces in an autoresponder sequence will eventually result in a contact’s subscription being flagged as “failed” and no more follow-up messages will be sent for that subscription.

How do I tell?  How do I check?

Understanding the basic process of what an email bounce message/code is and does will help.

An automated message gets sent back to the server that sent the email that could not be delivered.  That message has numbers and messages which generally conform to a set of rules.

The rules are called The RFC code.

Hard bounces have a 3 digit number beginning with a 5 and soft bounce messages have a three digit number beginning with a 4.  Although you should be aware that some ISPs are not consistent some of the time.  This is outside of your control and ours.

The bounce message element.

There are also guidelines for the message element that should be attached to the 4XX number and explains why that email to that contact is being rejected.  It would be good if there was consistency in the explanations and links that get sent back and stored in your mail log files.  Unfortunately there isn’t a lot of consistency and that is outside of your control and ours as well.

What is the bounce code number?

There are many common messages used by ISP’s to say the same thing.  i.e. User does not exist.  Some ISP’s try to have helpful messages.  i.e. user unknown please contact systems admin

If the bounce message the software gets is a properly formatted 5XX response it marks that contact as failed.  Hard bounce.  The software then assigns a bounce code number based on scanning the content in the message element for expected language or terms etc as the most likely reason for the failure.

The following represents a technical explanation of the codes that the software generates for trigger strings in bounced emails.   These can be used as a lookup for the bounce codes shown in a contact’s records in the software.

Top Search Tip:  Type CTRL + F to bring up the browser search tool then type in 00 (zero zero) + the bounce number you are looking for to find it quickly.

‘trigger’ => “/no such address here/i” 
‘code’ => ‘0001’ 
‘is_hard’ => 1
‘trigger’ => “/user doesn’t have.*account/is” 
‘code’ => ‘0002’ 
‘is_hard’ => 1
‘trigger’ => “/user unknown/i”
‘code’ => ‘0003’ 
‘is_hard’ => 1
‘trigger’ => “/no mailbox/i” 
‘code’ => ‘0004’ 
‘is_hard’ => 1
‘trigger’ => “/can’t find.*mailbox/is” 
‘code’ => ‘0005’ 
‘is_hard’ => 1
‘trigger’ => “/=D5=CA=BA=C5=B2=BB=B4=E6=D4=DA/i” 
‘code’ => ‘0006’ 
‘is_hard’ => 1
‘trigger’ => “/Unrouteable address/i”
‘code’ => ‘0007’
‘is_hard’ => 1
‘trigger’ => “/delivery[^\n\r]+failed/i” 
‘code’ => ‘0008’ 
‘is_hard’ => 1
‘trigger’ => “/unknown local-part/i” 
‘code’ => ‘0009’ 
‘is_hard’ => 1
‘trigger’ => “/Invalid.*(?:alias|account|recipient|address|email|mailbox|user)/is” 
‘code’ => ‘0010’ 
‘is_hard’ => 1
‘trigger’ => “/No such.*(?:alias|account|recipient|address|email|mailbox|user)/is” 
‘code’ => ‘0011’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*no.*accept.*mail>/is” 
‘code’ => ‘0012’ 
‘is_hard’ => 1
‘trigger’ => “/over.*quota/is” 
‘code’ => ‘0013’ 
‘is_hard’ => 0
‘trigger’ => “/quota exceeded/i” 
‘code’ => ‘0014’ 
‘is_hard’ => 0
‘trigger’ => “/mailbox.*full/is” 
‘code’ => ‘0015’ 
‘is_hard’ => 0
‘trigger’ => “/The message to.*bounce.*Quota exceed/is” 
‘code’ => ‘0016’ 
‘is_hard’ => 0
‘trigger’ => “/user is inactive/i” 
‘code’ => ‘0017’ 
‘is_hard’ => 1
‘trigger’ => “/inactive account/i” 
‘code’ => ‘0018’ 
‘is_hard’ => 1
‘trigger’ => “/input\/output error/i” 
‘code’ => ‘0019’ 
‘is_hard’ => 1
‘trigger’ => “/not open new email file/i” 
‘code’ => ‘0020’ 
‘is_hard’ => 1
‘trigger’ => “/Resources temporarily unavailable/i” 
‘code’ => ‘0021’ 
‘is_hard’ => 0
‘trigger’ => “/does not accept.*non-Western/is” 
‘code’ => ‘0022’ 
‘is_hard’ => 0
‘trigger’ => “/quota exceed/i” 
‘code’ => ‘0023’ 
‘is_hard’ => 0
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*full/is” 
‘code’ => ‘0024’ 
‘is_hard’ => 0
‘trigger’ => “/Insufficient system storage/i” 
‘code’ => ‘0025’ 
‘is_hard’ => 0
‘trigger’ => “/File.*too large/is” 
‘code’ => ‘0026’ 
‘is_hard’ => 0
‘trigger’ => “/larger than.*limit/is” 
‘code’ => ‘0027’ 
‘is_hard’ => 0
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*not.*list/is” 
‘code’ => ‘0028’ 
‘is_hard’ => 1
‘trigger’ => “/user path no exist/i” 
‘code’ => ‘0029’ 
‘is_hard’ => 1
‘trigger’ => “/Relay.*(?:denied|prohibited)/is” 
‘code’ => ‘0030’ 
‘is_hard’ => 1
‘trigger’ => “/no.*valid.*(?:alias|account|recipient|address|email|mailbox|user)/is”
‘code’ => ‘0031’ 
‘is_hard’ => 1
‘trigger’ => “/Invalid.*(?:alias|account|recipient|address|email|mailbox|user)/is” 
‘code’ => ‘0032’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*(?:disabl ed|discontinued)/is” 
‘code’ => ‘0033’ 
‘is_hard’ => 1
‘trigger’ => “/user doesn’t have.*account/is” 
‘code’ => ‘0034’ 
‘is_hard’ => 1
‘trigger’ => “/(?:unknown|illegal).*(?:alias|account|recipient|address|email|mai lbox|user)/is” 
‘code’ => ‘0035’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*(?:un|n ot\s+)available/is” 
‘code’ => ‘0036’ 
‘is_hard’ => 1
‘trigger’ => “/no (?:alias|account|recipient|address|email|mailbox|user)/i” 
‘code’ => ‘0037’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*unknown/is” 
‘code’ => ‘0038’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*disabled/is” 
‘code’ => ‘0039’ 
‘is_hard’ => 1
‘trigger’ => “/No such (?:alias|account|recipient|address|email|mailbox|user)/i” 
‘code’ => ‘0040’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*not found/is” 
‘code’ => ‘0041’ 
‘is_hard’ => 1
‘trigger’ => “/deactivated (?:alias|account|recipient|address|email|mailbox|user)/i” 
‘code’ => ‘0042’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*reject/is” 
‘code’ => ‘0043’ 
‘is_hard’ => 1
‘trigger’ => “/bounce.*administrator/is” 
‘code’ => ‘0044’ 
‘is_hard’ => 1
‘trigger’ => “/<.*>.*disabled/is” 
‘code’ => ‘0045’ 
‘is_hard’ => 1
‘trigger’ => “/not our customer/i” 
‘code’ => ‘0046’ 
‘is_hard’ => 1
‘trigger’ => “/Wrong (?:alias|account|recipient|address|email|mailbox|user)/i” 
‘code’ => ‘0047’ 
‘is_hard’ => 1
‘trigger’ => “/(?:unknown|bad).*(?:alias|account|recipient|address|email|mailbox|user)/is” 
‘code’ => ‘0048’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*not OK/is” 
‘code’ => ‘0049’ 
‘is_hard’ => 1
‘trigger’ => “/Access.*Denied/is” 
‘code’ => ‘0050’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*lookup.*fail/is”
‘code’ => ‘0051’ 
‘is_hard’ => 1
‘trigger’ => “/(?:recipient|address|email|mailbox|user).*not.*member of domain/is” 
‘code’ => ‘0052’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*cannot be verified/is” 
‘code’ => ‘0053’ 
‘is_hard’ => 1
‘trigger’ => “/Unable to relay/i” 
‘code’ => ‘0054’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*(?:n’t|n ot) exist/is” 
‘code’ => ‘0055’ 
‘is_hard’ => 1
‘trigger’ => “/not have an account/i” 
‘code’ => ‘0056’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*is not allowed/is” 
‘code’ => ‘0057’ 
‘is_hard’ => 1
‘trigger’ => “/inactive.*(?:alias|account|recipient|address|email|mailbox|user)/is” 
‘code’ => ‘0058’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*Inactive/is” 
‘code’ => ‘0059’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user) closed due to inactivity/i” 
‘code’ => ‘0060’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user) not activated/i” 
‘code’ => ‘0061’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*(?:suspen d|expire)/is” 
‘code’ => ‘0062’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*no longer exist/is” 
‘code’ => ‘0063’ 
‘is_hard’ => 1
‘trigger’ => “/(?:forgery|abuse)/i” 
‘code’ => ‘0064’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*restrict/is” 
‘code’ => ‘0065’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*locked/is” 
‘code’ => ‘0066’ 
‘is_hard’ => 1
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user) refused/i” 
‘code’ => ‘0067’ 
‘is_hard’ => 1
‘trigger’ => “/sender.*not.*domain/is” 
‘code’ => ‘0068’ 
‘is_hard’ => 1
‘trigger’ => “/Message refused/i” 
‘code’ => ‘0069’ 
‘is_hard’ => 1
‘trigger’ => “/No permit/i” 
‘code’ => ‘0070’ 
‘is_hard’ => 1
‘trigger’ => “/domain isn’t in.*allowed rcpthost/is” 
‘code’ => ‘0071’ 
‘is_hard’ => 1
‘trigger’ => “/AUTH FAILED/i” 
‘code’ => ‘0072’ 
‘is_hard’ => 1
‘trigger’ => “/relay.*not.*(?:permit|allow)/is” 
‘code’ => ‘0073’ 
‘is_hard’ => 1
‘trigger’ => “/not local host/i” 
‘code’ => ‘0074’ 
‘is_hard’ => 1
‘trigger’ => “/Unauthorized relay/i” 
‘code’ => ‘0075’ 
‘is_hard’ => 1
‘trigger’ => “/Transaction.*fail/is” 
‘code’ => ‘0076’ 
‘is_hard’ => 1
‘trigger’ => “/Invalid data/i” 
‘code’ => ‘0077’ 
‘is_hard’ => 1
‘trigger’ => “/Local user only/i” 
‘code’ => ‘0078’ 
‘is_hard’ => 1
‘trigger’ => “/not.*permit.*to/is” 
‘code’ => ‘0079’ 
‘is_hard’ => 1
‘trigger’ => “/Content reject/i” 
‘code’ => ‘0080’ 
‘is_hard’ => 0
‘trigger’ => “/MIME\/REJECT/i” 
‘code’ => ‘0081’ 
‘is_hard’ => 0
‘trigger’ => “/MIME error/i” 
‘code’ => ‘0082’ 
‘is_hard’ => 0
‘trigger’ => “/Mail data refused.*AISP/is” 
‘code’ => ‘0083’ 
‘is_hard’ => 0
‘trigger’ => “/Host unknown/i” 
‘code’ => ‘0084’ 
‘is_hard’ => 1
‘trigger’ => “/Specified domain.*not.*allow/is” 
‘code’ => ‘0085’ 
‘is_hard’ => 1
‘trigger’ => “/No route to host/i” 
‘code’ => ‘0086’ 
‘is_hard’ => 1
‘trigger’ => “/unrouteable address/i” 
‘code’ => ‘0087’ 
‘is_hard’ => 1
‘trigger’ => “/System.*busy/is” 
‘code’ => ‘0088’ 
‘is_hard’ => 0
‘trigger’ => “/Resources temporarily unavailable/i” 
‘code’ => ‘0089’ 
‘is_hard’ => 0
‘trigger’ => “/sender is rejected/i” 
‘code’ => ‘0090’ 
‘is_hard’ => 0
‘trigger’ => “/Client host rejected/i” 
‘code’ => ‘0091’ 
‘is_hard’ => 0
‘trigger’ => “/MAIL FROM.*mismatches client IP/is” 
‘code’ => ‘0092’ 
‘is_hard’ => 0
‘trigger’ => “/denyip/i” 
‘code’ => ‘0093’ 
‘is_hard’ => 0
‘trigger’ => “/client host.*blocked/is” 
‘code’ => ‘0094’ 
‘is_hard’ => 0
‘trigger’ => “/mail.*reject/is” 
‘code’ => ‘0095’ 
‘is_hard’ => 0
‘trigger’ => “/spam.*detect/is” 
‘code’ => ‘0096’ 
‘is_hard’ => 0
‘trigger’ => “/reject.*spam/is” 
‘code’ => ‘0097’ 
‘is_hard’ => 0
‘trigger’ => “/SpamTrap/i” 
‘code’ => ‘0098’ 
‘is_hard’ =>
‘trigger’ => “/Verify mailfrom failed/i” 
‘code’ => ‘0099’ 
‘is_hard’ => 0
‘trigger’ => “/MAIL.*FROM.*mismatch/is” 
‘code’ => ‘0100’ 
‘is_hard’ => 0
‘trigger’ => “/spam scale/i” 
‘code’ => ‘0101’ 
‘is_hard’ => 0
‘trigger’ => “/junk mail/i” 
‘code’ => ‘0102’ 
‘is_hard’ => 0
‘trigger’ => “/message filtered/i” 
‘code’ => ‘0103’ 
‘is_hard’ => 0
‘trigger’ => “/subject.*consider.*spam/is” 
‘code’ => ‘0104’ 
‘is_hard’ => 0
‘trigger’ => “/Temporary local problem/i” 
‘code’ => ‘0105’ 
‘is_hard’ => 0
‘trigger’ => “/system config error/i” 
‘code’ => ‘0106’ 
‘is_hard’ => 0
‘trigger’ => “/delivery.*suspend/is” 
‘code’ => ‘0107’ 
‘is_hard’ => 0
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*invalid/is” 
‘code’ => ‘0108’ 
‘is_hard’ => 1
‘trigger’ => “/Deferred.*No such.*(?:file|directory)/is” 
‘code’ => ‘0109’ 
‘is_hard’ => 1
‘trigger’ => “/mail receiving disabled/i” 
‘code’ => ‘0110’ 
‘is_hard’ => 1
‘trigger’ => “/bad.*(?:alias|account|recipient|address|email|mailbox|user)/is” 
‘code’ => ‘0111’ 
‘is_hard’ => 1
‘trigger’ => “/over.*quota/is” 
‘code’ => ‘0112’ 
‘is_hard’ => 0
‘trigger’ => “/quota.*exceeded/is” 
‘code’ => ‘0113’ 
‘is_hard’ => 0
‘trigger’ => “/exceed.*\n?.*quota/is” 
‘code’ => ‘0114’ 
‘is_hard’ => 0
‘trigger’ => “/(?:alias|account|recipient|address|email|mailbox|user).*full/is” 
‘code’ => ‘0115’ 
‘is_hard’ => 0
‘trigger’ => “/space.*not.*enough/is” 
‘code’ => ‘0116’ 
‘is_hard’ => 0
‘trigger’ => “/Deferred.*Connection (?:refused|reset)/is” 
‘code’ => ‘0117’ 
‘is_hard’ => 0
‘trigger’ => “/Invalid host name/i” 
‘code’ => ‘0118’ 
‘is_hard’ => 1
‘trigger’ => “/Deferred.*No route to host/is” 
‘code’ => ‘0119’ 
‘is_hard’ => 1
‘trigger’ => “/Host unknown/i” 
‘code’ => ‘0120’ 
‘is_hard’ => 1
‘trigger’ => “/Name server timeout/i” 
‘code’ => ‘0121’ 
‘is_hard’ => 1
‘trigger’ => “/Deferred.*Connection.*tim(?:e|ed).*out/is” 
‘code’ => ‘0122’ 
‘is_hard’ => 1
‘trigger’ => “/Deferred.*host name lookup failure/is” 
‘code’ => ‘0123’ 
‘is_hard’ => 1
‘trigger’ => “/MX list.*point.*back/is” 
‘code’ => ‘0124’ 
‘is_hard’ => 1
‘trigger’ => “/I\/O error/i” 
‘code’ => ‘0125’ 
‘is_hard’ => 0
‘trigger’ => “/connection.*broken/is” 
‘code’ => ‘0126’ 
‘is_hard’ => 0
‘trigger’ => “/Delivery to the following recipients failed/i” 
‘code’ => ‘0127’ 
‘is_hard’ => 0
‘trigger’ => “/User unknown/i” 
‘code’ => ‘0128’ 
‘is_hard’ => 1
‘trigger’ => “/Service unavailable/i” 
‘code’ => ‘0129’ 
‘is_hard’ => 1