GreenArrow Email Software Documentation

Change Log

GreenArrow v4.240.0

October 14, 2021
  • Added support for throttling and delivery configuration based upon the resolved MX hostname. See the domain configuration directive or Throttling more information.

  • Added a **super** ip_address context for overriding all other configuration that would otherwise apply to a delivery attempt.

  • All delivery attempts now perform an MX lookup on the recipient domain - even when routing through a relay server. This is done in order to support the mx: syntax in throttling and routing rules.

  • The delivery_override directive now accepts an optional second argument for customizing the message that will appear in the delivery attempt log.

GreenArrow v4.239.0

October 5, 2021
  • Added a new table to Engine and Studio statistics that breaks down opens between “All subscribers”, “Subscribers using privacy features”, and “Subscribers not using privacy features”.

    This is intended to help with the impact of privacy features such as iCloud+ Private Relay and Mail Privacy Protection. Privacy features, when enabled, can automatically load and cache all images in a recipient’s incoming email – including tracking pixels. Additionally, when the email is actually read, no images are loaded from the server but instead served from this cache. This has the effect of artificially inflating open rates.

    The new table will enable you to see an open rate that is roughly comparable to current open rates (that is, the unique open rate for “Subscribers not using privacy features”).

GreenArrow v4.238.0

September 30, 2021

GreenArrow v4.237.0

September 28, 2021
  • GreenArrow now includes the domain name in the anti-tamper protection in links created for click tracking, to prevent abuse of the link redirector service. Anti-tamper protection detects if the destination URL, the subscriber, or campaign details are tampered with, and returns an error to the user if the link was modified.

    Including the domain name in anti-tamper protection is useful for email service providers, where one customer could send a link to themselves, capture that link, modify it to use a different domain name belonging to the ESP or another of the ESP’s customers, and then send spam using the modified link – hijacking a domain’s reputation to which they were never supposed to have access.

    This release closes this loophole and helps to protect domain reputation.

  • Added the configuration directive disable_validating_domain_in_tracking_security to disable this behavior.

  • Added the configuration directive disable_validating_all_tracking_security which is intended for use when debugging issues related to proxy servers or load balancers in front of GreenArrow as a result of the new domain security enforcement.

  • WARNING Proxy servers or load balancers in front of GreenArrow must provide the X-Forwarded-Host header which advises click and open tracking the originally requested domain name by the client. If you use a proxy server or load balancer in front of GreenArrow, please read this section of our HTTP Server documentation before upgrading.

  • WARNING If you use the configuration directive replace_content_domain, you must also enable disable_validating_domain_in_tracking_security in order for click and open tracking links to function properly.

GreenArrow v4.236.0

September 23, 2021
  • Fixed an issue that could cause the ram-queue to be filled, causing message injection to fail.

  • Fixed an issue where Studio was not using the “default” key in the bounce processor configuration – this caused Studio bounces to not apply custom bounce processor configuration properly.

  • Fixed an issue where delivery to domains with malformed MX records would defer instead of using available valid MX records.

  • Restored missing “Subscriber Clicked Any Campaign/Autoresponder” segment option.

  • Add new bounce processor rules.

GreenArrow v4.235.1

September 20, 2021
  • Fixed an error in Studio’s link tracking. This error could cause multiple links (in GreenArrow’s database) to be created for the same URL, resulting in incorrect reporting and segmentation of subscriber clicks.

  • Fixed an issue that caused the “View” button in the campaign content editor to not work with Remote Lists.

  • Fixed an issue that would cause GreenArrow to not start up automatically after a reboot on Debian when installed on a separate partition.

GreenArrow v4.235.0

September 16, 2021
  • Add new bounce processor rules.

  • Corrected the presentation of GreenArrow’s license type in Studio’s “System Configuration” page (next to the version number). Servers with older license keys will not show the previously incorrect value. New license keys will show the correct license type.

GreenArrow v4.234.2

September 8, 2021
  • Fixed an issue where if SimpleMH was configured with $CLICKTHROUGH_URL ending in /click.php instead of /click the List-Unsubscribe header tag would be generated incorrectly. This fix is backward compatible with the incorrect links that were sent.

  • Add new bounce processor rules.

GreenArrow v4.234.1

September 1, 2021
  • Internal changes for GreenArrow Cloud.

GreenArrow v4.234.0

August 31, 2021
  • SimpleMH now supports multiple click and open tracker URL formats. See the X-GreenArrow-Tracker-Format documentation for more information.

  • Fixed an error in reporting of the disk queue size by greenarrow disk_usage when the disk queue is heavily used.

  • Studio: Added support for autoresponders in both the “Subscriber Clicked Campaign” (now labeled as “Subscriber Clicked Campaign/Autoresponder”) and “Subscriber Clicked Link” clauses.

GreenArrow v4.233.1

August 24, 2021
  • Fixed an issue where a queue was not flushed and a small percentage of messages could be lost in specific configurations.

GreenArrow v4.233.0

August 18, 2021
  • Internal changes for GreenArrow Cloud.

GreenArrow v4.232.0

August 17, 2021
  • Added a new delivery_paused configuration directive. This is also available on the UI and API. This configuration will cause deliveries from a specific IP address to be paused in a fashion similar to the effect of pausing deliveries of individual sends in Engine’s UI.

  • Reduced GreenArrow’s CPU utilization when the disk queue has been idle for a long period of time.

GreenArrow v4.231.0

August 10, 2021
  • Added a new configuration directive replace_content_domain for changing domain names in content at the time of delivery based upon the IP Address or Relay Server used for delivery. See our documentation about this feature for more information.

  • Studio will now send remaining seeds “as fast as possible” once all campaign recipients have been sent. This fixes an edge case where you could pause a campaign after it had sent to all recipients (excluding seeds), leading to the campaign crashing.

GreenArrow v4.230.5

August 4, 2021
  • Fixed an issue in Studio’s TinyMCE editor where the “Campaign Images Browser” would spin forever after uploading a new image.

GreenArrow v4.230.4

August 3, 2021
  • Fixed an issue regarding migrations when upgrading from very old versions of GreenArrow. Previously individual migrations might call greenarrow_config reload; instead, this is now performed automatically after hvmail_migrate migrate is run.

GreenArrow v4.230.3

August 2, 2021
  • Fixed an issue where the GREENARROW_LOG_SMTP_COMMANDS debug logging option on SMTP services would cause all authenticated incoming SMTP sessions to fail.

GreenArrow v4.230.2

July 31, 2021
  • Fixed a UI error when viewing IP addresses and no settings were present in greenarrow.conf.

GreenArrow v4.230.1

July 28, 2021
  • Added an option file /var/hvmail/control/opt.simplemh.debug to enable more detailed logging in the SimpleMH service.

  • Fixed a bug in the suppression list user interface where you could errantly get a “Mailing List cannot be set” error.

GreenArrow v4.230.0

July 27, 2021
  • SimpleMH will now always report the user agent of clicks and opens in the engine_click and engine_open Events. This was formerly controlled by the value of the /var/hvmail/control/opt.simplemh_tracking_include_user_agent file.

  • Marketing Studio will now report the user agent of clicks and opens in the studio_click and studio_open Events.

  • Added a new synchronous attribute on bounce_all Events.

  • Studio: Add a new type of suppression list that is not applied by default. See our Suppression List documentation for more information.

  • Studio: Add a segmentation criteria “Not In Suppression List” that can be used to segment on the new type of suppression list.

  • Increased the number of open files that Passenger may open. This resolved an issue where the web interface could display “Internal server error” instead of the requested content when under a high load.

  • Added support for RFC 8058 (List-Unsubscribe-Post) three ways.

    • SimpleMH: Added support for a X-GreenArrow-List-Unsubscribe-HTTP-URL-Post header.

      • If you are specifying a HTTP/HTTPS URL to be used in the List-Unsubscribe header by using the X-GreenArrow-List-Unsubscribe-HTTP-URL header, then you can now also specify the value of the List-Unsubscribe-Post header by adding a X-GreenArrow-List-Unsubscribe-HTTP-URL-Post header.
      • The value of X-GreenArrow-List-Unsubscribe-HTTP-URL-Post will set the List-Unsubscribe-Post header in the final message.
      • If X-GreenArrow-List-Unsubscribe-HTTP-URL is not specified, this header will not be used.
    • SimpleMH: If X-GreenArrow-List-Unsubscribe-HTTP-URL is not specified, an HTTPS unsubscribe link will be added to List-Unsubscribe automatically.

      • Previously, the List-Unsubscribe header added by SimpleMH included only a mailto address.
      • Now, the List-Unsubscribe header added by SimpleMH will also include an HTTPS unsubscribe link and a List-Unsubscribe-Post header will be added as well.
      • That unsubscribe link requires confirmation unless a POST is issued to it.
    • Marketing Studio: All email sent from Marketing Studio will now include the List-Unsubscribe-Post header.

      • This header enables one-click unsubscribe workflows in some email readers.
      • Previously, Marketing Studio’s unsubscribe page never required confirmation when using the HTTPS unsubscribe link found in the List-Unsubscribe header. With this release, a confirmation click will be required if the user has JavaScript is disabled.

GreenArrow v4.229.1

July 13, 2021
  • Fix an issue introduced in v4.228.2 where in Engine’s “SMTP Server Stats” tab, the popup of Failure messages failed to dismiss.

GreenArrow v4.229.0

July 13, 2021
  • Add support for the Ubuntu 20.04 Linux distribution.

  • Add the hvmail_snapshot_stats command which, records system statistics snapshots for GreenArrow support.

  • Make the hvmail_unmanged_backup command ignore sockets recently added to GreenArrow. Before this release, the new sockets caused the script to print two harmless socket ignored notices.

GreenArrow v4.228.3

July 6, 2021
  • Make the permissions of the /var/hvmail/studio/gems directory more restrictive.

  • Update PHP from 7.3.28 to 7.3.29.

GreenArrow v4.228.2

July 1, 2021
  • Fixed a visual issue in the Engine “sends” page where a long send name could cause the table to appear broken.

  • Performance optimization to the “Distribute Unsubs / Bounces / Spam Complaints” feature.

  • Upgrade jQuery to 3.6.0

GreenArrow v4.228.1

June 28, 2021
  • Update third-party software that ships with GreenArrow:

GreenArrow v4.228.0

June 16, 2021
  • GreenArrow now supports version 1 of HAProxy’s PROXY Protocol for SMTP delivery. This is configured with the proxy_server directive. See the Proxy Protocol documentation for more information.

  • The “SMTP Server Stats” each-message report can now be filtered by the SMTP result code.

  • Fix an issue where messages injected while the GreenArrow MTA is being restarted could show up twice in statistics.

  • Fixes in preparation for an upcoming conversion of subscriber IDs to be 64-bit integers.

GreenArrow v4.227.3

June 9, 2021
  • Add a missing package to dependencies: shared-mime-info

GreenArrow v4.227.2

June 9, 2021
  • Eliminate the fade-on-hover effect on the dynamic delivery charts.

  • Fixed an issue that could cause autoresponders to send duplicate messages.

GreenArrow v4.227.1

June 7, 2021
  • Fixed an issue introduced in v4.227.0 which caused some SMTP log messages to be logged incorrectly.

GreenArrow v4.227.0

June 1, 2021

GreenArrow v4.226.1

May 12, 2021
  • Reduce memory requirements of downloading Marketing Studio campaign/autoresponder statistics.

GreenArrow v4.226.0

May 11, 2021

GreenArrow v4.225.0

May 3, 2021
  • Fix a bug that prevents the default HTTPS VirtualHost from loading the intermediate certificate specified by tls_certificate_files.

  • The control file /var/hvmail/control/opt.simplemh_tracking was previously an undocumented feature that enabled both /var/hvmail/control/ and /var/hvmail/control/ This file has been removed. If the file was enabled, the two individual control files will be turned on.

  • /var/hvmail/bin/logdir_select_time now supports LZOP compressed log files.

  • Fix an issue with GreenArrow Docker integration where initialization of new volumes would fail on recent releases.

GreenArrow v4.224.0

April 19, 2021
  • Expand the ability to import and export throttle rules on the command line to support Throttle Templates. Previously, only throttle rules assigned to specific IP addresses could be imported and exported.

  • Remove the “Fullscreen” menu option when TinyMCE is launched from the campaign editor. That editor is already fullscreen and using it caused a graphical glitch.

GreenArrow v4.223.0

April 13, 2021
  • GreenArrow has a new disk-queue. This disk-queue uses a new data format. Your existing queue will be automatically converted to the new format. If you run into trouble and choose to downgrade, follow the downgrade instructions here.

  • Messages will no longer receive a final delivery attempt after expiring. Instead, the expiration time is compared to the next retry time after each delivery attempt. If the next retry time is beyond the expiration time, the message is treated as expired and bounces.

  • Added retry_time directive for overriding the retry time of messages on a per-VirtualMTA and/or per-domain basis. Using this directive, you can specify your own retry schedule.

  • Added queue_lifetime directive for overriding how long messages will be retried on a per-VirtualMTA and/or per-domain basis.

  • Fix a bug that caused hvmail_report’s processed logfile format to omit the SendSliceID field unless the --human option was used. This could break compatibility for integrations depending on the order of hvmail_report’s output of the last 3 fields (SendSliceID, throttleid, and clicktrackingid).

GreenArrow v4.222.0

March 22, 2021
  • Update the SMTP sink service to use GreenArrow Sink. This change speeds up the sink service. The sink no longer delays delivery by 1 second.
  • Studio: Fixed an issue causing Special Sending Rule previews to falsely claim a URL domain or bounce email was deleted.

GreenArrow v4.221.0

March 19, 2021
  • Internal changes for GreenArrow Cloud.

GreenArrow v4.220.2

March 17, 2021
  • Studio: Campaign attachments will now have the correct Content-Type set for Microsoft Office documents.

GreenArrow v4.220.1

March 12, 2021
  • SimpleMH: Fixed an issue where HTML entities that don’t end in semicolons would be decoded when click tracking. For example, HTML with a link to would be decoded as®=123. HTML entities now must end in a semicolon to be decoded.

  • Engine: Fixed an issue in the event processor where a remote database connection that has encountered an error would continue to be tried.

GreenArrow v4.220.0

March 8, 2021
  • Add a new soft bounce rule to the bounce processor.

  • Update third-party software that ships with GreenArrow:

GreenArrow v4.219.0

February 23, 2021
  • Add a tool for viewing the remote connections that are currently open from the MTA. See this documentation for more information.

  • Engine: Update the HTTP Submission API to allow setting a custom Date header with the headers hash.

  • Studio: Users can now change their default campaign HTML editor. This option does not affect existing campaign contents. See our user documentation for more information.

  • Engine: Make the hvmail_init status command report on the disk-queue’s ok file status. It previously only reported that file’s status for the ram-queue and bounce-queue.

  • Studio: Updated SQL used by some segmentation criteria that could lead to slow starts to campaigns.

GreenArrow v4.218.0

February 1, 2021
  • Fix a configuration issue that could allow anonymous FTP logins if the /var/ftp/ directory exists.

  • Engine: smtpd services will now log a message that looks like this when it cannot parse AUTH input:

    smtpd: smtp-auth authentication failure from (HOST) for username (unknown) with reason (malformed auth input)

  • Fixed an issue where some DKIM keys may not be used for signing.

GreenArrow v4.217.0

December 22, 2020

GreenArrow v4.216.0

December 14, 2020
  • Added new columns to the Campaign Statistics Index export file:
    • Campaign ID
    • Subject (newline separated when more than one is present)
    • Accepted
    • Total Renders / Opens
    • Total Render / Open rate
    • Total Clicks
    • Total Clicks rate
    • Segment (if a named segment was used)
  • Added the number of “Accepted” messages to Studio’s statistics index.

  • Fixed an issue wherein GreenArrow’s “Received:” header could simply be written as “Received: from unknown”.

GreenArrow 4.215.0

December 4, 2020

GreenArrow 4.214.0

December 3, 2020
  • GreenArrow can now run in SELinux permissive mode. Before this release, SELinux had to be disabled. SELinux enforcing mode remains unsupported.

  • Upgrade GreenArrow’s version of Highcharts to the latest release - 8.2.2.

GreenArrow 4.213.0

November 24, 2020
  • Upgrade TinyMCE to the current release (5.5.1).

  • Updates to the following third-party software that ships with GreenArrow:

GreenArrow 4.212.0

November 17, 2020
  • Studio: Anniversary autoresponders in Studio were using their delay settings inverted of what was intended. So if you have an anniversary autoresponder set to send “2 days before at 6pm”, it would actually send “2 days after at 6pm” (the reverse is also true - so “4 days after at 12pm” would be treated as “4 days before at 12pm”). This behavior has been fixed.

    See GreenArrow Updates for information on updating existing autoresponders to maintain the old behavior.

  • Studio: Fixed an issue that could cause subscriber import deactivations to take an exceptionally long time.

  • Engine UI: Reword “SMTP Deferral Percentage” to be “SMTP Deferral+Failure Percentage”. The functionality has not changed - we’ve updated the label to better reflect the existing behavior.

  • Engine UI: Dynamic delivery charts date ranges should now be more accurate and reliable. Previously there was a mix of web browser and server time zones being used; now the charts use only the server time zone.

  • Engine/Studio: Fix a bug that caused the default HTTPS TLS certificate to take precedence over httpd.ssl.listen entries that did not specify a server name.

  • Upgrade TinyMCE to the current release (5.5.1).

GreenArrow 4.211.0

November 10, 2020
  • Updated the Mailing List, Templates, and Campaigns tables so that each column can be used to sort the table.

GreenArrow 4.210.0

October 28, 2020

GreenArrow 4.209.0

August 21, 2020
  • Update GreenArrow’s Docker container support to work with both CentOS 7 and Debian 10. Previously, only CentOS 7 was supported. See our drhinternet/greenarrow-docker Github repository for more information on how this beta feature works.

  • Updated the remote list retry schedule. Formerly, connections to remote list databases would get a total of 3 attempts in quick succession prior to marking the campaign as failed. The new retry schedule will make a total of 11 attempts with 30 seconds between each attempt.

  • Fix an issue that could cause Studio campaigns to fail with links longer than 2,712 bytes.

GreenArrow 4.208.0

August 17, 2020
  • Added a new configuration option to the Event Processor that allows events to be delivered to HTTP endpoints as JSON, instead of form data. The option use_json_for_http_post can be set globally or on individual event destinations.

GreenArrow 4.207.0

August 4, 2020

GreenArrow 4.205.0

July 29, 2020
  • New segmentation criteria - “Date Deactivated” - this allows you to find subscribers that were deactivated on a specific date (or date range). See the Segmentation Builder documentation for more information.

GreenArrow 4.204.1

July 28, 2020
  • Fix an issue introduced in GreenArrow 4.203.0. An interaction between throttle limits and connection reuse could cause some throttle groups to lock up, causing delivery attempts to that throttle group to stop.

  • Support for installing GreenArrow in Docker is now in beta. See our drhinternet/greenarrow-docker Github repository for more information on how this works.

GreenArrow 4.204.0

July 28, 2020
  • You can now save custom rows for reuse in our responsive content editor. Custom rows are associated with a single mailing list, but can easily be used for campaigns on other lists. Read more in our content editor documentation.
    • You must access Studio via HTTPS in order to use custom rows.

GreenArrow 4.203.0

July 23, 2020
  • The criteria for outgoing SMTP connection reuse has changed.

    The previous behavior only reused connections when the domain of the recipient email address matched an available connection’s domain.

    The new behavior reuses connections when all of the following are true:

    • The recipient’s domain is part of the same throttle rule in GreenArrow as an available connection’s original recipient domain.
    • The destination IP of the available connection matches at least one IP of the MX record returned by the recipient’s domain.
    • The TLS status of the connection meets the requirement of the starttls_use and starttls_require directives.

    This allows for more connection reuse.

GreenArrow 4.202.2

July 16, 2020
  • When creating new IP addresses, if there is exactly one throttling template, it will be selected as the default when the form loads.

GreenArrow 4.202.1

July 9, 2020
  • Fix a bug that could allow GreenArrow Engine web interface users with a -statsonly suffix to view non-stats pages in GreenArrow’s web interface.

GreenArrow 4.202.0

July 8, 2020
  • Add support for triggering Studio Anniversary Autoresponders with global custom fields.
  • Update GreenArrow’s packages to mark them as providing email related capabilities. This corrects a bug introduced in GreenArrow 4.200.0, where these markers were removed.
    • For Red Hat-based Linux distributions, the markers restored are: /usr/sbin/sendmail, MTA, and smtpdaemon
    • For Debian-based Linux distributions, the marker restored is: mail-transport-agent
  • Sending the alarm signal to the disk-queue (svc -a /service/hvmail-disk-qmail-send) now causes all queued messages in the disk-queue to be retried. This speeds up dumping messages from the disk-queue.
  • Dynamic Delivery charts will no longer show an error regarding falling behind on new installations of GreenArrow.

GreenArrow 4.201.0

June 24, 2020
  • Added an option https_verify_peer to the Event Processor configuration. This option allows you to disable HTTPS certificate verification during event delivery.

  • Added an option https_client_certificate to the Event Processor configuration. This option allows you to set an HTTPS client certificate to be included event delivery to HTTPS destinations. This is useful if the destination server requires client certificate authorization.

  • The list of trusted Certificate Authorities used by the Event Processor has been updated.

  • Added an option commit_batch_size to the Event Processor configuration. This option can provide increased event delivery performance.

  • New configuration directive lets_encrypt_registration_server. This lets you override the Let’s Encrypt registration server, useful for testing without impacting your Let’s Encrypt Rate Limits.

  • Increased frequency of event delivery, leading to a significant increase in the Event Processor’s throughput.

  • A new value (mtaid_exists) is available to custom code that’s run during delivery attempts.

GreenArrow 4.200.1

June 15, 2020

GreenArrow 4.200.0

June 1, 2020
  • Unified GreenArrow Engine and GreenArrow Studio into a single “greenarrow” package
  • Unified GreenArrow’s miscellaneous non-Engine and non-Studio packages into a single “greenarrow-support” package
  • Reduced the disk space requirements of GreenArrow packages

Before GreenArrow version v4.200.0, Engine and Studio maintained separate changelogs. Refer to the Historic Engine Changelog or the Historic Studio Changelog for those versions

Copyright © 2012–2021 GreenArrow Email