---
title: Modifying, Adding or Customizing Failure Codes
description: The Hurricane MTA Server (HMS) classifies failures as codes based on regular expressions in the response_translations.list and textbody_translations.list files located in the bin directory of your Hur
---

[Skip to content](https://help.socketlabs.com/docs/modifying-adding-or-customizing-failure-codes#main-content)

English

Show submenu for translations

[Contact us](https://help.socketlabs.com/docs/kb-tickets/new?hsLang=en)

[![SocketLabs logo](https://help.socketlabs.com/hs-fs/hubfs/Logos/SocketLabs%20logo.png?width=243&height=70&name=SocketLabs%20logo.png)](https://www.socketlabs.com/)

Open main navigation

Close main navigation

- English
  
  Show submenu for translations
- [Contact us](https://help.socketlabs.com/docs/kb-tickets/new)

 SocketLabs is here to help!

- There are no suggestions because the search field is empty.

1. [Help Center](https://help.socketlabs.com/docs?hsLang=en)
2. [Hurricane MTA](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en)
3. [Troubleshooting](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#troubleshooting)

# Modifying, Adding or Customizing Failure Codes

> ### 🚧Applies to HMS Version: 1.0+

The Hurricane MTA Server (HMS) classifies failures as codes based on regular expressions in the response\_translations.list and textbody\_translations.list files located in the bin directory of your Hurricane MTA Server installation. If you want to change these files, first copy them to the config subdirectory off of your main installation path and make the changes there. Files of the same name in the config directory will be automatically used instead of the ones in the bin directory. If you change the files in the bin directory and later upgrade, these files may be overwritten. However, modified copies of these files in the config directory are not overwritten during an upgrade.

The codes defined in these files will be included in the BounceProcessed.log and the Processed.log and are also passed to plugin events that handle Failures and Bounces. For example, the codes are passed into OnBounce() and OnFail() as a FailureCode item in the  
options parameter.

 

SYNCHRONOUS ERRORS (IN-BAND FAILURES)

In the case of synchronous errors the bounce processing engine will attempt to match the recipient server's actual SMTP textual response to one of the regular expressions in the response\_translations.list file.

When a match is found, the bounce processing engine will use the corresponding code when reporting that event.

 

ASYNCHRONOUS ERRORS WITH DNS MIME PART (BOUNCES)

In the case of asynchronous errors that include a valid DSN MIME part as defined in [RFC 1891](https://tools.ietf.org/html/rfc1891), the bounce processing engine will attempt to match the Diagnostic-Code data included in the DSN MIME part to one of the regular expressions in the  
response\_translations.list file. The Diagnostic-Code is the same format as SMTP server responses, so the same translation file is used.

When a match is found, the bounce processing engine will use the corresponding code when reporting that event.

 

ASYNCHRONOUS ERRORS WITHOUT DNS MIME PART (BOUNCES)

In the case of asynchronous errors that do not include a valid DSN MIME part as defined in [RFC 1891](https://tools.ietf.org/html/rfc1891), the bounce processing engine will attempt to extract a standard response string from the text body part of the returned message. If this is successful it will attempt to match this response string to one of the regular expressions in the  
response\_translations.list file. If it is unsuccessful at locating a response string in the text body part of the returned message, the bounce processing engine will attempt to match the text body part of the returned message to one of the regular expressions in the textbody\_translations.list file.

When a match is found, the bounce processing engine will use the corresponding code when reporting that event.

Any code may be used when creating a translation rule, with the exception of 0-999 and 9999 which are reserved by SocketLabs and will be used to indicate one or more error types which prevent Hurricane Server from attempting delivery, such as a malformed email address or in the case of 9999 to indicate that the specific failure did not match any of the translation rules.

 

- [Fundamentals](https://help.socketlabs.com/docs/fundamentals?hsLang=en#main-content)

    - [StreamScore](https://help.socketlabs.com/docs/fundamentals?hsLang=en#streamscore)
    - [Reports](https://help.socketlabs.com/docs/fundamentals?hsLang=en#reports)
    - [Frequently Asked Questions](https://help.socketlabs.com/docs/fundamentals?hsLang=en#frequently-asked-questions)
- [Advanced](https://help.socketlabs.com/docs/advanced?hsLang=en#main-content)

    - [Security](https://help.socketlabs.com/docs/advanced?hsLang=en#security)
- [DNS Authentication](https://help.socketlabs.com/docs/dns-authentication?hsLang=en#main-content)

    - [DKIM](https://help.socketlabs.com/docs/dns-authentication?hsLang=en#dkim)
    - [SPF and Custom Bounce Domain](https://help.socketlabs.com/docs/dns-authentication?hsLang=en#spf-and-custom-bounce-domain)
- [Deliverability](https://help.socketlabs.com/docs/deliverability?hsLang=en)
- [For Developers](https://help.socketlabs.com/docs/for-developers?hsLang=en#main-content)

    - [Event Webhooks](https://help.socketlabs.com/docs/for-developers?hsLang=en#event-webhooks)
- [Integrations](https://help.socketlabs.com/docs/integrations?hsLang=en#main-content)

    - [Languages and Frameworks](https://help.socketlabs.com/docs/integrations?hsLang=en#languages-and-frameworks)
    - [Mail Servers](https://help.socketlabs.com/docs/integrations?hsLang=en#mail-servers)
    - [Web Clients and Plug-ins](https://help.socketlabs.com/docs/integrations?hsLang=en#web-clients-and-plug-ins)
    - [Mail Clients](https://help.socketlabs.com/docs/integrations?hsLang=en#mail-clients)
- [Marketing Tools](https://help.socketlabs.com/docs/marketing-tools?hsLang=en#main-content)

    - [Tips and Tricks](https://help.socketlabs.com/docs/marketing-tools?hsLang=en#tips-and-tricks)
- [Troubleshooting](https://help.socketlabs.com/docs/troubleshooting?hsLang=en#main-content)

    - [SocketLabs Inbound SMTP Gateway Errors](https://help.socketlabs.com/docs/troubleshooting?hsLang=en#socketlabs-inbound-smtp-gateway-errors)
    - [SocketLabs Outbound SMTP Errors](https://help.socketlabs.com/docs/troubleshooting?hsLang=en#socketlabs-outbound-smtp-errors)
- [Spotlight Email Analytics](https://help.socketlabs.com/docs/spotlight-email-analytics?hsLang=en)
- [Hurricane MTA](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#main-content)

    - [Advanced Hurricane Usage](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#advanced-hurricane-usage)
    - [Upgrading Hurricane](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#upgrading-hurricane)
    - [Troubleshooting](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#troubleshooting)
    - [Hurricane Maintenance](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#hurricane-maintenance)
    - [Getting Started with Hurricane](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#getting-started-with-hurricane)
    - [Basic Hurricane Usage](https://help.socketlabs.com/docs/hurricane-mta?hsLang=en#basic-hurricane-usage)
- [Complex Sender](https://help.socketlabs.com/docs/complex-sender?hsLang=en)

[![Chill listening crop-3](https://help.socketlabs.com/hs-fs/hubfs/Logos/Logo_Favicon%20-%20large%20-%20cropped.png?width=24&height=24&name=Logo_Favicon%20-%20large%20-%20cropped.png "Chill listening crop-3")](https://www.socketlabs.com)

<https://www.facebook.com/socketlabs/> <https://twitter.com/socketlabs> <https://www.linkedin.com/company/socketlabs-inc./>

Copyright © 2026, SocketLabs LLC