GreenArrow Documentation

Adding a Routing Rule

To add a routing rule to GreenArrow Engine’s configuration, complete the following steps:

  1. Login to the GreenArrow Engine Web Interface.
  2. Navigate to Configure => Virtual MTAs:
  3. Click the Add Routing Rule button:
  4. In the New Routing Rule form, complete the following fields, then click Save:
    1. Name - The name, or MTAid that you wish to assign this new VirtualMTA.
      1. Must contain only ASCII characters in the range 0x20-0x7e; excluding comma, pound, and at-sign.
      2. Must not have leading nor trailing whitespace.
      3. Must be unique (case-insensitive) across all types of VirtualMTAs (IP Addresses, Relay Servers, and Routing Rules).
      4. Must not also be an integer.
      5. Must be from 1 to 200 characters in length.
    2. Rules - select one or more existing VirtualMTAs to send mail through, and what percentage of mail each should send.
    3. Randomization Type - The level on which to randomize messages. This field is hidden if only one VirtualMTA is selected to send through.
      1. Fully Random - Always Randomize - Each delivery attempt gets a random VirtualMTA assigned from the available options in the rule.
      2. Message Constant - Randomize once per message - Each message gets one randomization during the first delivery attempt. Once the VirtualMTA is set, all subsequent delivery attempts for that message uses the assigned VirtualMTA (as long as the percentages are not changed).
      3. Email Address Constant - Randomize once per email address - Each email address gets one randomization during the first delivery attempt to that address. All subsequent messages sent to that email address will always use the assigned VirtualMTA (as long as the percentages are not changed). add-routing-rule-form.png
  5. Send a test message using the new Routing Rule VirtualMTA. This is ideally done from the application that you normally use to send messages through GreenArrow, so that the testing is end-to-end. If you’d like to perform a test on the command line, the following command can be run, replacing transactional with the name of the new VirtualMTA, and [email protected] with your email address:

    date | GREENARROW_MTAID=transactional /var/hvmail/bin/mailsubj "New VirtualMTA Test - transactional" [email protected]

  6. Verify that you receive the test message, and examine the message’s headers to verify that the correct IP address and HELO value were used to send the message:

    Received: from (

Limit on the number of destinations: We do not recommend adding or editing more than 500 destinations within the user interface. See the API to support up to 2,500 destinations or the configuration file for up to 10,000 destinations. While GreenArrow does not enforce a hard limit on the number of destinations, performance can suffer when exceeding these thresholds.