Gammadyne Mailer Changelog

What's new in Gammadyne Mailer 68.0

Jan 10, 2024
  • Added the "Prompt Before Starting" option to the Incoming branch. If checked, before an Incoming Operation starts, it will present the user with an English description of what the operation will do according to the settings under the Incoming branch. The user will have the option to continue or abort. Incoming Operations are versatile but formidably complicated. This feature mitigates the complexity and builds confidence.
  • Tracking: the "Export Recipients To CSV" tool is now capable of exporting the database columns specified in the "Report Extra Fields" project field.
  • The "Send Only To Last Recipient" option no longer requires that "Preview Emails" be enabled.
  • Tracking: Compare Campaigns: in the summary, the best campaign's value will be colored in green and the worst in red.
  • Templates: added the "Image" Section type, which has no title or text.
  • The Universal Domain Throttle now recognizes AOL as part of the broader Yahoo mail system, which will improve delivery to both.
  • Locate Mail Server: this now reports all PTR records if there is more than one.
  • Troubleshoot HTML: added "Verify Links", "Validate CSS", and "Validate HTML" buttons to the bottom of the window.
  • Preview Recipients: previously the "Send Only To Last Recipient" option was ignored. Now Preview Recipients will only show the last recipient.
  • DKIM now uses the SHA-256 algorithm which is more secure than SHA-1.
  • Send Summary: Graph: thin faint horizontal and vertical lines are now drawn centered on the datapoint that the mouse is hovering over. This can be disabled on the "Mouse Tracking" context submenu.
  • Exponential performance improvement to the Quoted-Printable encoder. This allows large emails to be built faster.
  • HTML Editor: added the "Remove Surrounding Element" tool.
  • Tracking: Export Recipients to CSV: added the ability to exclude recipients that do not meet a specified Interest Score.
  • Operation History: Incoming: the number of rejected recipients is now reported.
  • Test Spam Score: a penalty is now reported if Delivery Status Notification is 'Never'.
  • The "Name" column of the Follow-Ups Table now supports unicode.
  • Tracking: Compare Campaigns: the Refresh tool now works as expected.
  • G-Merge: added the mime_attachment_filename_get() function.
  • G-Merge: added the incoming_bounce_string() function.
  • The dbe_call_proc() and dbe_call_func() G-Merge functions now support unicode connection strings.
  • The attach() function now has an optional fourth parameter, the character set of the attachment.
  • Pre-Incoming Script: added the "_testing" predefined variable.
  • Post-Incoming Script: added the "_excluded" predefined variable.
  • HTML Editor: added support for pasting a .DDS image file. However, it will be converted to .JPG since most email clients don't support that format.
  • Tracking: the Bounce percent is now calculated over the number of successfully sent emails, not the total attempts.
  • Direct Delivery Possible: while the PBL is being tested, the operation can now be aborted.
  • Test Spam Score: this window now remembers its position, the width of each column in the Attachments table, and various other preferences.
  • Test Incoming: the Authentication parameter is now logged.
  • Validate HTML: <option> must be inside <optgroup> or <select> or <datalist>
  • Validate HTML: the "type" attribute is now validated for the various SVG elements that use it differently.
  • Redesigned the "Tracking and Preview Are Incompatible" window.
  • URL's containing an IPv6 address are now considered legal syntax even though IPv6 is not yet supported. For example, Verify Links and Test HTML Images now produce a better error message if the link is an IPv6 address. Example: http://[2001:db8::34]/foo.htm
  • Domain Throttles: added the "gmx" keyword which will override the Universal Domain Throttle for the entire GMX system.
  • Templates: when loading a template into the project, the HTML syntax will now be automatically reformatted.
  • View Result Set: Set Entire Column: added the ability to convert the letters in the column between lower and upper case.
  • A bounce with the keyword "over quota and inactive" is now considered hard, not soft.
  • When pasting a password, if the length of the password is over the limit, an error will now appear. Previously the password would be truncated and the user would have no idea why it wasn't working.
  • prompt(): added the "right" property for checkboxes, which makes the text right-justified.
  • The http_post() function now obeys the character set that is specified in the Content-Type header, and will fully decode to unicode.
  • Incoming Operation: if OAuth is used and Incoming Encryption is Disabled, an error will now appear indicating that this won't work.
  • Updated PCRE2 from 10.40 to 10.42
  • G-Merge: when a database assignment fails, the error message will now warn if the connection string contains the "readonly" attribute.
  • When an Incoming Operation starts, it will reload the bounce string files into memory if they have been modified by the user.
  • Preview Incoming: added a "Help" button.
  • Tracking Report: care is now taken not to uselessly display "(0%)".
  • Tracking: Compare Campaigns: Total Links Clicked: this will never display "(0.00 per open)".
  • Report Extra Fields: the "Add" tool now avoids adding a column that is already present.
  • Logged rejection messages in the Send Log now support unicode.
  • HTML Editor: Reformat: runs of more than one blank line are now reduced to one.
  • HTML Editor: Convert Case: this now keeps the selection intact.
  • HTML Editor: List Properties: if the Image URL is invalid syntax, an error is now reported.
  • HTML Editor: Remove Format: this now replaces the formatting element with a <span>.
  • HTML Editor: Validate HTML: added detection of self-closing elements that are non-void elements.
  • HTML Editor: Validate HTML: added detection of non-lower case tag names if XHTML.
  • HTML Editor: Validate CSS: if a property name is illegal, the error will now suggest the most likely correct property.
  • HTML Editor: Validate CSS: added support for the round() function.
  • HTML Editor: Validate CSS: added support for the var() function as a parameter to other functions.
  • Added the "Cerulean" skin. Redesigned the "Purples" skin and renamed it "Purpendicular". Redesigned the "Blues" skin.
  • Custom Headers: the window now remembers its position.
  • Incoming: the "Out of Office" detection uses a new method that is much faster.
  • Zip Attachments: if there is only one attachment, and it is already zipped, it will not be zipped again.
  • Constructed Attachments: if the filename has no extension, the Media Type now defaults to "text/plain" rather than "application/octet-stream".
  • Process Test Email: this now performs better syntax checking on the headers.
  • Improved the appearance of the installer.
  • Tracking: Compare Campaigns: there is now a proper error message if either campaign is archived.
  • When an error popup window is visible, the taskbar button will now be red.
  • Improved speed of Base64 decoding.
  • Send Operation: there is now an error if the same file is specified as both the Recipient File and the Exclusion File.
  • Embedded Files List: if there is a problem, the logged error now supports unicode in the filepath.
  • Criteria branch: the "Other Emails" field has been renamed "Regular Emails".
  • Fixed: the SMTP Password length limit was not consistent between the project field and the wizard field.
  • Fixed: "Auto-Open Last Project" would fail if "Show Welcome Panel" was unchecked.
  • Fixed: Tracking: Compare Campaigns: if no campaigns are selected, the popup window that allows the user to choose two campaigns was listing historical campaigns, which cannot be used in a comparison.
  • Fixed: Validate HTML: <option> inside <datalist> was erroneously flagged.
  • Fixed: when opening a project, if the branch controls are scrolled, the scrolling would become glitched.
  • Fixed: HTML Editor: after changing a Linkmap, the image's appearance was not updating.
  • Fixed: Test HTML Links: the list of specific links and errors was missing.
  • Fixed: Test Sender Domain: the progress window was possibly closing before the test was completed.
  • Fixed: Preview Window: any time a recipient is selected, the HTML preview would take input focus. This prevented the user from using the arrow keys to scroll through the recipients.
  • Fixed: Direct Delivery Possible: the Refresh tool was possibly reporting errors in a popup window, inappropriately.
  • Fixed: when importing an old G-Merge 1.0 project, if the Follow-Up system was enabled, all of the follow-up bodies were not upgraded to G-Merge 2.0 automatically.
  • Fixed: Preview Window: if the user clicks on the Edit tab, then clicks on a different recipient, MSHTML was popping up with a "this document has been modified" message. Special thanks to Sidney Cockerham.
  • Fixed: a scheduled task with tracking enabled would always report that the tracking server could not be reached.
  • Fixed: Tracking: Report Extra Fields: if a column name doesn't exist, it will no longer cause all of the columns to fail.
  • Fixed: possible crash when launching the "Schedule One-Time Task" tool.
  • Fixed: the global SMTP password was not being stored correctly on some systems (since 33.1). This was causing SMTP authentication to fail. Special thanks to Morten Munch-Andersen and Briel Watkins.

New in Gammadyne Mailer 67.0 (Jul 11, 2023)

  • Added the "Store Add Date In Column" option to the Database/Setup branch. If enabled, whenever a recipient is added to the database, the current date/time is stored in a column.
  • HTML Editor: Paste Image: added the ability to rotate the image.
  • HTML Editor: Paste Image: added the ability to crop the image.
  • The Universal Domain Throttle is now hard-coded to detect the entire ProtonMail system.
  • The Database Connection String field now supports unicode.
  • HTML Editor: added the "Dictate" tool.
  • Domain Throttles: added the "proton" keyword which will override the Universal Domain Throttle for the entire ProtonMail system.
  • HTML Editor: Insert Hyperlink: added the option to change the color of the hyperlink.
  • G-Merge: added a "break" directive that breaks out of a loop.
  • Tracking: Report Extra Fields: added an "Add" button that inserts a chosen database column.
  • Templates: added the "Three column, title/image/text/button" Section type.
  • When converting HTML to plain text, the conversion of tables now supports unicode.
  • Preview Incoming: clicking the View Log button no longer closes the window.
  • Preview Incoming: the window that notifies that no emails are present now has a "View Log" button.
  • Tracking Report: reduced the time needed to generate the report.
  • HTML Editor: Reformat: this now reformats the style sheet.
  • The files that hold the bounce and out-of-office strings now support unicode provided that a Byte Order Mark is specified.
  • HTML Editor: List Properties: added a "Paste" tool that allows you to paste an image file or raw pixel data to be used for custom bullets.
  • HTML Editor: Hyperlink Properties: added a "Remove" button which will remove the link but not the content that is linked.
  • HTML Editor: added support for pasting .PBM/.PGM/.PPM image files. However, they will be converted to .jpg since most email clients don't support those formats.
  • HTML Editor: the "Convert Case" tool now appears on the toolbar.
  • Remove: the log window now has a summary banner across the top.
  • Added the "_from" predefined variable for Send Operations, which contains a copy of the final From: header. This can be used in any field that supports G-Merge.
  • Added the str_insert() G-Merge function.
  • Added the attach() function. Its advantage over the Attached Files List is that it can override the filename and/or media type.
  • Added the mime_attachment_get() function.
  • Post-Send Script: added the "_suppressed" predefined variable, which contains the total number of suppressed recipients.
  • Updated OpenSSL from 3.0.4 to 3.0.8
  • Scheduled Tasks: if "Power down after completion" is enforced, Event Viewer will show an event to that effect.
  • If the Removal Method requires a column but none is specified, starting a Send Operation will now report an error immediately.
  • The http_fetch() function now obeys the character set that is specified in the Content-Type header, and will fully decode to unicode.
  • Simple Send: it is now possible to delete items on the "Recent Files" submenu.
  • prompt(): the "incdec" property for editboxes now supports a new format, three numbers separated by commas. The first number is the minimum, the second number is the maximum, and the third number is the increment/decrement delta.
  • Validate CSS: the env() function is now validated.
  • Validate CSS: added support for reporting errors in unicode for external style sheets that use @charset or have a Byte Order Mark.
  • Validate CSS: this will now validate external style sheets that are specified by a relative path if they are located in the Embedded Files Folder.
  • Validate CSS: this will now detect SVG selectors that have the wrong case.
  • Validate CSS: added validation of several rare SVG styles.
  • Validate HTML: an error is now reported if an ID is not unique.
  • Operation History: Send: the "Excluded" column now includes all suppressions.
  • Operation History: each column now shows balloon help when the mouse hovers over the heading.
  • Pseudo-Projects: added the "AppendFailuresFormat" label.
  • Append Failures: when Format="CSV", the email address is simplfied (name and company are removed).
  • Tracking: the Recipient Table tool's "Export to CSV" tool is now identical to the "Export Recipients To CSV" tool, rather than using the generic table export tool.
  • Followups table: added a "Duplicate Row" tool to the context menu.
  • The "/he" command line switch now allows a project to be specified, in which case the HTML Body will immediately go into editing. Previously the /he switch was limited to .htm files.
  • When a Suppression List does not exist, there is now an offer to create it.
  • Search and Replace: if a regex replacement string refers to a nonexistent substring (e.g. $1), this will now display an error.
  • The mime_strip_attachments() G-Merge function's second parameter can now specify multiple filename extensions, separated by commas.
  • When an Incoming Operation writes the log of an Add Recipients operation into the Incoming Log, this now supports unicode.
  • Tracking Report Settings: if there is any problem with the Banner URL syntax, it is now reported immediately.
  • Success/Failure Script: the _sender variable now supports the "Same As SMTP User" Sender mode. Previously it was blank.
  • Improved performance of Quoted-Printable encoding, which allows emails to be built faster.
  • View Result Set: Set Entire Column: Perform Math: this now obeys the operating system regional numeric format settings.
  • The "Show Setting Search" option now appears on the tree's context menu.
  • The "DatabaseConnect" pseudo-project field now supports unicode and expects UTF-8.
  • View Result Set: Create Column: the "Size" field is now disabled if a size is not applicable to the column type.
  • Help file: added a chapter on mailing list segmentation.
  • Email Viewer: added support for showing .webp images in the HTML body.
  • Added the ability to delete an item from the File History at the bottom of the File menu.
  • Tracking: Recipient Table: the default column widths are now optimized.
  • "Copy" buttons now draw an animation of a checkmark to indicate that something happened.
  • Validate HTML: the "xmlns" attribute is now allowed to appear in any tag, and added support for DC and FOAF.
  • Validate HTML: <source> can only be inside <audio> or <video> or <picture>.
  • Recipient File: Find Illegal Address: this window will now remember its position and the Fixed-Pitch option.
  • The interface icons have been slightly desaturated.
  • Removed the "Forward As Raw MIME" option.
  • Fixed: Tracking: Compare: the progress meter moved backwards at one point.
  • Fixed: menus did not support fixed-pitch fonts.
  • Fixed: Tables: Set Entire Column: Insert Prefix/Append Suffix: this was broken for 8-bit character tables.
  • Fixed: Validate CSS: the var() function's fallback value was not validated correctly.
  • Fixed: Validate CSS: escapes inside quoted strings were resulting in an inappropriate error.
  • Fixed: Validate CSS/HTML: fixed validation of the "mask" property/attribute.
  • Fixed: HTML Editor: in several situations where a color was being decoded from CSS, the hsl() function was not being interpreted correctly.
  • Fixed: if GM was installed to a path containing unicode, it would always treat a new project as changed.
  • Fixed: Minify HTML: older variants of <!DOCTYPE> were potentially being altered in a bad way.
  • Fixed: when the HTML Embedded Files list is personalized with G-Merge and contains errors, the errors were not being properly logged.
  • Fixed: the HTML editor, Limit HTML Line Length option, and Insert Line-Breaks tools were potentially inserting an inappropriate space into the HTML body. Special thanks to Jennifer Allen.
  • Fixed: possible crash in Excel ODBC driver if the file is corrupt.
  • Fixed: Templates: the "Section Bar" section was not working.
  • Fixed: View Result Set: changes made by the "Set Entire Column" tool using the "Perform Math" mode were not being saved to the database.
  • Fixed: the uninstaller was removing all scheduled tasks (since 66.0). Better to keep them than save a few kilobytes of hard disk space.

New in Gammadyne Mailer 66.0 (Jan 9, 2023)

  • Added the "Report Extra Fields" option to the Tracking branch. This allows you to specify database columns that should appear on the tracking report for each recipient.
  • Tracking: added a secondary beacon method that will improve the detection of opens.
  • Validate CSS/HTML: all SVG elements, attributes, and styles are now validated.
  • Preview Incoming: added the "Recipients" column, which shows every email address that would be processed.
  • Tracking: improved the way GM notifies the tracking server of a tracked email. It now combines up to 256 recipients in a single notification. This helps prevent the "Waiting on tracking server" message, and lowers bandwidth usage.
  • Build Text Body From HTML, Extract Text From HTML: the conversion now has much better formatting for tables, and can maintain columns properly.
  • Import CSV Data: added the ability to create the database columns for you.
  • Scheduler: added an option to power down the computer after a task completes. This is useful for tasks that run at night.
  • External HTML Editor: this now makes backups of an edited HTML file. Choose "Restore Backup" from the File menu to recover a backup.
  • Append Failures: added a setting that adds a new option for including additional information about the failure, in CSV format.
  • Tracking Campaigns window: added the "Hide Local Reports" option to the View menu.
  • Added the "Quick Text" tool for all editboxes and HTML editors. This allows you to create, and later insert, snippets of text.
  • Templates: added the "Text Links" Section type.
  • Editboxes: added the "Dictate" tool.
  • Editboxes: implemented "Search As You Type".
  • HTML Editor: added the "Remove Format" tool, which removes all text formatting.
  • HTML Editor: Raw tab: added the "Make Styles Inline" tool. Previously there was only the "Make Styles Inline" option and no way to do it manually.
  • HTML Editor: Insert Hyperlink: added an "Underline" option. Previously links were always underlined.
  • G-Merge: the _sender variable is now widely available. Previously it was only available to the Pre-Send, Success, and Failure scripts.
  • prompt(): added the "spacer" control which is invisible and simply takes up some vertical space. All of the prompt() examples now use spacers instead of dividers.
  • View Result Set: Filter: Conditional mode: added support for parenthesis.
  • Import Settings: for all editbox fields that were imported, the Undo tool can now restore the editbox to its previous state.
  • View Result Set: Filter: the "Conditional" mode's == operator is now case insensitive unlike the = operator.
  • View Result Set: Create Index: instead of an "Add" button for choosing a column, there is now a checklist of columns.
  • Preview Incoming: added a "View Log" to the bottom of the window.
  • Preview Incoming: the log now includes the normal summary at the bottom.
  • Operation History: Outgoing: the number of exclusions is now reported.
  • Post-Incoming Script: added the "_aborted" variable.
  • Preview Window: added the "Confirm Send Selected" option to the Options menu. Previously, after checking "Don't ask this question again", there was no way to turn confirmations back on.
  • Test SMTP: for OAuth, the user is now informed they need to enable SMTP Encryption.
  • Email Send Log To: the sent email now supports unicode characters in the log.
  • When choosing a file from the history at the bottom of the File menu, if it does not exist, the error window now contains a "Explore" button that will open File Explorer to that folder.
  • Mobile Preview: hovering the mouse over a hyperlink will now show the URL in a popup.
  • HTML Viewer: View Source: added a "Verify Links" tool.
  • HTML Editor: added case conversion tools.
  • HTML Editor: Verify Links: double clicking on a row will now launch the "Locate" tool.
  • HTML Editor: Image Link Map: this now draws a box around all areas, with the selected area in a different color.
  • Several global preference files have been moved out of the My Documents folder where security may be heightened. Removed two tools from the Files menu for exploring the preferences folders, these were only supposed to appear in debug builds. Now there is a single tool on the Options menu for exploring the one preferences folder.
  • Behavior change: the Body Criteria now operates on text extracted from the HTML body, not the raw HTML source code.
  • View Result Set: Table Statistics: for numeric columns, the minimum and maximum value is now reported.
  • Pre-Incoming Script: added the "_previewing" predefined variable.
  • The Log Connection Errors field now supports unicode.
  • The Sound Alarm On Error field now supports unicode.
  • The Change Reply-To Header field now supports unicode.
  • First-Time Greeting: added a button that opens the video tutorials page on our website.
  • Options Menu: there is now an option to hide the Setting Search box below the tree.
  • Added the str_chop_at_last() G-Merge function.
  • The fatal() function is now available to pseudo-projects.
  • The mailbox_count() function now returns -4 if authentication failed.
  • The file_delete() function now has an optional second parameter that offers a couple of new flags that affect the behavior.
  • The db_call_func(), dbe_call_func(), db_call_proc(), and dbe_call_proc() functions now support a unicode function/procedure name.
  • prompt(): editboxes: the "incdec" property now offers a new mode for adjusting the day of a date.
  • When a scheduled task fails a pre-op test, the Notify Operation Errors email will now support unicode.
  • Suppressions now load 48% faster.
  • Updated zlib from 1.2.11 to 1.2.13
  • If you drop or paste files into the Embedded Files List, the Embedded Files Folder will be set to the folder that contains the files (if it is empty).
  • HTML Editor: added support for pasting a .JFIF image file. However, it will be converted to .jpg since most email clients don't support the JFIF format.
  • HTML Editor: the Validate CSS and Validate HTML buttons below the raw editor now support the Shift key for toggling which validator is used, just like the toolbar and context option.
  • HTML Editor: Attribute Editor: added more attributes, and more examples in the drop-down lists.
  • Validate CSS: this now validates attribute selectors, such as li[class=foo] { }
  • Validate CSS: the min(), max(), clamp(), and abs() functions are now validated.
  • Validate CSS: this now validates the @charset rule.
  • Validate HTML: added detection of illegal elements inside <button>.
  • Validate HTML: <select> can only contain <option> or <optgroup>.
  • View Archive: the "Filter" toolbar icon is now highlighted when the filter is enabled.
  • Tracking Report Settings: the Report Title, Banner URL, and Copyright fields will now remember past inputs in a drop-down list.
  • HTML Editor: List Properties: this now supports list types that are specified by a "style" attribute rather than the "type" attribute.
  • Preview Incoming: the window position and column widths are now remembered.
  • Help file: Search tab: added two buttons that allow you to jump to the next/previous search occurrence.
  • Tables: the Alternating Rows and Row Dividers submenus now show what the "Default" option is defaulting to.
  • Improved support for the Tab key in various situations.
  • Pseudo-Projects: added the "AppendFailuresMode" label.
  • In numerous situations where the HTML Body's character set it used, and is not specified, this will now fall back to the default dictated by the <!doctype> tag. The <?xml> tag is also now supported, although this tag is deprecated in general.
  • The "Compress HTML" option was renamed "Minify HTML" as this term is more accurate.
  • Send Log: the "SENDING" message now supports unicode in the recipient's email address.
  • Make Styles Inline: improved performance.
  • Help file: added a chapter on the View Archive tool.
  • Editboxes: Macros: added support for Numpad keys with Ctrl/Alt.
  • Removed the defunct blacklist cdl.anti-spam.org.cn
  • Fixed: Validate CSS: fixed validation of "clip-path", "font-variant", "font-stretch".
  • Fixed: Validate HTML: <slot> is allowed to have a "name" attribute.
  • Fixed: HTML Editor: Style Editor: the Scope tab was not always listing all parent elements.
  • Fixed: HTML Editor: Reformat: SVG element names were converted to lower case, however unlike other elements these are case sensitive.
  • Fixed: Make Styles Inline: was not working properly with some SVG elements.
  • Fixed: uninstalling will no longer cause the history of locally exported tracking campaigns to be lost.
  • Fixed: if a popup window is created while the parent window is minimized, it could appear on the wrong monitor.
  • Fixed: Preview Window: after discarding a recipient, the buttons below the Recipient List could be inappropriately grayed out.
  • Fixed: Simple-Send: the Importance, Sensitvity, and Request Reading Receipt options were being ignored, and the Reply-To: was broken.
  • Fixed: Simple-Merge: failed to properly read a CSV cell that contains tabs after the separator, followed by quoted data that contains newlines.
  • Fixed: Send: the "Store Successful Send Date" was producing an error if the "Use Custom SELECT Statement" option was checked.

New in Gammadyne Mailer 65.0 (Jul 6, 2022)

  • Significant visual improvements:
  • Improved the appearance of scrollbars.
  • Removed the divider bar above the buttons at the bottom of all windows.
  • Groupboxes now have separate colors for text and border.
  • Eliminated some padding around controls for a tighter layout.
  • Removed more 3D borders around controls (continued from 64.0).
  • Send Summary: the Pie Chart is now anti-aliased.
  • Numerous other minor improvements.
  • The Send Log and Send Summary are now in unicode.
  • Preview Incoming: added a "Proceed" button to the bottom of the window, which will restart the Incoming Operation but with Preview disabled.
  • Prompt Before Sending is now a project setting on the Send branch. Previously it was a global setting on the Options menu.
  • Verify Links: added a "Locate" button, which takes you to the location of the broken link in the HTML source code. Added a "Follow" button, which opens the broken URL in your browser.
  • Simple Send: the File menu now contains a "Recent Files" submenu that makes it easy to reopen an email file that you have used in the past.
  • Process Emails Only Once: for IMAP, this will now monitor and obey the server's UIDVALIDITY property, which the server can use to invalidate GM's lists of emails that have already been processed. Previously, if the property changed, GM might not process some new emails while re-processing some old emails.
  • Add Record: for columns that are variable size, the size is now reported in the Type column.
  • Tracking: the custom banner can now be a local filepath. Previously it was limited to a remote URL.
  • Numerous error messages now support unicode. Also many minor improvements to error messages.
  • Preview Incoming: this now shows if the email would be forwarded.
  • Preview Incoming: the number of recipients that would be processed is now shown.
  • Templates: added an option for the Main Title Image width. Previously the image was always the same width as the body.
  • Templates: the "Main Title Background" is now a checkbox so that so that it can be made transparent.
  • Auto Image Dimensions: when obtaining a missing dimension from the style attribute, this now supports all CSS units. Previously, only "px" was supported.
  • Process G-Merge Inside Attachments: this now supports attachments with 16-bit characters provided that a Byte Order Mark is present.
  • Tracking: added detection of the YandexImageResizer bot.
  • Internal Database: there is now a drop-down list containing all databases present.
  • Email Viewer: added a "Verify Links" tool to the Raw HTML tab's context menu.
  • Preview Window: there is now a confirmation prompt for the Send One tool. This window has a "Do not ask this question again" checkbox.
  • Test menu: Spell Check: if the HTML editor is on the Edit tab, its spell checker will launch. Previously, it would always switch to the Raw tab.
  • Follow-Ups table: you may now click and drag on a cell in the "Index" column to rearrange the rows.
  • Tracking: Export Recipients/Recipient Table: the Date Sent and Date Opened will now obey the date format specified in the Report Settings.
  • Tracking: Export Recipients: added an option to convert all date fields from UTC to the local time zone. The Recipient Table will now always perform this conversion.
  • View Archive: when a Filter is enabled, upon selecting an email, the occurrence of the filter text will now be highlighted.
  • Added the /ntinc command line switch: if the tracking account has no more credits, disable tracking and send anyway.
  • The /nosum command line switch now works for Send Operations. It suppresses the Summary Window.
  • Post-Send Script: added the _excluded variable which contains the number of recipients that were excluded.
  • Updated OpenSSL from 3.0.0 to 3.0.4
  • Updated SQLite from 3.33.0 to 3.39.0
  • Updated PCRE2 from 10.22 to 10.40
  • View Result Set: Create Index: added the "Unique" option.
  • Added the extract_company() and mime_headers() G-Merge functions.
  • The file_archive() function now has the ability to create the file as UTF-8 or UTF-16.
  • The Incoming Log Filepath field now supports unicode.
  • The Zip Attachments Filename field now supports unicode.
  • The Forward Emails To field now supports unicode.
  • The _keyword_body, _keyword_header, and _keyword_subject predefined variables now support unicode.
  • The email_send() function now supports unicode attachments. csv_append2() now supports a unicode filepath. db2_execute() now supports unicode in the connection string and SQL parameters.
  • Scheduler: the "Result" column now supports unicode.
  • For various tools that operate on the HTML Body, if the External HTML Body has no Byte Order Mark, but the HTML Character Set setting specifies UTF-8 or UTF-16, the file will now be properly decoded.
  • HTML Editor: Validate HTML/CSS: this now accepts SVG inline images.
  • HTML Editor: Validate HTML: added detection of Non-Phrasing Content inside Phrasing Content.
  • HTML Editor: Validate HTML: added detection of improper elements inside a <table>.
  • HTML Editor: Validate CSS: this now validates the calc() function.
  • HTML Editor: Validate CSS: this now supports hwb() colors.
  • HTML Editor: Validate CSS: this now validates @namespace rules.
  • The "Validate CSS" and "Validate HTML" tools can now appear on the toolbar, although they are hidden by default.
  • Test menu: the "Validate CSS" tool will now open the external HTML editor and launch its Validate CSS tool. Previously, the external HTML editor would not open, and the CSS was always validated with the W3C website.
  • External HTML Editor: Options menu: added options to validate the CSS/HTML with the W3C website. Previously these options were only available on the raw HTML editor's context menu.
  • HTML Editor: added support for pasting a .tga image file. However, it will be converted to .jpg since most email clients don't support the TARGA format.
  • If a Send Op is launched from the command line with the /q switch, and the project uses tracking, and the tracking account lacks credits, the process will now obey the /q switch and abort silently.
  • Added a "View Send Log" button to the bottom of the Logging branch.
  • Tracking: when the custom banner is being embedded, it is now shrunk down to the specified dimensions.
  • External HTML Editor: added a "File Information" tool to the File menu.
  • Incoming Wizards: if the user changes the protocol, the port number is now automatically changed as appropriate.
  • Database optimization: the apparatus that avoids SQL Server's infamous "Invalid Descriptor Index" error will only trigger if required.
  • Store Successful Send Date: an error is now reported immediately if the column does not exist.
  • When a scheduled task reports a G-Merge error, the notification now includes the complete tag that the error occurred in.
  • Append Rejections: if a rejection contains newlines, it is converted to a single line so that there is always one rejection per line.
  • Locations.ini: added the ability to disable SNMP statistics at the bottom of the Send Log.
  • All tables: the Duplicate Row tool now has a hotkey, Ctrl+Shift+I.
  • Preview Window: added a "Contact Us" option to the Help menu.
  • The tree will no longer show a vertical scrollbar if it is unnecessary.
  • Prompt(): editbox: the "incdec" property now has a new mode that allows the integer at the end of the editbox contents to be adjusted.
  • Operation History: the "Forward/Fail" and "Autorespond/Fail" columns are now hidden by default since these stats are also accumulated in the "Errors" column.
  • Fixed: Validate HTML: the "crossorigin" attribute was not validated properly.
  • Fixed: Verify Links was incorrectly flagging all mailto: links as invalid.
  • Fixed: Verify Links was incorrectly flagging hyperlinks with an anchor (e.g. http://example.com#anchor).
  • Fixed: Processing Mode: Process If Follows Keyword: this was only stopping if 2 lines contained no addresses, not 1 as documented.
  • Fixed: Send Prepared + DKIM: eliminated an inappropriate error.
  • Fixed: Custom Headers: there is now an error for lines that begin with a colon.
  • Fixed: SNMP statistics were not appearing at the bottom of the Send Log.
  • Fixed: the "_emails_fail" variable was counting failed CC's and BCC's.
  • Fixed: the fatal() G-Merge function was causing a second blank popup to appear.
  • Fixed: the view_in_browser() function was producing an error when using the Preview Recipients tool.
  • Fixed: a pseudo-project with DirectDelivery=1 and DirectRetry=0 that also specifies SMTP servers was unable to send any email.
  • Fixed: Templates: the "Button x 3" content did not look right on small screens.
  • Fixed: Extend Tracking Campaign: there should have been an immediate error if the campaign had already expired.
  • Fixed: if an error occurs in a scheduled task, the progress meter in the scheduler might not disappear.
  • Fixed: Tracking: Recipient Table: the forward data could instead appear in the Interest Score column.
  • Fixed: HTML Editor: after clicking on a different branch then returning to the HTML Body branch, the editor would be blank (since 64.0).
  • Fixed: the "Process G-Merge Inside Attachments" feature was broken.
  • Fixed: if a scheduled task has tracking enabled, and the account lacks tracking credits, the task would hang.
  • Fixed: Validate CSS: crash if @import or @charset rule has no ending semi-colon.
  • Fixed: Compress HTML: crash if it encountered an illegal CSS syntax in the form "foo:;".
  • Fixed: Incoming: probable crash if there is an error when downloading an email (since 64.0).

New in Gammadyne Mailer 64.0 (May 2, 2022)

  • Added the "Preview Incoming Emails" option. This displays a list of all of the incoming emails, and a brief summary of whether or not each email qualifies to be processed. This is highly useful for testing the project settings.
  • Added support for PostgreSQL databases.
  • Added the "Track Opt-Outs" option to the Tracking branch. If checked, after an Incoming Operation completes, the user will asked if the number of processed emails should appear as an "Opt-Outs" statistic on a tracking report.
  • Templates: Main Title: it is now possible to have both an image and text.
  • Templates: added the "Text+Button on Image" Section type.
  • View Result Set: added the "Import From CSV File" tool.
  • Troubleshoot HTML: this now reports the total number of HTML syntax errors and warnings.
  • Added the "Rejections" column to the Tracking Campaigns window.
  • Recipient File: the "Verify All Addresses" tool now supports a URL to a remote recipient list.
  • Search Settings: if no match is found, but the search text is in the help file index, the Side Help will jump to that topic.
  • The Incoming Log now uses unicode characters for its content.
  • HTML Editor: Validate CSS: all properties that are considered to still be in "draft" status are now validated.
  • Search Settings: added the ability to search in the reverse direction. Hold down the Shift key while clicking the search icon.
  • Auto Image Dimensions: a missing "width" or "height" attribute can now be obtained from a "style" attribute.
  • Search Settings: this now has a hotkey, Alt+F2.
  • External HTML Body: various tools that load this file now support the presence of a Byte Order Mark.
  • Test menu: Spell Check HTML Body: if the HTML Body is in an external file, it is now opened in an editor window, and the Spell Check tool is launched.
  • Added the "Test: view last log" tool to the context menu of the Incoming Sources table. This displays the log from the last use of the Test Incoming tool.
  • Wizards for Incoming Operations will now ask for the port number.
  • View Result Set: added an option to select all text when entering a cell.
  • View Result Set: added the "Delete Index" tool.
  • View Result Set: this now uses much less memory.
  • Tracking: any open that occurs less than 25 seconds since the last open will be considered spurious and not a valid reopen/forward.
  • Operation History: added the ability to hide columns.
  • HTML Editor: added support for pasting a .pcx image file. However, it will be converted to .jpg since most email clients don't support the PCX format.
  • View Archive: Filter Emails: added the ability to filter on the email contents, not just certain headers.
  • HTML Editor: Image Link Map: it is now possible to specify the coordinates by clicking and dragging on the image.
  • Add Record: added the "Type" column which shows which data type each column is.
  • The "Generate Host Stats", "Append Rejections", "Append Successes", and "Append Failures" logs are now randomized when a new project is created. This avoids the problem where two projects running simultaneously try to write to the same file.
  • Send Prepared: if the success/failure/rejection folder doesn't exist, there is now an offer to create it.
  • Notify Operation Errors: for G-Merge errors, the notification now reports which project field contained the error.
  • Notify Operation Errors: this now sends a notification if an error occurs in the Post-Send Script.
  • View Result Set: Set Entire Column: added the ability to perform a mathematical operation on each cell.
  • Add Record: the Primary Key is no longer omitted unless it is auto-generated.
  • HTML Editor: Style Editor: numerous improvements to the "Scope" tab.
  • External HTML Editor: added the "Record File History" option to the Options menu.
  • HTML Editor: Validate CSS: the mask-xxx properties are now validated.
  • HTML Editor: Validate CSS: all extended color names are now supported.
  • HTML Editor: Validate CSS: the var() function is now validated.
  • HTML Editor: Validate HTML: added detection of improper elements inside an <ol> or <ul>.
  • HTML Editor: Validate HTML: added detection of block elements inside <p>.
  • HTML Editor: Validate HTML: added detection of numerous elements that cannot be inside <pre>.
  • Compose: Paste Attachment: the filename now supports unicode.
  • Simple Send: Options menu: added the "Ask for pasted image size" option. Previously this could not be disabled.
  • Test S/MIME: a test email is now signed in order to more thoroughly test the certificate.
  • Tracking Report: it is now optional if the top banner is referred to as an external URL, or is downloaded and embedded.
  • Tracking Report: Email Report: multiple recipients are now supported.
  • Added the return() G-Merge function, which is useful for user-defined functions.
  • The "Custom Headers" field now supports unicode.
  • The "Write Email To Files" field now supports unicode.
  • The "Remove From Files" field now supports unicode.
  • The "Change 'From' Header" field now supports unicode.
  • Tracking: campaigns now download faster.
  • Prompt(): all editboxes and comboboxes now support unicode.
  • Improved performance and memory usage when fetching large emails with POP3.
  • Added the "Logging" branch under the "Incoming" branch, and moved various settings there.
  • Post-Incoming Script: added the _add_success and _add_fail variables which record stats for the adding of recipients to the mailing list.
  • Test DKIM, S/MIME: added an "Ignore" button if the S/MIME certificate is expired but otherwise valid.
  • Added the pow() function, which calculates an exponential.
  • Added the extract_name() function, which extracts a recipient's name from a compound email address.
  • The stop() function now has an optional parameter that determines if the rest of the body is truncated or not.
  • The file_append() function now offers a flag that prevents the file from being created.
  • The mailbox_count() function now logs an error if one occurs.
  • The email_send() function now supports unicode in the 'headers' parameter.
  • The dbe_add_row() function now supports unicode in the connection string.
  • The incoming_forward() function now supports unicode in the recipient's address.
  • Help file: there is now an alphabetical index of G­Merge functions, in addition to the original categorical list.
  • Generate Tracking Report: if there are no active campaigns, but there are archived local copies, the local copies will now be displayed rather than reporting an error.
  • Incoming Script: the _body variable now supports unicode.
  • Post-Incoming Script: the _criteria_stats predefined variable now supports unicode.
  • View Archive: JPEG images in the HTML will now obey the orientation specified in the EXIF tag. This ensures they appear upright.
  • Numerous minor interface improvements. Removed many 3D borders for a cleaner look.
  • Test SMTP: for Gmail, the log now reports that the test is doomed if SMTP Encryption is disabled.
  • The Database Clauses table will now highlight the row when the mouse moves over the "#" column, and alter the mouse cursor, to indicate that the row can be dragged to a new position.
  • The "Invalid variable or database column" error now alphabetizes the lists of variables/columns.
  • Incoming: if the incoming email is rejected by both not meeting criteria and not containing recipients, now the criteria failure is reported rather than the lack of recipients. This is important when Addresses In Body is set to "Process All After Keyword".
  • Test Spam Score: numerous visual improvements.
  • The entire "DNS" branch is now hidden by the Hide Advanced Settings option.
  • Preview Window: the "Send Emails" icon has been renamed "Send All" to help distinguish it from the individual Send button.
  • Removed all support for MAPI. We're not aware of any user that has used it in the last 10 years.
  • Fixed various minor issues with the Validate CSS tool.
  • Fixed: HTML Editor: when pasting an image over a selected image, changes to the size were not always being applied.
  • Fixed: IMAP4: it was possible for a timeout error to instead be reported as a fetch failure.
  • Fixed: Templates: the "Three column, image/title/text/button" Section type was not collapsing properly on small screens.
  • Fixed a bug that was causing an unnecessary usage of memory in many situations.
  • Fixed: Tracking Report: the calculation of Opt-Out percentage included failed emails, now it only includes successes.
  • Fixed: HTML Compression: attribute values ending in a slash need to be quoted.
  • Fixed: HTML Compression: <script> elements no longer receive whitespace reduction as this can cause problems.
  • Fixed: HTML Compression: when compressing CSS, a semicolon inside parenthesis was causing a problem.
  • Fixed: HTML Compression: when compressing inline style attributes, encoded characters were not handled correctly.
  • Fixed: Test DKIM, S/MIME: S/MIME was not being tested unless DKIM or DomainKeys was enabled.
  • Fixed: View Result Set: the "Set Entire Column" tool was operating on the column with focus instead of the column right clicked on.
  • Fixed: HTML Editor: Image Properties: in some cases, this was inserting a new image instead of editing the properties of an existing one.
  • Fixed: View Result Set: if you create rows then choose "Exit" or click the X caption button, the new rows were not saved.
  • Fixed: HTML Editor: rare crash in Paste Image File and Insert Pie Chart (since 60.0).
  • Fixed: the out-of-memory mitigation mechanism was not working (since 63.0).
  • Fixed: crash in the "Validate CSS" and "Troubleshoot HTML" tools.

New in Gammadyne Mailer 63.0 (Nov 16, 2021)

  • Added the ability to send interactive "AMP" emails.
  • Added the ability to search for a setting. There is now a search box below the tree.
  • Added the ability to specify the number of opt-outs that occurred, and have it appear on a tracking report. Generate the report and choose "Specify Opt-Out Count" on the Tools menu.
  • HTML Editor: Validate CSS: this now validates the syntax of property values.
  • Tracking: when a tracking campaign expires, it is now emailed to the user before it is deleted.
  • Templates: added the "Section Bar" Section type.
  • Tracking: added an "Elapsed" column to the Tracking Campaigns table, which shows the number of days since the campaign started.
  • Summary Graph: add the "Vertical Values" option to the context menu, which controls the orientation of the text on the Y-axis. Previously this text was always vertical.
  • Extract Addresses From Files: added support for specifying an Internet URL for a source file.
  • Recipient File: the "Find Illegal" tool now supports URL's to a remote recipient list.
  • Notify Operation Errors: a notification is now sent if an error occurs in the Success or Failure Script.
  • Added two tools to the Options menu that will reset the main toolbar. One resets it to its default configuration, the other resets it to a scheme with icons and no text.
  • View Result Set: added a tool for creating a new index for the database table.
  • Test Incoming/Outgoing Server: if there is an error, there is now a "Help" button that allows you to easily contact Gammadyne Support with a copy of the error log.
  • Clauses: you can now press the mouse button on the "#" column, then drag and drop the row to a new position.
  • The Send Log and Incoming Log are now randomized when a new project is created. This avoids the problem where two projects running simultaneously try to write to the same file.
  • View Result Set: Filter: Conditional Expression mode: added the "@" operator, which tests for a Regular Expression.
  • Updated OpenSSL from 1.1.1h to 3.0.0
  • Troubleshoot HTML: this now reports the total number of CSS syntax errors and warnings.
  • Added a "Notes" column to the SMTP Server table.
  • Added the "Show Welcome Panel" option to the Options menu. Previously it was not possible to disable the Welcome panel.
  • Added the "Spell Check HTML Body" tool to the Test menu.
  • Templates: all text fields now support unicode.
  • The Embedded Files List and Embedded Files Folder fields now support unicode.
  • All fields on the "Send Prepared Emails" window now support unicode.
  • Tracking Report: Email To: the From and To fields now support unicode.
  • The prompt() G-Merge function now supports unicode.
  • Added the stop() function, which halts the processing of G-Merge tags.
  • The include() function now supports unicode files provided that a Byte Order Mark is present.
  • The mailbox_count() function now supports OAuth.
  • The str_censor() function now supports unicode.
  • The dbe_add_row() function now supports unicode column values.
  • The file_append() function now has an optional 'flags' parameter, which can be used to add unicode support or prevent the newline from being appended.
  • Added the smime_describe() function.
  • The cs_enter() function now has an optional second parameter that specifies a timeout.
  • HTML Editor: when the caret is inside a table, the Tab key will now move focus among the cells.
  • HTML Editor: Image Link Map: you may now click on the image to select the area located there.
  • HTML Editor: Image Properties: after making a change to the Source field, the image preview will now update to show the new image.
  • HTML Editor: added support for pasting a .psd image file. However, it will be converted to .jpg since most email clients don't support the Photoshop PSD format.
  • External HTML Editor: added a "Lock File" option to the Options menu.
  • HTML Editor: Insert Button: added the ability to make the background transparent.
  • HTML Editor: Validate HTML: added detection of block elements inside inline elements.
  • HTML Editor: Validate HTML: added detection of certain elements that cannot nest inside themself.
  • HTML Editor: Validate HTML: added detection of <li> that is not inside <ul>, <ol>, or <menu>.
  • HTML Editor: Validate HTML: added detection of deprecated elements.
  • The database engine is now more streamlined and efficient.
  • Added the "_other" predefined variable to the Post-Incoming Script.
  • Tracking: Generate Report: if the file for a historical report no longer exists, the error popup now has a "Remove" button that will remove the report from the Campaigns window.
  • DKIM: the Selector is now tolerant of leading or trailing spaces, periods, or "._domainkey".
  • Clauses: integer columns were always treated as signed, now this is detected from the database.
  • Template Designer: added the ability to control the main title's justification.
  • Template Designer: much improved error reporting, making it easier to develop new templates.
  • Operation History/Incoming: this now reports the total number of errors that occurred.
  • S/MIME: added support for .DER certificates.
  • Follow-Ups: the "Subject" column now has a button and hotkey for inserting a database column.
  • If both Preview Emails and Tracking are enabled, and the user opts to ignore tracking, upon clicking the "Send Emails" button, the user will now be warned that the previewed emails will not be tracked.
  • Suppression Hash Calculator: Add To File: if the file does not exist, there is now an offer to create it.
  • Domain Aliases: the Remove Log will now mention if any of the domains are illegal syntax.
  • Tracking Report: the custom banner is now downloaded and embedded as inline pixel data. This ensures it does not rely on the accessibility of an external file and that it will always be visible.
  • Import Suppressions: if the target file has a Byte Order Mark, instead of reporting an error, it is removed and the file is converted to ASCII.
  • Automatically Parse Images: this is now tolerant of a double slash or backslash, even though this is a syntax error.
  • DKIM: minor improvements to the Verify Email tool.
  • HTML Editor: Image Properties: improved how inline pixel data is handled.
  • HTML Editor: Validate CSS: many CSS properties that were considered a "draft" no longer are.
  • HTML Editor: Validate CSS/HTML: errors now support unicode.
  • Wizards: when prompting for the Incoming account, this will now edit the first row that is not ignored. Previously, it always edited row 1.
  • Test Spam Score: this now supports unicode files with no Byte Order Mark as long as the "Character Set" project field is set correctly.
  • Connection String: past inputs are now remembered in a drop-down list.
  • HTML Editor: Insert Button: Open/Save Scheme will now remember the last scheme.
  • The "Add Record" tool can now appear on the toolbar, although it is hidden by default.
  • When choosing a file from the history at the bottom of the File menu, if it does not exist, the error window now contains a "Remove" button that will remove the file from the history.
  • Editboxes: added the "Duplicate" tool, which duplicates the selection or current line. The hotkey is Ctrl+I.
  • Direct Delivery Possible: if an error occurs, there is now a "Retry" button.
  • Choose Template: added a "Refresh" tool.
  • Preview Window: the "View Log" tool will now display an error popup if the project is not configured to generate a log.
  • Removed the splitter to the right of the tree. The tree is now always just wide enough to display its branches. It is unlikely the user would want the tree to be any narrower or wider than that.
  • Minor interface improvements.
  • The "Embedded Files" branch was renamed "Embedded".
  • Fixed: automatic tracking upload: the labels on the pie chart had no padding.
  • Fixed: HTML Editor: Reformat: self-closing tags such as <line/> were being indented incorrectly.
  • Fixed: HTML Editor: when an entire <h1> or <pre> element is selected, choosing "Normal" from the toolbar's Format drop-down list was not working.
  • Fixed: Test Incoming: when a DNS error occurs, this was reporting "0 failed".
  • Fixed: External HTML Editor: Save Document was not displaying a message if an error occurred.
  • Fixed: External HTML Editor: when reopening a document that was changed by an external app, if the reopening fails, the document was closing and all changes were lost.
  • Fixed: S/MIME signing with certain .crt and .pem certificates was not working.
  • Fixed: Tracking was not detecting the Edge browser after its agent string was changed.
  • Fixed: exclusions/deduplications were not working on email addresses that contain a tick mark (since 59.0).
  • Fixed a few rare cases where HTML images could not be embedded.
  • Fixed: if "Follow-Up System Enabled" is checked, and "Use Database" is unchecked, the "Test Spam Score" tool was asking which Follow-Up should be tested, even though the follow-up system is not used in that situation.
  • Fixed: Follow-Up System: when overridden in the Follow-Up table, the Subject of the follow-up was appearing as garbage (since 62.0).
  • Fixed: possible hang when using the Find Illegal tool on a Simple-Merge mailing list.
  • Fixed: very rare crash at the beginning or end of a Send Operation, or immediately on startup (since 22.0). Special thanks to Geoffrey Thacker.

New in Gammadyne Mailer 62.0 (Jul 12, 2021)

  • Behavior change: when data is merged into the HTML body from a G-Merge statement, any newlines are now converted to <br> tags. Otherwise the newlines have no effect on the appearance of the merged data due to how HTML collapses whitespace. Previously it was necessary to use html_from_text() to get newlines to work correctly.
  • Tracking: added the ability to extend the lifetime of campaign data beyond 30 days.
  • HTML Editor: added the ability to insert an Emoji.
  • Added the "Other Emails" setting to the Criteria branch. This allows you to control what happens to incoming emails that are not a bounce or auto-response.
  • Tracking: when you export a tracking report to the hard drive, it will now show up in the Tracking Campaigns window so that you can open it even after the data has been deleted from the tracking server (due to the 30 day expiration).
  • The following features are now compatible with a remote Recipient File: Insert Column tool, Single Send tool, Simple-Merge drop-down list, Clauses drop-down list for the Column and Value columns, Removal Column drop-down list.
  • The "Shrink Images" option is now capable of shrinking inline pixel data.
  • HTML Editor: Insert Button: it is now possible to save the settings as a "Scheme" for later retrieval.
  • HTML Editor: Verify Links: numerous improvements.
  • Halt On Error In Success/Failure Script: if an error occurs and the Preview Window must reappear with all the unsent email, there is now a popup error message that explains what happened.
  • Resume Send: this can now resume when the database connection is lost, and certain other database errors.
  • HTML Editor: Validate CSS: this now validates the "style" attribute for every HTML element.
  • View Result Set: Filter: the "Conditional Expressions" mode now supports the !~ operator, which evaluates to true if the column doesn't contain a substring.
  • Templates: added the "Three column, title/text" Section type.
  • When the Processing Mode is set to "Remove" or "Add To Removal List", a "Configure" button will appear that takes the user to the Remove/Options branch.
  • HTML Editor: Validate HTML: for <img> tags with inline pixel data, this now validates the base64 encoding, the image file format, and that the image is the correct type as stated.
  • Append Failures + Direct Delivery: the "Hard" mode will now include any email address where DNS resolution of the recipient's domain fails.
  • The "Test DKIM" option has been renamed "Test DKIM, S/MIME" and now also tests the S/MIME settings.
  • Tracking: tweaked the Estimated Opens calculation to mitigate a tendency that it had to go to 100% in some situations.
  • The number_format() G-Merge function can now format a number according to the system's "Region and Language" settings by putting an "L" at the end of the "format" parameter. For example, number_format(-123456789.12, ",2L") returns "- 123.456.789,12" if your locale is Croatian.
  • The html_from_text() function now has an optional second parameter that provides 7 options for changing the conversion process.
  • Added the "_recipient_index" predefined variable for the Incoming Script, and the "_aborted" variable for the Post-Send Script.
  • Suppressions: Calculate Hash: the "Add To File" tool will now report if the hash is already present rather than adding a duplicate.
  • HTML Editor: added support for pasting a .tif image file. However, it will be converted to .jpg since most email clients don't support the TIFF format.
  • Raw HTML Editor: there are now options to use the W3C's website for the Validate HTML and Validate CSS tools.
  • Scheduler: when a task is selected and running a Send, the total number of recipients is now shown.
  • The file_save() function now has an optional third parameter that allows you to control if the created file uses ASCII or unicode.
  • The "Shrink Images" option is now compatible with the db_embed() function.
  • The "Reading Confirmation Request" field now has Insert Column/Variable/Function tools on the context menu.
  • Rename/Move Project: this no longer reports an error if the only thing that is changing is the case of letters.
  • The Success and Failure Scripts will now preserve the data type of each Simple-Merge column (also variables recorded by the remember() function). Previously, all columns were treated as strings.
  • HTML Editor: Image Properties: added a preview of the image. Other minor improvements.
  • Tracking: reports will now download faster.
  • Added the "/log" command line switch, which overrides the log filepath for Send and Incoming operations.
  • HTML Viewer: the "Save Image As" context tool now offers to let you open, copy, or explore the newly exported image.
  • View Attachments: if you hold down the shift key when launching this tool, the raw binary data will be displayed instead.
  • Templates: Sections: added a context menu button. Added a "Delete All" tool to the context menu.
  • Test Incoming Servers: when an IMAP4 folder is specified, the test log now shows the number of emails present in that folder.
  • OAuth authentication is now protected from CSRF attacks.
  • The mime_convert_to_html() function will now encode all non-ASCII characters. This is for the benefit of autoresponding.
  • Suppressions: the Filepath column now supports unicode.
  • Clause Table: added a "#" column that contains a sequential number that identifies the Clause. The Send Log may refer to this number when rejecting a recipient.
  • HTML Editor: Neutralize Characters: added an "Undo" button to the summary window. The caret is now positioned at the first change. If there is a selection, this tool now operates on just the selected text.
  • The "/attach" command line switch now supports unicode.
  • The texture_file_to_url() function now supports many different image file formats (pcx, tga, tif, webp, jp2, jxr) but will convert to PNG if the format does not have universal browser support.
  • Send Summary: the total number of errors in the Success/Failure Script is now reported.
  • Operation History/Send: this now reports the number of emails that were aborted.
  • Recipient File/Exclusion File/Attachments: the "Preview List" tool now has Copy/Save/Print/Exit buttons.
  • HTML Editor: Validate CSS: a warning is now reported if a property is experimental or deprecated.
  • Template Designer: the Font and Title Font fields now have a button for appending a font from the drop-down list. Also, the Title Font field is now controlled by a checkbox.
  • Preview Window: Verify Attachments: this now reports the total number of emails and attachments, and the total size of all attachments.
  • External HTML Editor: added the "Full path on caption" option to the Options menu.
  • If the imap4_move() function cannot find the specified folder, it will now helpfully log all folders in the IMAP4 account.
  • The mailbox_count() function now supports SSL/TLS.
  • Graphs (tracking, Send Summary): the Lines, Pearls, Diamonds, Curves, and Solid appearances now employ anti-aliasing for improved quality.
  • HTML Editor: Stock Format: applying the "Normal" stock format when there was no selection was only applying it to the word surrounding the caret. Now it will affect the parent element.
  • HTML Editor: Image Link Map: if there is an "Entire" shape, it is now automatically moved to the bottom to ensure that it only acts as a last resort fallback.
  • Test SMTP: for Gmail, the log now reports that the test is doomed if the authentication is not OAuth.
  • DKIM/DomainKeys: the "Test" tool now provides a better error message in the case where the public and private keys do not agree.
  • Scheduler: Open Project: if there is an instance with no project open, it will open the project rather than starting a new instance.
  • The "Attachments" Pseudo-Project label must now be in UTF-8.
  • Tracking: Distribute Leads: the Staff and From fields now support unicode.
  • HTML Editor: the tab key now inserts 4 spaces rather than moving focus to the next control.
  • The Send Scripts and Incoming Scripts will now remember which tab is active between sessions.
  • Improved the appearance of group-boxes. The corners are now anti-aliased.
  • GM will now refuse to start if the "My Documents" folder does not exist.
  • Fixed: if a Remove Operation during an Incoming Operation was encountering a locked file, the statistics for total errors and removal successes were incorrect.
  • Fixed: External HTML/Text Body: when specifying the utf-16 character set, and the file contains no Byte Order Mark, the email was corrupted.
  • Fixed: a failure to establish an SSL connection could result in "ERROR code 8: Data fetch failure" instead of the more appropriate "ERROR code 13: Failed to establish SSL".
  • Fixed: when a Send Operation is started, the Progress Window was showing nothing until the first email was fully built.
  • Fixed: HTML Editor: Style Editor: the Font-Family field was not being applied correctly (since 58.0).
  • Fixed: the imap_move() G-Merge function will now work correctly if the folder has a space in the name.
  • Fixed: when a Simple-Merge Recipient Column contains multiple email addresses, the Success and Failure Scripts were only correctly recovering the column values for the first recipient.
  • Fixed: if the Scheduler was terminated and restarted while a task was running, the task became unable to communicate its progress to the Scheduler.
  • Fixed: scheduler.exe was crashing on Windows 7 during bootup (special thanks to Brad Konia).

New in Gammadyne Mailer 61.0 (Mar 8, 2021)

  • The mailing list is limited to 100 recipients.
  • There is a limit of 50 Send Operations and 50 Incoming Operations.
  • The Tracking feature is disabled.
  • The "Send Preprepared Emails" and "Check Blacklisting" tools are disabled.
  • The "Write Email To Files" feature is disabled.
  • The "Begin With Recipient" and "Send Only To Range Of Recipients" options are disabled.
  • Third party programs cannot use GMCOM.DLL.

New in Gammadyne Mailer 60.0 (Nov 4, 2020)

  • Added SMTP/POP3/IMAP4 support for OAuth authentication for Microsoft servers.
  • Added SMTP support for OAuth authentication for Gmail.
  • Added the ability to specify a range for the Universal Domain Throttle Count and/or Period. The range specifies what the value should be at the beginning and end of the mailing list, and for each recipient, the value will be somewhere in between depending on their position in the mailing list. This can be used to gradually "warm up" the SMTP server's IP address.
  • Recipient File: added support for specifying the URL of a mailing list on your website.
  • Resume Send: if the Send Operation was tracked, the resumption will now accumulate tracking stats on the original campaign instead of creating a new one.
  • View In Browser: added support for internal HTML images. The images will be automatically uploaded to the FTP server, and the <img> tags in the uploaded HTML Body will be converted accordingly.
  • Tracking Report: when there are multiple subjects, the actual subjects are now listed on the report.
  • Suppression files are now copied into a temporary database file during a Send and Incoming Operation. This greatly reduces the amount of memory used and reduces the likelihood of an "out of memory" crash.
  • Preview Window: the "Test Send" tool now allows you to specify how many test emails will be sent. Previously, one email was sent for every recipient.
  • Backup Database: if the database file cannot be automatically located, the user is now given the chance to locate it manually.
  • The "Preview Limit Reached" warning window now provides an option to change the Preview Limit.
  • Constructed Attachments: added support for unicode in the filename.
  • Spell Check: added a tool for looking up the word in a dictionary.
  • Added a "Edit HTML File" tool to the File menu. This allows you to edit an external HTML file that is not inside the project.
  • View Result Set: it is now possible to "drag-select" a range of rows quickly. Move the mouse cursor to the "#" column of the first row. Press and hold the left mouse button. Move the mouse up or down. You will see rows being selected. If the mouse is at the top row, the table will automatically scroll up. Likewise, if the mouse is on the bottom row, the table will automatically scroll down. Release the left mouse button when you have reached the last row that you wish to select.
  • HTML Editor: Insert Image: the width, height, and border width are now assigned to the style and not just the attributes. This is important because the style overrides the attributes. Previously, if the style was present, changes on the dialog would have no effect.
  • HTML Editor: Paste Image: added a "Match Width Of Selected Image" option to the Resize Image window. This will appear if an image is selected for being pasted over, which is useful when replacing a template placeholder image.
  • HTML Editor: Paste Image File: if an image is selected for being pasted over, the new image's width will now match the old image.
  • The "Resume Send" tool is now compatible with the "Only Send To Range Of Recipients" option.
  • The "Test Send" tool is now compatible with the "View In Browser" option.
  • Import Suppressions (to database): this will now ignore addresses that are already suppressed. Previously it would import a duplicate.
  • Added the remember() G-Merge function. This allows the Send Script to set a variable that can be used by the Success/Failure Script.
  • Tracking Report: Recipient Table: added a column containing the links clicked. Using the Filter, you can now build a list of all the recipients that clicked on a particular link.
  • View In Browser: added a "Test" button that will login to the FTP server, look for the folder, and report any problems.
  • HTML Editor: added support for pasting a .jp2 image file. However, it will be converted to .jpg since most email clients don't support the JPEG2000 format.
  • When clicking on a control that is disabled because of an unchecked checkbox, the checkbox will flash briefly.
  • The "Exclude Domains" setting is now enabled by default for new projects, and is pre-populated with some common domains to avoid.
  • Templates: added the "Three column, image/text" Section type.
  • Single Send: when using a database or CSV file, the "Value" column will remember its contents from the last time the Single Send tool was run.
  • HTML Editor: Image Properties: added the ability to specify padding between the image and the border.
  • HTML Editor: Insert Button: added the ability to change the vertical padding.
  • HTML Editor: Insert Pie Chart: added the ability to hide the numerical values on the generated pie chart.
  • External HTML editor: added an "Enter Subfolders" option to the "Validate Folder" tool.
  • SMTP Servers table: added a tool to print the table.
  • Suppressions: Calculate Hash: added an "Add To Database" button.
  • Send Summary: the "View Successes" and "View Failures" tools now support unicode.
  • Test Send: when using the "First n Recipients" mode, rejections will no longer count against this number.
  • Test Spam Score: this no longer reports a penalty when the From: header is "<user>", which has a special meaning.
  • Tracking: a language code with an unknown sub-language is now handled gracefully.
  • HTML Editor: if an image is selected, the context menu will now show the "Image Properties" tool when opening the context menu from the toolbar. Previously, this menu option was only visible if the image was right clicked on.
  • Added the -RecipientIndex- predefined variable. Unlike -Index-, it counts rejections.
  • Upgraded SQLite from 3.25.3 to 3.33.0
  • Preview Window: Recipients List: holding down the Shift key while pressing up/down will now extend the selections to the previous/next recipient. Also, Ctrl+D is now the hotkey for "Deselect All".
  • View Attachments: added support for .jp2 images.
  • Several improvements to soft-bounce detection.
  • Verify Links: this will now test <link> elements.
  • Template Designer: the "Font" field now has a tool for browsing for a font.
  • The default HTML body now uses a <div> instead of <p> because later inserting a <div> inside a <p> is problematic.
  • Import SMTP Servers/Incoming Servers: when choosing the "CSV data in clipboard" option, this now supports a CSV file that was copied to the clipboard. Previously, it only worked on raw CSV data in the clipboard.
  • Test Spam Score: removed the "Click To Trust" button. The sample email is no longer restricted in any way.
  • Added a help file chapter on List Management.
  • Operation History/Incoming: this now reports the number of emails that did not meet the criteria.
  • The Operation History no longer creates an entry if there is an error that prevents the Send Operation from starting.
  • Pseudo-Projects: the ExplicitAttachmentUTF8 field now supports UTF-8 in the filename of the attachment.
  • Suppressions table: added a "Paste" button.
  • Tracking report: the Subject section now calculates the average interest by dividing by the number of opens, not the number of recipients. This matches how it is calculated on other parts of the report.
  • When the menubar has focus, pressing a letter will now open the menu with the corresponding hotkey. The menubar will give up focus if a function key or the tab key is pressed, or a control is given focus. (since 59.0)
  • The "Custom Set Statement" Removal Method now supports unicode.
  • SMTP Servers table: added buttons to rearrange the rows.
  • Follow-Ups table: added support for copying and pasting rows.
  • HTML Editor: the "Customize Toolbar" tool now also appears on the "Options" submenu of the WYSIWYG editor's context menu.
  • Added the "Seraph" skin.
  • The "Use CSV File For Mailing List" wizard now supports unicode in the CSV filepath.
  • Template Designer: Export To HTML: file details are now reported, and there are buttons to open the export file or explore its folder.
  • Analyze Database: the searchability of each data type is now reported.
  • Added the -ElapsedSeconds- predefined variable to the Post-Send Script.
  • Verify All Addresses: the log now supports unicode.
  • Preview Window: removed the labels at the top of each tab, allowing the content to completely fill the area.
  • SMTP Servers table: added a context menu tool to shuffle the rows.
  • Email Viewer: View Attachments: if a text attachment has no hyperlinks, it will not be converted to HTML as there is no advantage to doing so.
  • Domain Throttles: added buttons to the bottom of the table that will move the selected row up or down.
  • Tracking Report Settings: this window will now remember its position and the selected tab.
  • The "Email Send Log To" and "Email Summary To" features can now tolerate extra whitespace when determining the Sender.
  • The "Close log between repetitions" option is now checked by default for new projects.
  • The "Login with user name & password" checkbox has been replaced with a combobox named "SMTP Authentication".
  • Improved the mouse-over effect of transparent buttons that are inside an editbox's interior.
  • The Attachments branch will now remember which tab is selected between sessions.
  • Check Blacklisting: removed the dynip.rothen.com and orvedb.aupads.org blacklists.
  • Fixed: one minor memory leak and one minor GDI resource leak.
  • Fixed: HTML Viewer: the balloon popup was not always disappearing when scrolling.
  • Fixed: the "Periodically Send Copy" option was not ignored during an Auto-Response or Forward-To-All as documented.
  • Fixed: the Simple Send tool now ignores the "Wait Until" project setting.
  • Fixed: the Incoming Log was failing to properly list the Criteria keywords (since 59.0).
  • Fixed: when the Attachment filename contained unicode, Content-Type auto-detection was not working.
  • Fixed: Tracking: Estimated Opens was calculating as 0 if "Links Clicked/Unopened"=="Emails With 1+ Links Clicked".
  • Fixed: HTML Editor: Insert Button: the caret was not being positioned correctly in some situations.
  • Fixed: if the Resume Send tool is launched a second time, and a database is being used with "Store Successful Send Date" enabled, the resume was beginning at a row index rather than at the date when the original operation stopped.
  • Fixed: HTML Viewer: the horizontal line graphical glitch has been mitigated by redrawing the browser shortly after scrolling.
  • Fixed: Test SMTP Servers: when reporting an error, focus was not given to the correct cell in some cases.
  • Fixed: a Send Operation that is aborted after all emails have been built but not finished sending was not registering as aborted, which was preventing the Resume Send tool from working.
  • Fixed: OAuth-Gmail authentication could fail on some firewalls (rare).
  • Fixed: tracking report: the Domains section would list the same domain more than once if the only difference was upper/lower case.
  • Fixed: View Result Set: the Duplicate Row tool was causing all rows below it to be considered "changed". Although this was not causing data loss, it was unnecessarily saving all of those rows back to the database.
  • Fixed: TLS can no longer hang its thread if the server doesn't send data when expected to. TLS will now obey the socket's timeout.
  • Fixed: HTML Editor: Paste Image: if an image is selected, it would first appear to overwrite the pasted image. However, going to the Raw or Preview tab and then back to Edit, the old image would reappear below the pasted one.
  • Fixed: HTML Editor: Insert Hyperlink: this was failing if an image was selected.

New in Gammadyne Mailer 57.1 (Aug 6, 2019)

  • Email Viewer: the Raw HTML tab now has a Validate HTML tool.
  • Simple Send: when pasting a JPG file that has an EXIF rotation, the image will be converted to an unrotated PNG to ensure that it appears right side up in all email clients.
  • Simple Send: added support for <img> tags that specify a filename in UTF-8.
  • Attachment Viewer: when viewing a single RTF file, it will now take up all the height that the window can give it.
  • Check Blacklisting: removed the bl.emailbasura.org blacklist which is no longer active.
  • Fixed: Templates: Buttons: in the HTML Editor, it was not possible to edit the text in a button.
  • Fixed: HTML Editor: Insert Button: after inserting the button, it would not respond to clicking or selecting with the mouse. Only with the arrow keys could you get in to edit the text.
  • Fixed: upon completing any wizard where an internal database is chosen, the internal database wizard was inappropriately starting.
  • Fixed: the "Add Record" tool was not saving binary columns correctly.
  • Fixed: sometimes the window could not be minimized, or would become inappropriately unminimized.

New in Gammadyne Mailer 57.0 (Jul 30, 2019)

  • Added a tool that compresses the HTML body without altering its appearance. This typically reduces the size of the HTML code by 15-30%, which speeds up the mailing and reduces bandwidth.
  • Added the ability to use a Suppression List in a database, which is important for very large lists.
  • Added the "Backup/Recover Internal Database" tool to the Database menu.
  • Tracking Report: the number of successes and failures for the entire campaign are now reported. This includes untracked emails.
  • Tracking: the email addresses that are transmitted to the Gammadyne email tracking server are now encrypted. This prevents your mailing list from being exposed to an eavesdropper.
  • Lookup Recipients: this can now perform multiple lookups at one time.
  • Added the "Connection Timeout" setting to the Database/Setup branch.
  • Added a tool to import email addresses into a Suppression List. There is now an "Import" button at the bottom of the table.
  • Templates: added the ability to put a LinkedIn link on the caption.
  • S/MIME: when taking the signing certificate from the Windows Certificate Store, this will now look for the certificate with the latest expiration date.
  • The "Bar Drawer" control now allows the bar to be horizontally scrolled if the tab labels are wider than the control.
  • Tracking Report Settings: added an option to limit the number of countries on the report.
  • Simple Send: Insert Image: if the image file is a rotated JPG with an EXIF Orientation tag, the image will now be converted to an unrotated form. Because some email clients do not support EXIF tags, this ensures that the recipient will see the image right side up.
  • Simple Send: Paste Attachment: the "JPG Quality" window now displays the JPG size and updates it whenever the quality is changed.
  • Added support for images with unicode filenames when Image Locality is "Both".
  • S/MIME: the "Test" tool this will now report if the certificate is expired or not yet valid.
  • Send Summary Graph: added the "Curves" appearance type, which is now the default.
  • When editing the External HTML Body, if the path to the .HTM file contains unicode, the editor can now display images that are in the same folder as the .HTM file.
  • Email Viewer: added the ability to drag and drop attachments.
  • Tracking Report: the Mailing Duration stat is now for the entire campaign, not just for the emails that were tracked. Without this, the Emails Per Hour stat is inaccurate when Spread Tracking is enabled.
  • Import CSV Data To Database: this can now detect the separator character (commas, semi-colons, tabs, or vertical bars). Previously, only commas were supported.
  • S/MIME: added the "Manage" button, which launches the Windows Certificates Manager.
  • Internal Database Wizard: if an existing database is chosen, the user is now prompted for the Table Name, Recipient Column, Primary Key, and Removal Method.
  • Operation History: this now reports the number of recipients who were rejected because they were removed.
  • HTML Editor: Verify Links: it is now possible to abort an individual thread. Improved performance.
  • Forward To All Recipients: this now removes the CC:, Return-Path:, and Received: headers.
  • Validate HTML: this now detects if there is exactly 1 <html>, <head>, and <body> element. Also, the total number of errors and warnings is displayed.
  • Mobile Preview: the zoom of the preview is now smaller, as it would be on a mobile phone. Also, there is now an Exit button.
  • Templates: Content: added an option to have a row of three buttons.
  • Check Blacklisting: this now logs blacklists that do not respond properly or at all. Also, if the user never changes the list of blacklists, the list will be automatically updated to a new default in future releases.
  • Insert Column: when using Simple-Merge, if the chosen column has the {d} suffix indicating that it is a date, the user is now prompted to choose a date format.
  • Send Prepared Emails: if S/MIME signing is enabled, and the preprepared email is already signed, the old signature will be stripped before adding the new signature.
  • Tracking: Record Name/Company: unicode characters are now supported.
  • Auto-Start Project: the "User Name" field now has a drop-down list of all user account names on the system.
  • Tracking Report: the "Recipients Table" window will now remember its position, column widths, and preferences.
  • The Regex Tester tool will now remember its window position, preferences, the Regex, the Subject, and the Case Sensitive option.
  • Spell Check: pressing the Enter key when the Misspelled Word field has focus is now equivalent to clicking the Change button.
  • Tracking Password: added a "Forgot" button that launches the Retrieve Password tool.
  • The Send Summary now includes the total number of Delayed Retries that were successful. If a Send Operation is aborted, the Send Summary now reports the number of Delayed Retries that are still in queue.
  • Direct Delivery + Delayed Retry + Preview: the log summary was before the Delayed Retry phase. Now there is a second summary after Delayed Retries.
  • Tracking Report: Recipients Table: added the Table Menu, Export To CSV, and Export To HTML tools to the toolbar.
  • Simple Send: the Text Body now allows the Tab key to insert tabs.
  • The HTML Body's Spell Checker will now skip over the <style> section.
  • Attachments branch: whenever a file is dropped, pasted, or browsed for, if the Attached Files Folder is empty, it will be set to the path of the file.
  • Tracking Comparison: this now reports the number of bounces if the Specify Bounce Count tool was used for either campaign.
  • Simple Send: numerous improvements to the default HTML template.
  • Wait Until: the wait is now performed after the Tracking confirmation prompt, not before.
  • Tracking Report: the Refresh tool now has a hotkey, F5.
  • Check Blacklisting: there is now a progress meter for the overall operation, not just for each thread.
  • Tracking Comparison: the list of languages is now sorted by usage rather than by name.
  • The "Attached Files Folder" now supports unicode characters.
  • Tracking: Specify Bounce Count: an error is now reported if you enter a number greater than the number of emails tracked.
  • The add_recipients() G-Merge function can now add to a Suppression List.
  • The "Auto-Start Project" and "Rename/Move Project" tools can now appear on the toolbar, although they are hidden by default.
  • Post-Incoming Script: added the -CensoredEmails- and -CensoredWords- predefined variables.
  • The email_send() G-Merge function will now produce an error if an attachment filename is bad syntax.
  • Send Summary Graph: the inner box between the data and the labels is now optional, and is hidden by default.
  • Send Summary Graph: the mouse hover balloon has changed from a simple rectangle to a rounded rectangle with a triangular tip.
  • Tracking Graphs: the graph appearance now has a dark border along the top, and is a lighter color.
  • HTML Editor: Insert Pie Chart: this now embeds the pixel data directly in the <img> tag. Previously, the <img> tag was referring to a temporary image file, however that file could get deleted before the mailing was sent.
  • When running a scheduled task, the prompt(), mw_ok(), mw_ok_cancel(), mw_ok_long(), and mw_retry_cancel() functions are now ignored since a scheduled task is supposed to run in the background with no user interface.
  • HTML Editor: the Image Properties window will now remember past filepaths in a drop-down list, the last browse path, and its window position.
  • Verify All Addresses: the editbox Undo tool can now be used to discard the addresses that were added to the Removal List.
  • Analyze Database: the report now uses unicode.
  • The uninstaller will now remove all Auto-Start projects.
  • The "/sx" command line switch will now close the Task Editor, if open. Previously, the Scheduler would not close until the Task Editor was closed manually. This benefits the installer/uninstaller.
  • Internal Database Wizard: an error is now reported if the user tries to create a new database but it already exists.
  • Schedule One-Time: the Project Filepath field now has a drop-down list of recently opened projects.
  • Welcome: Recent Projects: added a context menu button.
  • Suppression List table: files can now be dropped on the table. Added a "Paste Files" tool. The "Add" button now launches the Browse tool rather than creating an empty row.
  • Autorespond: Attach Original Attachments: this will now preserve the Content-ID header.
  • Progress Window: the entire area that contains the progress meters will now respond to the mouse wheel.
  • It is now possible to enter gm.exe into the "Run" system dialog (Win+R) without a path.
  • Export Tracking Data: the summary now reports the filename and path of the export file, and has an "Explore" button.
  • View Result Set: for a certain type of error, this now advises the user to use the MySQL Unicode ODBC driver instead of the ANSI driver.
  • Welcome: Recent Projects: added a "Copy Filepath" tool.
  • The Suppressions feature now has its own branch, under the Filtering branch. The Exclusions branch has been moved under the Filtering branch as well.
  • If "Use System Address Book" is unchecked, the controls below it are now hidden.
  • Unicode surrogate pairs encoded in UTF-8 are now supported in the Email Viewer.
  • The "Single Send" tool now ignores the "Repeat Send" setting.
  • The "Test Send" tool now ignores the "Email Send Log To" setting.
  • The "Sound Alarm On Error" and "Sign With DomainKeys" options are now hidden when Hide Advanced Settings is checked.
  • Check Blacklisting: removed the bl.spamcannibal.org blacklist which is no longer active.
  • The uninstaller's data files are now kept in a subfolder rather than the main folder.
  • The "Send Preprepared Emails" tool has been renamed "Send Prepared Emails".
  • Fixed: the Clipboard Inspector could display all zeros in the hex data for unsupported data types.
  • Fixed: copy/paste could fail if another window has the clipboard open. Now it will retry many times over a brief period.
  • Fixed: when printing the help file, the chapter on G-Merge functions was truncated after the date_format() function.
  • Fixed: the "Send Delayed Retries" tool now ignores the "Wait Until" setting.
  • Fixed: Tracking Report: in the Links section, a URL was sometimes appearing inside quotes.
  • Fixed: Single Send: if "Send To Last Recipient Only" is checked, Preview Emails would be enabled even if unchecked.
  • Fixed: Test SMTP Servers: the negotiated SSL cipher was not logged when using port 465 and an error occurs.
  • Fixed: Send Prepared Emails: when signing with DomainKeys, this now takes care to not include certain problematic headers that can change and thereby invalidate the signature.
  • Fixed: View Result Set: Delete Column: this will no longer fail on SQL Server if the column has a "default value constraint".
  • Fixed: Database Wizard: when selecting an Internal Database, the database name field was not being validated, the Browse button did not go to the right folder, and the Explore button was non-functional if no path was specified.
  • Fixed: Insert Column/Variable/Function: this was selecting the inserted tag when the global "Select After Paste" option is checked.
  • Fixed: View Result Set: Create Column: it was possible the default value was not being stored in each row of the new column.
  • Fixed: Direct Delivery: the Failure Summary was not counting failures of a CC or BCC.
  • Fixed: Tracking Report: the Forward Details was not showing non-ASCII characters properly.
  • Fixed: a scheduled "Send Prepared Emails" operation was not always reporting a correct progress or time remaining.
  • Fixed: unminimizing on a secondary monitor was moving the window to the primary monitor.
  • Fixed: Automatically Parse Images, Make Styles Inline: HTML attributes containing a quote were surrounded with quotes rather than tick marks.
  • Fixed: View Archive: View Attachment: text attachments were not word wrapping.
  • Fixed: error when saving project to Google Drive.
  • Fixed: when editing the External HTML Body, it was possible that an unwanted <base> tag could be inserted into the <head> section. Special thanks to Julien Comellas.
  • Fixed: Send Log Filepath: non-ASCII characters were not being correctly imported from old projects (56.0 only).
  • Fixed: S/MIME signatures were possibly failing verification on Thunderbird.

New in Gammadyne Mailer 56.0 (Mar 18, 2019)

  • Validate HTML: this now uses an internal validator instead of the W3C online service. Our validator is more useful in the real world as it will not complain about features that the W3C considers deprecated but will still be supported for the foreseeable future. Also, it allows you to jump directly to where a warning or error occurred.
  • Added the "Auto-Start Project" tool. This allows you to configure the system to launch a Gammadyne Mailer operation automatically when the computer boots up.
  • Added the ability to specify the number of bounces that occurred, and have it appear on a tracking report. Generate the report and choose "Specify Bounce Count" on the Tools menu.
  • Added the "Add to Suppressions" Processing Mode.
  • Tracking Report: Recipients Table: added the ability to filter the rows of the table (hiding rows that do not contain some specified text).
  • The WYSIWYG HTML Editor's toolbar now has two rows, and many more icons. There is a "Reset toolbar: simplified" tool on the right click menu that will restore the toolbar to its old configuration.
  • The "Automatically Parse Images" feature, as well as HTML preview, now support many additional circumstances with regard to Image Locality, unicode characters, percent encoding, subfolders, and the <BASE> tag.
  • Incoming: added support for decoding S/MIME encryption and attached signatures.
  • Added support for TLS 1.3
  • Add Record: the "Value" column is now pre-populated with the default values for each column.
  • It is now possible to schedule the "Send Preprepared Emails" tool.
  • S/MIME now offers an option to take the signing certificate from the Windows Certificate Store. Previously, the certificate had to be located in a file.
  • Constructed Attachments: the attachment contents now supports unicode.
  • Tracking Report: the City and State now support unicode.
  • Check Blacklisting: this now performs 16 checks simultaneously, which greatly speeds up the operation.
  • Auto Image Dimensions will now work if Image Locality is "External" and the image URL is relative to the <BASE>.
  • Auto Image Dimensions will now work if Image Locality is "Both" and the image URL is relative to the Content-Location.
  • Make Styles Inline: this now handles auto-closing elements properly.
  • Insert Column: if the chosen column is a date column, the user is now prompted to choose a date format.
  • HTML Editor: added a "Font Size" drop-down selector.
  • View Result Set: added a "Rename Column" tool, although some databases don't support it.
  • HTML Editor: Image Properties: added the ability to change the border color and style.
  • Analyze Database: this now reports the default value for each column.
  • Tracking Report: Report Settings: added an option to limit the number of Platforms displayed on the report.
  • HTML Editor: on the Raw tab, there is now an option to hide the toolbar.
  • Tracking Report: added a "Refresh" tool.
  • When right clicking on an .EML or .MSG file in File Explorer, Gammadyne Mailer is now listed on the "Open With" sub-menu.
  • View Archive: added an option to hide the headers.
  • Added the "CSV File" wizard to the Wizards menu.
  • Edit External HTML Body: added a "Spell Check Folder" tool, which runs a Spell Check on every HTML file in a folder.
  • Create Table: on the window that reports the table was created successfully, there is now a button for creating more columns.
  • Send Preprepared + Direct Delivery: added support for multiple addresses in the To: header.
  • Send Preprepared: there is now an "Overall" progress meter for the whole operation.
  • Process G-Merge Inside Attachments: this now supports UTF-8 if there is a UTF-8 Byte Order Mark present.
  • Single Send: this now ignores all settings on the Filtering branch.
  • HTML Editor: Insert Button: there is now a field for setting the button's horizontal padding.
  • View Archive: added a tool that pastes emails into the archive.
  • Insert Column: on the "No Database or CSV file specified" error window, there are now "Setup Database" and "Setup CSV" buttons.
  • View Result Set: Filter: when an invalid regular expression is specified, there is now a detailed error message.
  • Troubleshoot HTML: added detection of illegal character encodings in an image URL.
  • View Result Set: Filter: Advanced mode: added support for the "|" operator.
  • Tracking Comparison: the list of Platforms is now sorted by usage rather than being alphabetized by name.
  • HTML Editor: Import CSV As Table: if the caret is already inside a table, the CSV data is imported into the existing table.
  • Pseudo-Projects: added the "TestSMTP" label, which controls if the SMTP Server is tested before the Send Operation begins.
  • View Result Set: Create Column: the "Default Value" field now supports unicode.
  • HTML Editor: Verify Links: added support for URL's that contain unicode.
  • Autorespond: Attach Original Attachments: this will now preserve the Content-Type header's media type, which helps ensure that the attachment is opened with the correct application.
  • Analyze Database: this now reports if each data type can hold a null value.
  • Behavior change: if the "Character Set" setting on the Text Body branch is unchecked, the character set will now default to the operating system setting. Previously, no character set would be specified at all, which by the MIME standard defaults to US-ASCII, which does not define codes 128-255. This change ensures that the recipient sees what you see.
  • Constructed Attachments: added the ability to rearrange the order of the attachments.
  • Added the "/sx" command line switch, which instructs the Scheduler to exit gracefully as soon as there are no running tasks.
  • Added the str_find_any() and str_remove_find() G-Merge functions.
  • Locate Mail Server: Copy Report: this now includes SPF and PTR records.
  • Upon checking the "Use Internal Database" box for the first time, the user is now asked if they want to create a new database, or use an existing one. When creating a new one, the "Create Table" tool will launch immediately.
  • HTML Editor: Insert Pie Chart: added a tool that displays a preview of the pie chart.
  • Welcome: if the Recent Projects List has two projects with the same filename, now both of them will be listed by their full filepath, not just the second one.
  • Welcome: Delete Project: the file is now moved to the Recycle Bin instead of being permanently deleted.
  • Tracking Campaigns window: cells in the Expires column are now highlighted if the campaign expires within a week.
  • Scheduler: Edit Task: the "Project Filepath" field now has a drop-down list of recently opened projects.
  • HTML Editor: when opening the toolbar's Font Face drop-down list, the current font will now be pre-selected.
  • Single Send: View MIME: added "Copy", "Save", and "Exit" buttons to the bottom.
  • HTML Editor: Insert Hyperlink: this now tolerates leading and trailing whitespace, which will be removed.
  • Post-Incoming Script: added the -AttachmentStripped- and -AttachmentsStripped- predefined variables.
  • Constructed Attachments: if an attachment's filename is illegal syntax, an error is now reported in a popup window.
  • Added a help file chapter on the "File" menu.
  • Numerous improvements to the "Suppression Lists" table and its tools. Rows can now be rearranged.
  • Database Wizard: Internal Database: there is now a drop-down list populated with recently used databases.
  • Clipboard Inspector: numerous improvements.
  • The Internal Database's Browse tool will no longer prompt you if you choose an existing file. Also, it will strip the path if the file is in the default folder, and will strip the extension if it is the default.
  • Check Blacklisting: this now avoids the operating system's DNS cache in order to obtain up-to-date information.
  • Simple Send: added the "Encoding" column to the Attachments tab.
  • Simple Send: Import From File: this will now preserve the character set of each attachment.
  • Write Email To Files: added an "Explore Folder" button.
  • Connection String: Browse: added a "Help" button to the "Choose ODBC Driver" window.
  • Tracking Report: added the "View" and "Tools" menus. Some tools from the File menu have moved there, and added other tools that only appeared on the toolbar.
  • Troubleshoot HTML: this no longer logs the text that came before the erroneous HTML tag.
  • Performance Statistics now includes the average DNS query time.
  • The Send Summary now includes the total number of Immediate Retries that were successful.
  • Import CSV To Database: there is now an error message if the same database column is specified more than once.
  • Progress Window: the Overall meter will now be hidden if it is known that there is only one recipient in the mailing list.
  • The Send Log Filepath field now supports unicode.
  • The interface now supports mouse tilt wheel.
  • The "Button Drawer" control now has an animation effect when switching tabs.
  • Tracking Report: Recipients Table: added support for unicode in the City and State columns.
  • Tracking User: added the "Create" button.
  • Test Send: this now ignores the "Email Summary To" feature.
  • The "Count Recipients" box is now checked by default.
  • The Detect Broad Mail Systems option is now hidden if Hide Advanced Settings is checked.
  • Removed the "Login to POP3 server" authentication method for SMTP. This feature has been obsolete for 10+ years.
  • Fixed: S/MIME: the "Obtain" button was going to a web page that no longer exists.
  • Fixed: Help: Print: some hyperlinks were not followed by the page number.
  • Fixed: when using Image Locality = "Both" and an image has no remote counterpart so it must be embedded, the image might not appear in some email clients including Thunderbird.
  • Fixed: if a database connection times out, it was then timing out a second time except without running the hourglass animation and freezing the main thread (since 54.0).
  • Fixed: HTML: an image with the same number of characters in its filename as an earlier image could become a copy of the earlier image if there are unicode characters in the filename.
  • Fixed: View Archive: S/MIME verification was not verifying the entire certificate chain.
  • Fixed: Test Spam Score: this would fail with a cryptic error if "Build Text Body From HTML" is checked but there is no HTML Body. Special thanks to Stewart Berry.
  • Fixed: HTML Editor: Undo was not working correctly for Delete Table Row and Insert Table Column.
  • Fixed: Locate Mail server: if a PTR record could not resolve to an IP address, the error message was incorrect.
  • Fixed: Suppression Lists: Calculate: Add To File: this was not obeying the "Ignore" column.
  • Fixed: the Scheduler's Abort button was not working if the task was in the Delayed Retry phase.
  • Fixed: Simple Send: after clicking "Send Another", any attachments present for both sends would be duplicated.
  • Fixed: rare crash when right clicking on an editbox.
  • Fixed: unnecessarily high CPU usage when Auto Image Dimensions or Shrink Images is enabled.
  • Fixed: inability to send email when using DIGEST-MD5 authentication and the server advertises support for qop=auth-int (since 55.0). Special thanks to Dave Gorman and AuthSMTP.com

New in Gammadyne Mailer 55.0 (Dec 3, 2018)

  • There is now an internally managed database. This allows you to keep the mailing list in a database without having to install and maintain a third-party database.
  • Verify All Addresses: added a new "Shallow" method that only verifies that the recipient's mail server exists. This makes the tool usable, as the old method (now referred to as "Deep" verification), was basically worthless.
  • Added the "Boundless" template.
  • Tracking Report window: added the "Recipient Table" tool, which displays all of the recipient data in a table. This makes it easier to examine the recipient data, and allows you to sort them on any column.
  • Delayed Retries and Preview Messages are now compatible, with one difference: once the Send Operation is complete, the Preview Window will not reappear showing failed emails.
  • It is now possible to prevent scheduled tasks from running simultaneously. Check "One task at a time" on the Options menu.
  • Direct Delivery and SMTP Encryption are now compatible.
  • Tracking: links with unicode characters in the URL can now be tracked.
  • Added the /var command line switch. This allows you to declare a variable. Any field that supports G-Merge can refer to this variable.
  • HTML Editor: added a toolbar to the Raw tab.
  • Spread Tracking: you may now enter the value "9999999" to spread the tracking out over the entire length of the mailing list.
  • HTML Editor: added a tool to insert a Pie Chart.
  • Incoming Summary: added a button that will display the list of processed email addresses.
  • Added the "Detect Broad Mail Systems" option to the Throttles branch. Uncheck this box to revert the Universal Domain Throttle to the pre-53.0 behavior.
  • Toolbars can now have more than one row of tools.
  • Recipient/Exclusion/Removal List: Import/Paste: any address that is already present will not be imported.
  • S/MIME: added a button to test the settings, and a button to obtain a free email signing certificate.
  • If S/MIME encryption fails because the recipient's certificate is not installed, now the message will still be signed regardless.
  • View Archive: the Search tool now offers support for wildcards and regular expressions.
  • Tracking Report: added the ability to limit the number of browsers listed on the report.
  • Wizards: added the ability to specify an internal database.
  • Wizards: added a "Create Table" button to the database table window.
  • Create Table: the recipient column is now indexed for performance.
  • The Send Preprepared tool now obeys the project's S/MIME settings.
  • Analyze Database: this now lists all of the table's indexes.
  • Regex Tester: added a "Case Sensitive" option.
  • Regex Tester: if the regular expression is invalid syntax, a description of the error is now presented.
  • Multiline editboxes: the block selection (Alt+Drag) is now compatible with most editbox tools.
  • Direct Delivery Possible: the result of the PTR record's resolution is now displayed. Also, a success/fail icon now appears next to each field.
  • Locate Mail Server: there is now an icon next to each PTR record that indicates if it is valid.
  • View Result Set: Add Row: the columns of the new row are now populated with their default value.
  • View Result Set: Create Column: added the ability to create a Primary Key.
  • Added the /ee command line switch, which opens an email file in an editor.
  • Operation History: the number of auto-response successes and failures are now reported.
  • Most windows now calculate their width as a factor of the interface font size. Previously they were a factor of the screen size. This ensures that windows are the optimal size, even when the font is very small or very large relative to the screen.
  • Tracking Comparison: the list of Browsers is now sorted by usage rather than being alphabetized by name.
  • Added the /sp command line switch. This runs the Send Preprepared Emails tool.
  • On the Tracking Login window, saving the password for next time is now optional.
  • The Scheduler can now gracefully handle a task that has crashed.
  • Tracking Campaigns Window: the View menu now contains the Hide Columns, Alternating Rows, and Row Dividers options for the table.
  • Added the incoming_get_body_unicode() and incoming_get_text_unicode() G-Merge functions.
  • Change Recipient Address + Simple Merge: this now supports compound email addresses in the Recipient Column.
  • HTML Editor: Insert Hyperlink: a bare domain beginning with "www." is now allowed.
  • Send Script: added the -RecipientRemoved- predefined variable.
  • It is now possible to disable the 54.0 feature where databases are opened in an abortable background thread by modifying the Locations.INI file. Also, the window with the Abort button now displays an animated hourglass graphic.
  • Send Summary: Pie Chart: the labels are now two lines, which allows the pie chart to be larger.
  • The Send Progress window now shows the progress of the "Processing Exclusions" phase, and will respond to the Abort button.
  • While running through a large mailing list of nothing but rejected recipients, the Send Progress window will now continue to update.
  • Suppression Lists are now processed after the Send Progress window appears so that the user knows what is going on.
  • Scanning a plain text mailing list is now 5.5 times faster. This is especially noticeable when using the Preview Recipients tool or the Count Recipients option.
  • Tracking Report: the recipient's compound email address now supports unicode.
  • Scheduler: added a button to end the grace period.
  • Rename/Move Project: there are now separate fields for renaming, moving, and both.
  • Tracking: we have switched to a newer, more extensive geographic-IP database, but unfortunately it does not have area code information.
  • It is now possible to abort an Auto-Response.
  • View Attachments: JPG images that specify an EXIF Orientation tag will now obey it, and appear with the proper rotation.
  • Single Send: Resize Image Attachment: for JPG's it is now possible to specify the quality.
  • Tracking Report: Export Section To CSV: the number of records exported is now reported, and there is a button to open the export file.
  • Improved how the TIME database type is handled.
  • Single Send: if a delivery error occurs, it is now reported in a popup window. Previously it was necessary to scan the Send Log to determine the cause.
  • Tracking: Report Settings: if no changes were made, the report will not unnecessarily refresh.
  • Added the %HTMLBodyPath% environment variable for the DOS Batches.
  • Create Database Table: a Primary Key is no longer mandatory.
  • Members Only: the Incoming Summary now reports the total number of emails that could not be verified for membership due to a missing or invalid From: header.
  • The log() function now allows multiple parameters, which are logged in succession. Also, the parameters are not required to be strings.
  • All of the dbe_xxx() functions now allow a blank connection string parameter, in which case it will default to the one specified in the project.
  • HTML Editor: it is now possible to put a "Font Face" combobox on the toolbar, although it is hidden by default.
  • View Result Set: Save & Exit now has a hotkey, Ctrl+Shift+S.
  • Troubleshoot HTML: now warns that only GIF, JPG, PNG, and BMP have universal support.
  • Validate HTML: the validator is now informed of the charset detected from the HTML meta tag, previously it always assumed UTF-8.
  • Rename Project: the "Project To Rename" field now has a drop down list containing all of the recently opened projects.
  • Regex Tester: added a Help button.
  • Welcome: Open Project: if the project doesn't exist, there is now a button to remove it from the list.
  • Import CSV To Database: there is now a button to clear a column mapping. Also, if the import file doesn't exist, an error is now reported rather than leaving the column mapping blank.
  • Welcome: when renaming a recent project that does not exist, an error is now reported immediately rather than letting the dialog appear.
  • Latch_html_unicode_until(): the "until" parameter is now optional, and the search for the "until" parameter is now case insensitive.
  • Welcome: there is now an icon next to the title.
  • Incoming Log: the "Final list of processed recipients" summary no longer omits recipients where the Incoming Script issued a [[disregard]] directive. Also, this summary now only appears once for the entire set of incoming mail accounts, rather than once for each.
  • Added a help file chapter on how to generate an HTML table from a database mailing list that contains multiple records per recipient.
  • Added a help file chapter on HTML Encoding.
  • S/MIME encryption: improved how the log reports the result of the encryption.
  • Single Send will now ignore the following settings: Append Rejections, Append Successes, Append Failures, Add Successfully Sent Recipients To Exclusions List, and Append Failures To Removals List.
  • Single Send no longer wastes time processing Exclusions and Suppressions. Auto-Respond no longer wastes time processing Suppressions.
  • Lookup Recipients: the drop-down entry for the Recipient Column now displays the column name.
  • Choose ODBC Driver: this now reminds you that the 32-bit ODBC driver is required. Also the help file and website are now more clear on this.
  • Troubleshoot HTML: images are no longer reported as missing just for having unicode in their URL.
  • Import CSV Data To Database: the filepath now supports unicode characters.
  • Bar Drawer: when changing folders, there is now an animation effect.
  • Calculator: added the "Convert Units" tool.
  • Added a "Copy File" tool to all File Specification controls.
  • Create Table: this now warns in advance if the database is read-only.
  • The term "Messages" has been deprecated in favor of "Emails".
  • Removed the "Canonicalize Extended ASCII" setting.
  • Fixed: HTML canonicalization will now properly encode characters 128-159. This went unnoticed for so long because most HTML agents are tolerant of the old behavior, though it was technically incorrect.
  • Fixed: tracked links that go directly to a .gif would not function as a hyperlink, nor track. .gif's enclosed in a hyperlink were not affected by this bug.
  • Fixed: Verify All Addresses: an out of memory error could occur for a large mailing list. The log is now kept in a file rather than memory.
  • Fixed: Firebird: database assignments to BOOLEAN columns were not working.
  • Fixed: Import CSV To Database: this will no longer try to import a blank CSV cell as NULL to a boolean database column.
  • Fixed: rarely, the Scheduler would glitch out if two tasks were running simultaneously.
  • Fixed: DIGEST-MD5 authentication did not support multiple QOP's.
  • Fixed: Progress Window: occasionally a thread's Abort button was inappropriately disabled.
  • Fixed: when running a pseudo-project with the /q switch, not all error messages were being suppressed.
  • Fixed: View Result Set: Add Row: if all columns were left empty, an error would occur under MySQL and SQL Server.
  • Fixed: the Simple Send tool was refusing to send another email to the same recipient after clicking "Send Another". Also, it was unnecessarily loading the Suppression Lists.
  • Fixed: S/MIME: emails formatted in a certain way could be signed or verified incorrectly.
  • Fixed: Make Styles Inline: this could cause an Out Of Memory crash for certain malformed emails.
  • Fixed: after running a database tool, changing the database configuration, and running another database tool, the database connection was not being closed and reopened. This could cause the second tool to operate on the wrong database.
  • Fixed: Eliminate Duplicate Recipients: when restarting the Send Operation from the Preview Window, the recipients that appeared on the Preview Window were being excluded as duplicates. Special thanks to Vijay Kumar.

New in Gammadyne Mailer 54.0 (Jul 23, 2018)

  • Tracking: added the ability to spread the tracking limit across the mailing list. Previously only the beginning of the mailing list could be tracked.
  • S/MIME: added the ability to encrypt outgoing emails.
  • View Result Set: Filter: added support for conditional expressions, such as "amount < 50".
  • Added the "Rename/Move Project" tool to the File menu. This not only renames/moves the file, it also synchronizes the change with the Scheduler, Operation History, Project Backups, and Recent Project History.
  • The Welcome Wizard is no longer a separate window. It now appears in the main window's interior when no project is open.
  • Tracking Report: added the ability to override the report title.
  • Simple-Merge: added support for big endian unicode files.
  • Database assignments to a unicode column are now truncated automatically to prevent a fatal error that occurs when the column cannot hold the entire string.
  • The Domain Throttles table can now be used to override the Universal Domain Throttle speed for the three big mail systems by specifying a special keyword in the Domain column: "gmail", "microsoft", and "yahoo".
  • Tracking: added the ability to export the tabular data (links, domains, browsers, platforms, countries, languages) to a CSV file.
  • Tracking Report: the custom copyright field now supports HTML code.
  • Single Send: the "Value" column is now populated with the default column values.
  • Forwarding: S/MIME signatures are now removed before forwarding. Better to have no signature at all than one that is invalid.
  • Added a "Context" button to the bottom right of various tables and editboxes.
  • When a database is being opened, if the connection cannot be made, rather than freezing Gammadyne Mailer, an abortable popup window will appear. This is especially important for SQL Server which may never timeout.
  • Recipient/Exclusion/Removal List: added a tool to deduplicate the email addresses.
  • Test Email: added a tool to compose the Test Email in an email client like interface.
  • Tracking: added detection of the Edge browser.
  • The Universal Domain Throttle is now hard-coded to detect the entire GMX mail system.
  • The "Add Record" tool now supports Simple-Merge mailing lists. Previously it only worked on a database.
  • HTML Editor: added a "Paste CSV As Table" tool.
  • Added a Speak tool to the HTML editor and HTML viewer controls.
  • View Attachments: added the ability to display CSV files.
  • Simple Send: Import From File: the HTML editor will now display embedded images correctly.
  • View Result Set: Create Column: added the ability to specify a default value for the new column.
  • Simple Send: Export To File: images that are pasted into the HTML body are now preserved inside the export file.
  • HTML Editor: Import CSV As Table: added support for CSV files that have a unicode byte order mark.
  • Analyze Database: the number of characters in each column is now reported. Improved how the column types are reported.
  • View Archive: when an email passes S/MIME, DKIM, or DomainKeys verification, there is now a visible "Lock" icon. Hovering the mouse over the icon will display a summary of verification.
  • Added the charw(), incoming_get_html(), and incoming_get_text() G-Merge functions.
  • Welcome: Create New Project: added a button that opens the video tutorials page on our website.
  • Scheduler: added a button that will extend the grace period.
  • Direct Delivery Possible: this will now warn if the PTR record does not resolve back to the IP address.
  • Added the "Regex Tester" tool to the Interface menu.
  • Added the /ev command line switch, which will display an email file.
  • Tracking Comparison: the Custom Copyright report setting is now obeyed.
  • Recipient/Exclusion/Removal List: Import Addresses: when importing from a database, this now supports multiple email addresses in a single cell.
  • The "Unable to determine external PTR record" error will no longer appear if "Test DNS Servers" is unchecked, or when using the "/q" command line switch.
  • Tracking Report: when the "Show Forward Details" option is enabled, the report is now re-downloaded since otherwise the forward data will not appear.
  • Operation History: the number of emails tracked is now reported.
  • The first time a tracking report is generated on a new computer, the account's report settings that are saved to the server will be downloaded.
  • HTML Editor: Customize Toolbar: this now allows most tools to appear directly on the toolbar rather than only in a drop-down menu.
  • Tracking Comparison: the countries are now sorted by number of opens.
  • Add Record: added support for unicode characters in the column data.
  • View Archive: added support for drag and drop of emails onto the table.
  • The tracking banner's width and/or height are now allowed to be 0 in which case it is automatic.
  • Numerous skin improvements.
  • Database: in numerous places, GM can now automatically reconnect a dropped ODBC connection. Also, numerous error messages now support unicode.
  • Tracking Campaigns window: View menu: added 3 tools for auto-setting the column widths.
  • Locate Mail Server: the priority of each mail server is now reported.
  • HTML Editor: Insert Hyperlink: this now allows a bare email address. Previously the mailto: prefix was required, now it is inserted automatically.
  • Incoming Sources Table: the "Import" tool now asks if you want to import from a project or CSV file.
  • Simple Send: the "HTML" menu will now display relevant options when on the "Preview" tab.
  • Added a help file chapter on the Operation History tool. Added a "Help" button to this window.
  • Import CSV Data To Database: added a "View Results" button to the summary window.
  • Custom Headers: when this window is closed, any syntax errors in the headers is now reported.
  • Tracking Report: improved the appearance of the "Simple" theme. Also, the "Map" link will no longer appear when printed.
  • View Result Set: Filter: added an "Auto-Complete" option. This is unchecked by default to match the old behavior.
  • View Archive: the size of the email is now displayed to the right of the Subject.
  • Added the csv_append2() G-Merge function, a more advanced version of csv_append(). It examines the first line of the file, and honors the byte order mark, separator, and type of newline. It will also produce an error if anything is wrong to protect against data loss.
  • Basic Template: added the "Left Icon" Section type. The "Add" button below the Sections listbox now inserts rather than appends.
  • HTML Editor: the context menu will now display the "Image/Hyperlink/List/Table Properties" option even if it was not opened by a right click.
  • Members Only: when using a database, the Recipient Column is now allowed to contain compound addresses.
  • Added a "Schedule" button to the bottom of the Send branch.
  • Members Only: this feature now allows both a Recipient File and Recipient List at the same time.
  • Post-Incoming Script: added the "-RemoveAlready-" predefined variable, which holds the number of recipients who were not removed because they had already been removed previously.
  • Added the %InstallPath% environment variable for the DOS Batches.
  • HTML Editor: no longer using the operating system Image Properties dialog to avoid a bug with inline images.
  • Raw HTML Editbox: added a hotkey for Paste Text (Ctrl+Alt+V) and Paste Unmodified (Ctrl+Shift+V).
  • Simple Send: Add Recipient: this is now careful not to add a duplicate address.
  • Recipient/Exclusion/Removal List: Import Addresses: when importing from a database, any email address that has the "!" prefix is now ignored.
  • If an incoming email has no HTML body, Gammadyne Mailer will no longer look for an HTML attachment to use in its place.
  • The Simple-Merge wizard now supports CSV files with a unicode byte order mark.
  • Mistakes in the Domain Throttles table will now produce a popup error.
  • The tracking login window, which only appears if the tracking information is not specified in the currently open project, will now remember the password.
  • The Expiration Date feature now generates an Expires: header. Previously it generated an Expiry-Date: header which is obsolete.
  • Test Spam Score: a hyperlink to an anchor within the email will no longer be spam-penalized as an illegal hyperlink.
  • Test Spam Score: a trailing period on a hyperlink will no longer cause a penalty.
  • Test Spam Score: <wbr> tags in the HTML body no longer cause a hyperlink to be penalized as illegal or misdirected.
  • Test Spam Score: all illegal hyperlinks in the Text Body are now reported, not just the first.
  • Members Only: the Incoming Summary now reports the total number of senders who are not members of the mailing list.
  • Remove Recipients: the log now supports unicode characters.
  • Attachments: Copy Files: added a "Keep Folder Structure" option. Previously, all the files were dumped in one folder without regard to subfolders.
  • Tracking Report: the View In Browser tool now appears on the File menu, and now has a hotkey: F7.
  • Tracking Report: added a "View Source" tool to the toolbar, although it is hidden by default.
  • Digest-MD5 authentication: added support for multiple realms and a rare QOP option.
  • Tracking Report: graphical images now use less memory with no loss in quality. This makes the report smaller and faster.
  • Added the -TotalTracked- predefined variable for the Post-Send Script.
  • Extract Text From HTML: added a Print tool.
  • View Result Set: the Delete Row tool now has a hotkey, Alt+Del.
  • View Result Set: Filter Settings: added a "Help" button.
  • Compose: Insert Button: improved the appearance of the shadow. It is now thinner, more blurred, and slightly tinted.
  • The "Convert Forwards To Text" option is now hidden when Hide Advanced Settings is checked.
  • Help: added the "Rectangle" Selection Mode, which is useful for copying columns of text.
  • View Archive: Copy Attachment/Open Attachment With: if the attachment has no extension, its Content-Type header is now used to provide a default.
  • Improved speed of the Strip Attachments feature and G-Merge functions that manipulate the incoming email.
  • The toolbar's size can now be adjusted by hovering the mouse over it, holding down the Ctrl key, and spinning the mouse wheel.
  • Preview Test Email: this window will now remember its position and preferences.
  • Added an animation effect when changing tree branches.
  • Added a help file chapter on A/B testing.
  • Import Addresses To Database: the "Import Compound Addresses" option is now remembered.
  • Domain Throttles: the "Load Defaults" tool now recommends to use the Universal Domain Throttle instead.
  • Data Source Name: the drop-down list no longer contains the names of drivers. Support for prompting was removed in 53.0 so these won't work.
  • The Customize Toolbar window now remembers preferences such as its position and the table column widths.
  • Fixed: Preview Window: the raw HTML editbox had some useless buttons along the bottom.
  • Fixed: the CC: and BCC: are now deduplicated to avoid a foolish error produced by Yahoo's mail server.
  • Fixed: Members Only: a sender can now be rejected via the Exclusions branch as documented.
  • Fixed: View Archive: when printing an email, the right and bottom of the document could get clipped.
  • Fixed: unable to send to an email address containing a quoted name that has unicode characters and a trailing comma or semi-colon.
  • Fixed: Import CSV To Database: was failing to report if a CSV file record has an incorrect number of columns.
  • Fixed: if an error occurs in db_set_unicode(), the error message was blank.
  • Fixed: the "Test HTML Images" feature was not correctly handling a redirect from http: to https:
  • Fixed: View Result Set: added a workaround for a bug in the Firebird ODBC driver that would cause numerous bogus columns to appear.
  • Fixed: Create Table: this can now create a correct Primary Key in a Firebird database.
  • Fixed: the Auto-Respond feature was insisting that a mailing list be specified, but there is actually no need for one.
  • Fixed: the Single Send tool was insisting that the mailing list not be empty, but this is irrelevant.
  • Fixed: a crash is now avoided when reading unicode characters from a VARCHAR column in a Firebird database due to a bug in its ODBC driver.
  • Fixed: the Locate Mail Server and Test Spam Score tools were not handling SPF records correctly.
  • Fixed: unable to start a tracked campaign if any hyperlink in the HTML Body contains a newline in the URL.
  • Fixed: database error when trying to use the Microsoft Text Driver with a CSV file.

New in Gammadyne Mailer 53.0 (Feb 12, 2018)

  • The Universal Domain Throttle has been redesigned. It can now detect broad mail systems that have multiple domains and IP addresses. The entire mail system will now share a single throttle. This is especially important when sending to domains that have their email service provided by Office 365 or Gmail. The improved method will result in better delivery success rates and less likelihood of blacklisting. However, it will also slow the mailing down considerably. This can be mitigated by increasing the throttle rate to the new recommended level of 1 email every 8 seconds. Previously there was one throttle per domain name, with no ability to recognize that two different domains were actually using the same mail system.
  • Tracking Report: the IP address, date, and location of each forward can now be reported. However, this information is not displayed by default because it slows the report download. It can be enabled on the Report Settings window.
  • Added the ability to cryptographically sign outgoing emails with the S/MIME standard. The recipient will be able to confirm that the email is authentic and unchanged.
  • View Result Set: Filter: added support for Regular Expressions.
  • Editbox: Search/Replace: added support for Regular Expressions.
  • View Archive: added the Filter Emails tool which will hide all emails that do not contain a given piece of text.
  • Simple Send: Zip Attachments: added the ability to encrypt and password protect the Zip file.
  • Repeat Send/Repeat Incoming: improved tolerance and recovery regarding transient DNS errors.
  • View Archive: added a toolbar.
  • Verify Links: added support for HTTPS links.
  • Tracking Report: the number of forwards now only counts unique IP addresses. Previously, all opens from any IP address other than the original counted as a forward.
  • Tracking: Report Settings: added a tool that allows you to reset all settings to the factory default, or load them from the tracking server.
  • Tracking Report: added the ability to put a copyright notice or other text at the bottom of the report.
  • Add Recipients: added "Paste", "Import", and "Find Illegal" buttons to the bottom of the email addresses field.
  • Template Designer: added the ability to export the current template's HTML to a file. This is useful if you want to edit the template in a third party editor. Previously it was only possible to copy the template into the project's Internal HTML Body.
  • Added support for images relative to the Embedded Files Folder that contain unicode characters in the filename.
  • Images that contain unicode characters in the filename will now preview correctly.
  • Added the /extract command line switch, which runs the Extract Addresses From Files tool but with no user interface.
  • Behavior change: the ODBC driver is no longer allowed to prompt the user to provide information that is missing from an incomplete Connection String, or for a user name and password. This information must be specified in the project.
  • Locate Mail Server: errors are now reported in a log at the end.
  • Basic Template: added variants of the "One Column, Left/Right Image" contents that utilize an image that takes up a third of the width rather than half.
  • HTML Editor: the "Insert Hyperlink" tool will now revert to the "Hyperlink Properties" tool if a hyperlink is already present.
  • View Result Set: dual column sorting is now optional. Also, the "Tab Thru Cells", "Alternating Rows", and "Row Divider" settings are now global rather than being specific to a particular database result set.
  • HTML Editor: Import CSV As Table: the user can now choose which columns should be imported.
  • HTML Editor: Insert Hyperlink: this now allows hyperlinks to an email address by specifying the mailto: prefix.
  • Repeat Send/Repeat Incoming: improved the way that a lost database connection is handled.
  • HTML Editor: Insert Button: the drop shadow is now optional.
  • Raw HTML Editor: the "Paste Text" tool will now create functioning hyperlinks anywhere it detects a URL. Also, it will no longer encode inside G-Merge statements.
  • View Attachments: added support for Rich Text (RTF) files.
  • Operation History: this now reports the number of rejected recipients for all Send Operations.
  • View Archive: added the ability to drag emails out of the table and into a folder in File Explorer.
  • Tracking Report: added the "View In Browser" tool to the toolbar.
  • Tracking Report: Save To HTML File: there is now a summary window with Open and Explore buttons.
  • Tracking Report: the colors on the World Map are now logarithmically scaled as too often there was one red country and a bunch of dark green ones.
  • Tracking Report: the tabular sections of the report now use the interest score as a tiebreaker for sorting.
  • Tracking Comparison: the links are now sorted by number of clicks.
  • Recipient/Exclusion/Removal List: when pasting files, the email addresses in the files are now extracted and deduplicated. Previously, all contents of the files were pasted as is, with no tidying up.
  • The Tracking Comparison now supports the custom banner setting.
  • Added the incoming_get_body() and color_saturation_scale() G-Merge functions.
  • Operation History: the tables now support dual column sorting, although this can be disabled.
  • Recipient/Exclusion/Removal List: Import Addresses: when importing from a database, the email addresses are now deduplicated.
  • Verify Links: added the ability to pause the operation.
  • Tracking Report Settings: added an option that controls if the settings are uploaded to the tracking account. Previously they were always uploaded.
  • Added the %AttachmentsDir% environment variable for the DOS Batches.
  • HTML Preview: added a "Copy Image" tool when right clicking on an image.
  • Reset DNS Cache: now this will also clear the cache of PTR records used when "Override EHLO Domain" is unchecked.
  • HTML Editor: there is now a "Tools" button in the bottom right corner of the Raw HTML editbox.
  • Hide Advanced Settings: when an error occurs in one of these settings, the "Hide Advanced Settings" option is now automatically unchecked so that the setting with a problem becomes visible.
  • View Result Set: the "Create Column" tool now has a "Not Null" option.
  • The Task Scheduler window now displays a countdown of the 60 second grace period before it starts launching tasks.
  • Recipient/Exclusion/Removal List: the Paste Addresses tool now has a hotkey: Ctrl+Shift+V
  • Manage Tracking Account: FTP Browse: added a "Refresh" button.
  • Extract Addresses From Files: the separator is no longer appended after the last extracted address.
  • Added a "Speak" tool to the Help viewer.
  • Post-Incoming Script: added the -RemoveFailed- pre-defined variable.
  • Send Summary: added an Options menu with a "Display this window after sending" option.
  • Basic Template: the button's drop shadow is now a darker, desaturated version of the button's background color. Previously it was medium grey.
  • Attached Files List: when adding files, the root specified in the Attached Files Folder will be discarded from the filepath if possible.
  • Simple Send: Import From File: attachment filenames with unicode are now supported.
  • prompt(): added a flag that forces the window to the foreground, unminimizing if necessary.
  • Simple Send: the Import/Export tools now support unicode in the filepath.
  • The /r and /x command line switches, which perform a Remove Operation, will no longer display the operation log unless the /dl switch is specified. Previously the /q switch suppressed the log, but now this is used exclusively to suppress error popups.
  • Literal branch: Preview Email: images will now appear by default without the need to click the "Click to Trust" icon.
  • Email Send Log To: this field now supports a compound email address.
  • The log's Failure Summary now includes the number of failures due to a user abort.
  • Changing the current Follow-Up on the HTML Body branch will no longer automatically switch to the Raw tab.
  • Extract Addresses From Files: Save To File: the target filepath now remembers past inputs in a drop-down list.
  • Import Addresses Into Database: this will now remember the Convert Case option.
  • Tracking Campaigns window: clicking on the number of credits will open the website where more credits can be purchased.
  • Simple Send: the "HTML" menu will now display options for the Raw HTML editor when on the "Raw" tab. Previously, it only displayed options for the WYSIWYG editor.
  • Tracking Report: the Email Report and Distribute Leads tools will now deduplicate the list of project names.
  • Tracking: Download All: the destination path now supports unicode.
  • Simple Send: the tools on the "Attachments" menu will now automatically switch to the Attachments tab first.
  • Tracking: Download All: when creating a Zip file, the compression ratio is now logged.
  • Added a help file guide titled "Global vs. Project Settings".
  • Check Blacklisting: added Sender Score to the default list of blacklists.
  • Template Designer: this now supports template files that have a byte order mark.
  • The Import Addresses tool's final window now has a button that launches the View Result Set tool.
  • Import CSV Data To Database: this will now ignore any column mapping to the Primary Key.
  • The Task Scheduler no longer has a 60 second grace period if none of the tasks are enabled.
  • Incoming Encryption now defaults to "Optional" as many servers require it.
  • Added the "Hyperborean" skin.
  • Reduced launch time by 65% and improved rendering speed by 10%.
  • Import CSV To Database: any misnamed columns are now reported immediately rather than running an operation that will fail on every record.
  • Template Designer: it is now possible to alter the zoom of the preview.
  • The "Override EHLO Domain" setting is now hidden by the "Hide Advanced Settings" feature.
  • The "Default Date Format" and "Default Time Format" settings have been moved from the Details branch to the Scripts branch, in a new tab named "Options".
  • The "Details" branch has been renamed "Security".
  • The "Literal" branch has been renamed "Test Email".
  • Removed the process and thread priority settings. These have little effect on a modern computer.
  • Fixed: Process Images: when Image Locality is "External", and there is a <base> tag, a bare filename was producing an embedded image instead of having the base URL inserted (since 52.0).
  • Fixed: the Scheduler was potentially auto-starting in the system tray even when there are no scheduled tasks.
  • Fixed: Literal branch: Preview Email: embedded images were not always appearing.
  • Fixed: Operation History: numeric columns were not be sorted properly.
  • Fixed: Tracking Report: IE8 fails to render graphical images that exceed 32K.
  • Fixed: HTML Editor: Customize Toolbar: changing the toolbar size was not instantly adjusting the toolbar's height.
  • Fixed: View Archive: View Attachments: when viewing many text attachments, they were being displayed too short or not at all.
  • Fixed: Test DNS: a certain type of error was not being reported.
  • Fixed: scheduled tasks were sometimes producing an error that the global settings could not be saved.
  • Fixed: HTML Editor: right clicking on a hyperlinked image was not always displaying the "Hyperlink Properties" option on the context menu.
  • Fixed: HTML Editor: clicking on an image then using the Insert Hyperlink tool was not working.
  • Fixed: Preview Window: after switching to the Text Body or Headers tab, then going to another recipient, then going to the HTML Body tab, the HTML preview was not updated to the new recipient.
  • Fixed: Simple-Merge: restarting the operation from the Preview Window was causing a "No Recipients Qualified" error.
  • Fixed: possible hang for a minute or more upon starting a Send Operation when Image Locality is "Both" and the server redirects http to https.

New in Gammadyne Mailer 52.0 (Sep 12, 2017)

  • Tracking Report: added a "World Map".
  • When "Override EHLO Domain" is unchecked, Gammadyne Mailer will now attempt to automatically discover the correct PTR record for your computer's network adapter. This may improve the delivery success rate slightly, as some mail servers foolishly try to evaluate the EHLO domain.
  • Zip Attachments: added the ability to encrypt and password protect the Zip file.
  • Simple-Merge will now obey the Removal Method. Previously, the entire row was always deleted. When opening an old project, the Removal Method will be set to "Delete Row" if appropriate to ensure that no change in behavior occurs.
  • Added support for database schemas. Specify the schema in the Table Name field, followed by a period, then the table name.
  • Tracking: upon saving new Report Settings, those settings are now uploaded to the tracking server so that they are later obeyed when performing an automatic FTP upload.
  • Tracking Report: the average interest score is now reported for countries and languages.
  • Tracking: added the ability to customize the report with a graphical banner across the top.
  • Tracking: Report window: added Find, Find/Next, Find/Previous tools to the toolbar.
  • Tracking: Compare: added a "Total" column to the Top Domains section.
  • HTML Preview: the document now scales to the system's DPI setting, which is important on high resolution monitors.
  • HTML Editor: added the "Import CSV As Table" tool.
  • Import Addresses Into Database: added an option to import compound email addresses.
  • This "Limit Number of Messages Processed" feature is now compatible with "Process MAPI Email" and "Process Local Email".
  • The "Process Messages Only Once" option is now compatible with "Process Local Email".
  • Operation History: added the ability to open the log file for a selected operation.
  • Numerous interface improvements, especially regarding 4K monitors.
  • Recipient/Exclusion/Removal List: added the "Convert Case" tool to the context menu.
  • Recipient/Exclusion/Removal List: Paste Addresses: this now works with copied files, not just text.
  • Recipient/Exclusion/Removal List: Import Addresses: the list of addresses is now deduplicated. This also applies to drag & drop.
  • View Archive: embedded images will now appear when you click "Click To Trust".
  • Operation History: this now reports the number of successful and failed forwards for each Incoming Operation.
  • Added the dbe_call_func() and dbe_call_proc() G-Merge functions, which allow you to call a function or procedure in a different database.
  • Editboxes: block selection: Paste: instead of deleting the selection, the selection is replaced on a line-by-line basis with the clipboard text. Or, if the clipboard only contains one line, that line will replace each line in the selection.
  • Automatically Parse Images: added support for unicode characters in the image filepath.
  • Change Email Address: this now supports multiple recipients in the Recipient Column, although the "Fast" mode must be unchecked.
  • Test Incoming Mail Servers: a warning now appears if the port is POP3 but the protocol is IMAP4, or vice versa.
  • Tracking: the "Distribute Leads" tool is no longer limited by the "Maximum Recipients Shown" report setting. It will now distribute all recipients, regardless of whether or not they are visible on the report.
  • Updated the SSL module. The Test Server tools now report the SSL version of the established connection, not the cipher's version. Fixed possible SSL problem with Exchange 2010. Fixed a rare SSL connection error.
  • Database Clauses: the "Value" column's drop-down list will now enumerate values in a Simple-Merge file just like it does for a database.
  • Tracking settings now have their own branch.
  • View Archive: it is now possible to select multiple emails, and copy or delete them as a group.
  • View Result Set: this window now has an Exit button on the caption, which will prompt you to save changes if necessary.
  • View Archive: Save Attachment: this now displays a follow-up window that allows you to Open or Copy the saved attachment, or Explore the folder where it was saved.
  • View Archive: Open Attachment: if the attachment has no extension, its Content-Type header is now used to provide a default so that the attachment can be opened in the appropriate application.
  • Recipient List: the Paste Addresses tool now supports unicode.
  • Import Addresses Into Database: the "Prevent Duplicates" option now ignores additional occurrences of the same email address in the import files.
  • Convert Email Addresses Case: this will now examine the first 1000 database records to verify that the Primary Key is unique.
  • date_format_regional(): added the ability to control whether or not a day of week appears in the long date format. Also, the "MMM." format will now output "May" instead of "May." because no abbreviation occurred.
  • Tracking: when combining multiple campaigns into one report, the list of project names is now deduplicated.
  • Behavior change: db_call_func() and db_call_proc() will now halt the operation if an error occurs. It could be dangerous to ignore such an error.
  • Text attachments will now specify a character set in the MIME headers. This will obey a byte order mark if present, otherwise it uses the system default character set. This ensures that the recipient will see the proper characters even if their system uses a different system character set.
  • View Result Set: Filter Settings: added the "Don't Remember" option. If checked, a history of past inputs is not remembered in the drop-down list.
  • Import CSV Data: this tool now supports CSV files with a little-endian byte order mark.
  • Tracking: Compare: Save To HTML File: this now produces a much better automatically chosen filename.
  • Mobile Preview: you can now see the HTML without images by right clicking on the phone's frame and checking the "Disable Images" box.
  • Tracking: Save To HTML File/Export CSV: added support for unicode in the filepath.
  • View Archive: View Attachments: for 8-bit text attachments, the character set specified in the MIME header is now honored.
  • Attached Files List: Browse/Paste/Drop: if the chosen files are located under the Attached Files Folder, this root is removed from the filepath.
  • Edit External HTML Body:
  • The Preview tab now supports HTML5/CSS3.
  • If the file does not exist, the error message now has a "Create" button that offers to create the file.
  • It is now possible to set a relative font size for the raw HTML editor and the preview.
  • Fixed: the Customize Toolbar tool was refusing to launch.
  • Delayed Retries: when starting a new phase, this will now detect if the ODBC connection timed out. If so, a new connection will be made.
  • prompt(): added a flag for making all button controls larger.
  • Add Recipients: the "Import From Address Book" sub-tool now supports unicode.
  • HTML Editor: Insert Hyperlink: added a button that opens the entered URL in your web browser, which is useful for testing its correctness. Also the Enter key is now equivalent to clicking OK.
  • Add Recipients: the log is now in unicode.
  • Tracking Report: the Pie Chart will now shrink the text up to 50% if necessary to prevent clipping.
  • The /a, /o, /r, and /e command line switches are now much better at handling multiple email addresses.
  • Post-Incoming Script: added the -RemoveNotFound- predefined variable.
  • Send Batches: added the %HTMLBodyFilepath% environment variable.
  • Use System Address Book: when the Import Mode is "Email Addresses Only", unicode is now supported.
  • The /a and /v command line switches now support unicode.
  • HTML Editor: it is now possible to adjust the relative font size of the Raw and Preview tabs.
  • Tracking Report: added the ability to hide the toolbar.
  • Now supports installation to a path that contains unicode.
  • The "Email Send Log To" feature now obeys the Sender specified in the project, as delivery may fail otherwise.
  • Simple Send: Paste image file: added support for unicode characters in the image filepath.
  • Verify Links: this now ignores links that contain G-Merge.
  • View Archive: this now remembers all of the preferences for the email viewer.
  • Added the ability to disable support for multiple lines in the editbox search/replace tool that was added in 51.0.
  • Simple Send: Edit/Resize Attachment: this now operates on the table row that has a cell with focus, rather than requiring that a row be selected.
  • Improved the performance of how a Domain Throttle is searched for.
  • date_current() now has an optional parameter that, if TRUE, omits the time from the returned value.
  • The Tracking Report Settings window is now organized into tabs as it was getting too tall for some screens.
  • The HTML Body branch is now above the Text Body branch, and the Throttles branch is now above the Details branch.
  • Archive Outgoing Emails: this field now supports unicode.
  • Template names now support unicode.
  • Insert Column: this now only obeys the "Support Unicode Characters" option if the column type is string.
  • Begin With Recipient: a compound email address is now allowed, even though only the simple address is used.
  • Added the "Clipboard Inspector" tool to the Interface menu.
  • Repeat Send/Incoming Operation: the taskbar button no longer reflects the operation progress meter. While running continuously this is more distracting than useful.
  • Renamed the "Use O.S. for DNS" setting to "Automatic DNS".
  • Fixed: View Result Set: the mouse wheel was not working on the Filter's drop-down list.
  • Fixed: some rare database errors were not being logged.
  • Fixed: when maximized, the window's border could possibly be visible on a secondary monitor.
  • Fixed: Mobile Preview: the window was sometimes too small.
  • Fixed: View Archive: the Refresh tool was broken.
  • Fixed: Insert Column: if both Use Address Book and Use Database are checked, the Address Book columns were appearing. This is wrong because Use Database overrides Use Address Book.
  • Fixed: http_fetch() was not supporting redirects on or to https: URL's.
  • Fixed: Remove from Recipient File/List: the line number was possibly incorrect.
  • Fixed: possible flicker when rendering window on 4K monitors, or when many System-G windows are open, or when kernel memory becomes scarce.
  • Fixed: if the file specified by the /f command line switch was empty, the clipboard contents were erroneously being used instead.
  • Fixed: Add Recipients: the "Import From Address Book" sub-tool was not putting a space between the contact's quoted name and their email address.
  • Fixed: HTML Editor: when right clicking on a table, image, list, or hyperlink, the context menu was not always including the associated Properties option.
  • Fixed: when the HTML Character Set is set to Auto, this was not being applied to the HTML editor's Raw editbox.
  • Fixed: Simple Send: Edit Attachment: clicking Cancel was corrupting attachments that contain a byte order mark.
  • Fixed: problem with G-Merge in a header when there is a space between statements. Example: "[[1]] [[2]]" >>> "1 [2]]". Special thanks to David Sedlacek.
  • Fixed: Simple Send: repeatedly rotating a JPG was degrading the quality due to the nature of lossy compression.
  • Fixed: View Archive: the table needed to be re-sorted after it was fully populated by its background worker thread.
  • Fixed: possible hang in uninstaller.
  • Fixed: the "Lock Project" option was preventing backups from being made.
  • Fixed: editboxes: double clicking was selecting to the beginning of a word instead of the whole word.
  • Fixed: possible crash performing a scheduled Incoming operation (since 51.0).

New in Gammadyne Mailer 51.0 (Apr 10, 2017)

  • Added the ability to combine multiple tracking campaigns into a single report, which is useful when a mailing is interrupted and resumed. Simply hold down the CTRL key while choosing campaigns, then click the Generate Report button as normal.
  • * Added the regex_find() G-Merge function. This adds a powerful new ability to process the contents of an incoming email using regular expressions.
  • * The Recipient List now supports unicode.
  • * View Result Set: added the ability for the Filter to act more like a search engine, with multiple keywords, quoted phrases, and negative keywords. To the right of the Filter editbox is a button that opens the Filter settings. Choose the "Advanced" mode.
  • * Tracking Report: added the ability to zoom the report in and out.
  • * Simple-Merge is now allowed to use the Database Clause Table to filter out recipients.
  • * Simple-Merge now supports 16-bit unicode CSV files that have a byte order mark.
  • * Multiline editboxes: Search and Replace: added support for search/replace strings that contain multiple lines.
  • * Multiline editboxes: added support for selecting columns of text. Hold down the Alt key while selecting with the mouse.
  • * Redesigned the Attachments branch. The "Constructed" branch is no longer separate.
  • * Tracking Report: added a toolbar.
  • * View Archive: added tools to Forward or Resend a selected email.
  • * Removed the "Send Mode" setting. The "Normal" and "No Preview" modes now correspond to a new "Preview Messages" checkbox. The "Last Recipient Only" mode is now a checkbox on the Filtering branch. The "Identical" mode has been removed altogether, as it was an ancient throwback that gets blocked by spam filters. Upon opening an old project, the Send Mode setting will be imported such that no change in behavior occurs.
  • * prompt(): it is now possible to specify a variable name for each control to store its state in. Previously, the states were stored in variables named "Prompt1", "Prompt2", etc. which was unwieldy.
  • * Process Messages Only Once: this feature is now compatible with MAPI.
  • * Added a tool to import the SMTP Server table from another project.
  • * Check Blacklisting: added an option to test your computer's IP address for blacklisting.
  • * Tracking Report: the average interest score is now reported for browsers and platforms.
  • * Tracking Comparison: added a new section that lists the top recipient domains.
  • * Recipient/Exclusion/Removal List: added buttons for the Import Addresses, Find Illegal Address, and Paste Addresses tools.
  • * View Result Set: added the ability to specify a secondary sorting column.
  • * Test Incoming: if the mail server doesn't support Secure Authentication, this option will now be automatically unchecked, and the test retried.
  • * Tracking Report: Distribute: added the ability to BCC each distributed email.
  • * Basic Template: added the ability to create a horizontal rule, and a horizontal rule with centered text.
  • * View Archive: Attachments: added an "Open With" tool, which allows you to select a different program to open the attachment in.
  • * Tracking Campaigns: added an "Expires" column that informs you when the tracking data will be deleted.
  • * In controls that support G-Merge, if you right click on a function, the last option on the context menu will be labeled "Help: function_name()" and will take you to the help file description of the function.
  • * Tracking: whitespace is now removed from the beginning and end of all hyperlinks to avoid potential problems.
  • * Recipient/Exclusion/Removal List: the Find Illegal Address tool now supports multiple email addresses separated by commas when Simple-Merge is enabled.
  • * Preview Window: the Test Single and Test All tools now support multiple email addresses.
  • * Added the convert_from_unicode(), convert_to_unicode(), day_of_month(), and str_put() G-Merge functions.
  • * Locate Mail Server: the PTR record for each mail server is now reported.
  • * Operation History: you may now double click on a row to open the corresponding project.
  • * Insert Function: when a function is selected, its documentation will be shown in the sidehelp panel.
  • * View Result Set: added an "Insert Date/Time" tool to the context menu for cells.
  • * Recipient/Exclusion/Removal List: Paste Addresses: the list of addresses is now deduplicated.
  • * Change Recipient Address: this will now examine the first 1000 database records to verify that the Primary Key is unique.
  • * Tracking: FTP Folder: added support for unicode characters.
  • * Pseudo-Projects: added the "RecipientsUTF8" label, which is useful if the mailing list contains unicode characters.
  • * Tracking: Download All: added Open/Explore/Exit buttons to the operation log window.
  • * Operation History: the number of incoming emails deleted is now reported.
  • * While an email is being downloaded, the interface will now remain responsive, and the progress meter will update. This was not done before because most emails download in less than a second, but it is helpful for very large emails.
  • * Preview Window: the Attachments List now supports unicode characters.
  • * Add Recipients: MIME header encoding is now decoded, if present.
  • * Troubleshoot HTML: a warning is now produced if an image is 20%+ larger than necessary.
  • * Added the -AutoRespondSuccesses- and -AutoRespondFailures- predefined variables to the Post-Incoming Script.
  • * Test Spam Score: the sample email used for testing was previously displayed as raw MIME format. Now it is possible to observe the Text Body, HTML Body, Attachments, and raw HTML code.
  • * Add Recipients: ASCII codes 0-31 are now converted to a space character, and runs of multiple spaces are now reduced to a single space.
  • * Import Addresses: the "Prevent Duplicates" option now supports multiple email addresses in the Recipient Column.
  • * Troubleshoot HTML: an error is now reported if a hyperlink has trailing whitespace.
  • * Added the %ProjectPath% variable for the Send Batches. It holds the path of the folder where the project file is located.
  • * Spam Test: hyperlinks containing G-Merge are no longer flagged as illegal.
  • * Begin With Recipient: this is now tested before other types of filtering. Previously, if the recipient was rejected for some other reason, the mailing would never start.
  • * Mobile Preview: references to external style sheets are now ignored, since they are rarely supported by email clients.
  • * Extract Addresses From Files: when the output is transferred to the Add Recipients tool, unicode characters are now supported.
  • * POP/IMAP: if plain authentication fails, a secure method is now attempted. It doesn't hurt, and the server may actually require it.
  • * Updated the SSL module (bug fixes and security improvements).
  • * The External Text Body Filepath and External HTML Body Filepath fields now display unicode characters without encoding.
  • * Failure Script: added the -Aborted- predefined variable, which can be used to determine if the user interrupted the delivery.
  • * Process Messages Only Once: added a "Forget Downloaded Messages" tool to the context menu.
  • * Exclusion/Removal List: the Import Addresses tool will now simplify email addresses when importing from a database.
  • * If an external Text Body file has a UTF-8 byte order mark, this will now override the project's Character Set field.
  • * External HTML Body: Edit In Internal Editor: if the file has a unicode or UTF-8 byte order mark, it will now be converted to ASCII.
  • * Mobile Preview: the dimensions of the preview area are now displayed faintly in the bottom right corner.
  • * The "HTML Character Set" field now defaults to "(Auto)" and is now hidden when "Hide Advanced Settings" is checked.
  • * Email Summary To: this now obeys the Sender specified in the project, as delivery may fail otherwise.
  • * When dropping multiple files on the "Process Literal Email" button, there is now a single comprehensive log. Previously, the last email was overwriting the logs from the previous emails.
  • * Log Recipient Data: the data is now logged before rejections are tested, otherwise it may not be clear why a rejection occurred.
  • * Behavior change: the /r command line switch now obeys the settings on the Remove/Options branch.
  • * Single Send: Insert Hyperlink: past inputs are now remembered in a drop-down list.
  • * prompt(): added the ability to make the window be maximized initially.
  • * Added a "View Archive" option to the Send Summary's File menu.
  • * Email Send Log To: if there is an error, this now displays the conversation with the mail server.
  • * View Result Set: CSV Import/Export: added support for unicode characters in the filepath.
  • * Tracking Report: added support for numerous obscure languages.
  • * HTML Editor: Insert Button: added an option to use a solid background instead of a gradient.
  • * The foreachfile.exe utility now supports unicode characters in its command line parameters.
  • * Process G-Merge Inside Attachments: in the event of an error, the filepath of the attachment is now mentioned.
  • * Project Properties: all fields now support unicode.
  • * The installer and uninstaller can now gracefully close a running instance of GM that is performing a repeated Incoming/Send operation.
  • * Address Book fields can now be inserted with the Insert Column tool rather than the Insert Variable tool. This is more logical.
  • * Check Blacklisting: if Direct Delivery is enabled, the log will now warn that the "Check Relaying Servers" option is pointless.
  • * The DNS IP Addresses field now allows IP's to be separated with a comma.
  • * Added a "Help" option to the bottom of the Logs menu.
  • * Fixed: the Constructed Attachments editbox was not remembering its Fixed Pitch and Word Wrap options.
  • * Fixed: the get_recipient_list() function was broken.
  • * Fixed: Verify All Addresses: the operation should have been treating addresses as case-insensitive.
  • * Fixed: foreachfile.exe was producing an error if the project filepath contained spaces.
  • * Fixed: G-Merge functions that expect a variable name as the first parameter were not tolerating whitespace before the variable name.
  • * Fixed: a change made to a cell in the Clause Table was ignored when the Send Operation was launched before moving to another cell.
  • * Fixed: Basic Template: after adding a new section, the newly added section was not being selected.
  • * Fixed: when aborting a repeated send between operations, it was not aborting promptly.
  • * Fixed: Preview Window: after performing a Test Send All, the CC's and BCC's were not being sent during a regular send.
  • * Fixed: a rare error downloading an email via IMAP4.
  • * Fixed: Import Addresses: the "Prevent Duplicates" option was not working at all (since 50.0).
  • * Fixed: batches that contain unicode characters would not run on Windows Vista/2008.
  • * Fixed: some minor installation problems on Windows Vista/2008.
  • * Fixed: Change Email Address: when using Simple-Merge, this could possibly fail to find a second occurrence.
  • * Fixed: HTML editor: the Insert Hyperlink tool was not working when an image was selected.
  • * Fixed: now able to cope with a particular POP3 server that was not responding correctly to the QUIT command.
  • * Fixed: Tracking: the "non-unique Primary Key" warning would erroneously appear if the Recipient Column contained multiple recipients. Special thanks to William Horan.
  • * Fixed: possible inability to receive certain messages from MAPI. Special thanks to Konstantinos Sirganis.
  • * Fixed: IMAP4: large emails were taking too long to download. Special thanks to Wesley Iamaguti.

New in Gammadyne Mailer 50.0 (Nov 9, 2016)

  • Added the Operation History tool. This displays a record of recent Send and Incoming operations, with statistics.
  • Added a tool for browsing emails in the incoming and outgoing archives.
  • View Result Set: added the ability to hide all rows that do not contain some specified text. There is a new "Filter:" field on the toolbar.
  • Add Recipients: added support for unicode characters.
  • Added the ability to display the recipient's company name on the tracking report.
  • Tracking: Top Domains: the average interest score for each domain is now reported.
  • HTML Editor: added the "Insert Button" tool.
  • Test Send: added the ability to specify more than one email address. This is useful when you have mail accounts with Gmail, Yahoo, AOL, etc. and want to test them all in one shot.
  • Added the ability to limit the number of recipients listed on a tracking report.
  • Added the "Check All SMTP Relays" option to the Check Blacklisting tool.
  • Tracking: Distribute Leads: added the ability to limit the number of recipients that are distributed.
  • Compare Tracking Campaigns: added a "Languages" section to the report.
  • When a global setting is changed, it will now be automatically applied to all other running instances. Previously, each instance held an independent copy of the global settings, and the global settings file was completely overwritten when an instance closed. If a global setting was changed while multiple instances were opened, the change would not affect the other instances, and might not be permanent depending on the order that the instances were closed.
  • Recipient/Exclusion/Removal List: the Import Addresses tool now supports import from a database.
  • Mobile Preview: added support for when only a Text Body is specified (no HTML Body).
  • Numerous improvements to the Spell Checker. Download the latest version of the Spell Checking Module from Gammadyne.
  • The recipient() G-Merge function is now compatible with Incoming Operations. This now makes it possible to support unicode characters in a processed email address.
  • Recipient/Exclusion/Removal List: the "Find Illegal Address" tool now supports Simple-Merge.
  • Follow-Up Index/Date Column: added a "Create" button next to these fields, which will create the database column for you.
  • Behavior has changed when [[abort_operation]] is encountered in the Success/Failure Script. The Send Summary will now display as normal. The Post-Send Script will no longer be circumvented. The "Notify Operation Errors" feature is now ignored. And if the operation was launched from the command line, Gammadyne Mailer is now allowed to terminate silently if appropriate.
  • IMAP receiving is now faster and much less likely to run out of memory for large messages.
  • Use System Address Book: it is now possible to support unicode characters in address book fields by using unicode_to_header(), unicode_to_html(), or unicode_to_utf8().
  • Recipient/Exclusion/Removal List: added a "Paste Addresses" tool.
  • Simple-Merge: when the CSV file is UTF-8, when converting the columns to 8-bit variables, the conversion is best-fit instead of leaving the raw UTF-8 encoding.
  • Process Compound Addresses: when the Processing Mode is Add To Database, Add To Recipient File, or Add To Exclusion File, unicode characters in the recipient's email address are now supported. For the other "Add..." Processing Modes, the MIME header encoding is now left intact so that unicode characters are preserved. Previously, addresses were converted to ASCII.
  • SQL Server: MARS is now enabled automatically to prevent a possible "Connection is busy with results for another hstmt" error.
  • Added support for email addresses that contain an Internationalized Domain Name with an encoded top-level domain.
  • Verify HTML Links: you can now return to the main window without closing the window with the list of bad links. Also, when using an external HTML Body, this tool will now open the HTML file in an editor first.
  • Tracking: added support for negative Primary Keys.
  • Import Addresses Into Database: added support for unicode files with a byte order mark.
  • Added the "/fast" command line switch, which works with the /ch switch to accelerate a "Change Recipient Address" operation.
  • Insert Variable: after a variable is inserted, Side-Help will display the variable's documentation.
  • Tracking: Manage Account: FTP Browse: added a "Delete Folder" button.
  • Suppression Lists: Calculate: added an "Add To File" tool that will append the calculated hash to one of the suppression list files.
  • Basic Template: added the ability to create two side-by-side buttons.
  • Added the "Logs" menu. It includes the new tools for viewing the Operation History, Outgoing Archive, and Incoming Archive. The View Send Log and View Incoming Log options were moved here from the Tools menu. Also included are shortcuts for opening the Success, Failure, Rejection, and Host Statistics logs.
  • Simple Send: Rotate Image Attachment: added the ability to rotate GIF's, including animated GIF's.
  • Added the smtp_select() G-Merge function, which selects a particular SMTP server to send the current email with.
  • Troubleshoot HTML: if tracking is enabled, this now warns if any hyperlink is too long to be tracked.
  • Basic Template: added the ability to control the main title's vertical padding.
  • Archive Incoming Emails: the filepath of the archived email is now logged.
  • Added the "Validate CSS" and "Validate HTML" options to the Test menu.
  • HTML Editor: the "Neutralize Characters" tool now supports the presence of a UTF-8 byte order mark.
  • Test Send: this tool now operates in "No Preview" mode. However, there is an option to enable preview mode on the "Send Messages?" confirmation window.
  • Preview Window: added the "Display this window before sending" option to the Options menu. Unchecking this box will set the Send Mode to "No Preview", something that new users have trouble figuring out.
  • Extract Addresses From Files: improved performance and reduced memory usage.
  • HTML Editor: when clicking on the Edit tab, the "X-UA-Compatible" meta tag is now inserted into the automatically to ensure that HTML5 and CSS3 are supported.
  • HTML Editor: pressing F1 when the caret is on a G-Merge function will now open the help file to the section that describes the function.
  • Preview Window: Test Send: unicode characters are now supported in the email address.
  • Added the envvar() G-Merge function, which resolves DOS environment variables.
  • Tracking Report: Export CSV Data: the number of records and total file size is now reported.
  • Simple-Merge: the CSV columns are now listed in the log.
  • Added the "Video Tutorials" option to the Help menu.
  • Recipient File: Edit Files: if there is only one file specified and it does not exist, the error window now has a button that will create the file.
  • Added the %ArchiveInDir% environment variable for the DOS batches, which holds the folder where incoming emails are archived.
  • Find Illegal Address: when performed on a Recipient File, there are now hotkeys for Find Next (F4), Open Next File (F2), and Save File (F9).
  • View Result Set: reorganized the menus.
  • Welcome: the Rename Project tool now has a hotkey, F2.
  • If the Database Connection String contains "readonly=1", the error message will now point the user directly to the source of the problem.
  • Changed how date_years_between() calculates the result. It now accounts for leap days.
  • An error is now reported if the Incoming Log cannot be created.
  • Tracking: Download All: the All/Selected option is now remembered.
  • The following attachment extensions will now produce a correct Internet Media Type: 7Z, APK, F4V, FLV, LOG, MDB, MP4, MPKG, P7B, P7M, P7R, P7S, P8, P10, P12, QXD, QT, RAR, TSV, VCF, WPD
  • Welcome: if another instance already has the Welcome window open, it will be brought to the foreground and the current instance will terminate.
  • Post-Incoming Script: added a -RemoveSuccesses- predefined variable, which holds the total number of recipients who were successfully removed.
  • Mobile Preview: elements are now removed, which matches the behavior of virtually all email clients.
  • Customize Toolbar: added a new column that contains an overview of the tool.
  • Image Locality now defaults to "External" for new projects. Because the "Internal" mode can adversely affect performance, it should be manually elected.
  • The uninstaller now removes the project backups. Also, there is now a limit of 1000 total backup files.
  • The "Trim Whitespace From Data" and "Close Database Between Operations" options are now hidden when Hide Advanced Settings is enabled.
  • Added 32 tools to the System Tools tool.
  • Fixed: dropping folders on the Process Literal Email button was not working correctly.
  • Fixed: Single Send: in the To: header, email addresses inside quotes are now ignored.
  • Fixed: when opening the Tracking Report from the Welcome window, if no project is selected, the Start Date and Report Date were coming up blank.
  • Fixed: on Windows XP, in the Arizona time zone, the Date header's time zone bias was always +0000 instead of -0700.
  • Fixed: the tracking system was not producing an error when the Primary Key is an empty string.
  • Fixed: Add Recipients: when adding to a big endian unicode file, an extra newline could be inserted.
  • Fixed: Email Send Log To: this was only sending to the first recipient if the other recipients were in different domains, and Direct Delivery is enabled.
  • Fixed: the unicode_to_xxx() functions could possibly produce a blank error popup.
  • Fixed: Tracking: Download All: the operation would abort with an error if any campaign had zero recipients tracked.
  • Fixed: SQL Server: possible error when a column is fetched first as ASCII, then later as Unicode.
  • Fixed: certain operation errors were preventing the Send Summary from being logged.
  • Fixed: Tracking: the View Time Pie Chart was sometimes not displaying correctly on IE8 and earlier.
  • Fixed: possible timeout if an IMAP server mis-reports an email's size.
  • Fixed: Test Spam Score: when testing the SPF record, the "mx:" mechanism was not being handled properly, possibly resulting in an incorrect rejection. Special thanks to Mark Miller.
  • Fixed: when tracking, GM was failing to detect if the Primary Key is not an integer (since 47.0).
  • Fixed: HTML Editor: the Insert Quotation tool was deleting any selected text.
  • Fixed: a certain type of soft bounce was considered a hard bounce.
  • Fixed: View Result Set: if there is no Primary Key, text cells would not respond to the mouse.
  • Fixed: unable to generate tracking report when the recipients are hidden.
  • Fixed: the "Insert Database Column" tool was not working in the HTML editor.
  • Fixed: possible crash when pressing Escape to close the Mobile Preview window.
  • Fixed: after a SMTP connection error, the rotation was not advancing to the next SMTP server.
  • Fixed: on Windows XP/2000, the installer was failing to migrate settings from before 48.0, and the uninstaller was failing to remove some files (49.0 only).
  • Fixed: on Windows XP/2000, the Pre-Send and Post-Send Batches were failing to run if they contained unicode characters (49.0 only).
  • Fixed: IMAP messages are now processed in reverse order to avoid a problem with the foolish IMAP Auto-Expunge feature that some servers employ. Previously, an error could occur when downloading an email after the previous email had been deleted.

New in Gammadyne Mailer 49.0 (Jul 11, 2016)

  • Added the "Mobile Preview" tool to the Test menu.
  • Added the "Distribute Leads" tool to the Tracking Report window. This will email a portion of the recipient data to each member of your sales staff.
  • Added the "Top Domains" section to the tracking report. This displays the open rate and click through rate for the most common recipient domains.
  • Added the "Archive Incoming Emails" option to the Incoming branch. This feature allows you to create a backup of every email that is received.
  • Added the ability to search the Recipient Files for illegal email addresses, and to edit or delete them. Click the "Find Illegals" button below the Recipient Files field.
  • Exclusion Files can now contain unicode or UTF-8 provided that a byte order mark is present.
  • Added the "Language Totals" section to the tracking report. This displays the open rate and click through rate for each language.
  • Added the ability to display the recipient's name on the tracking report.
  • Added the ability to remove recipients from a Suppression List. Simply check the "Suppression Lists" box on the Remove/Options branch, then run a Remove Operation as normal.
  • Project filenames now support unicode characters.
  • Unicode surrogate pairs are now supported in headers and the Text Body.
  • Added support for CRAM-SHA1 authentication for SMTP and POP3.
  • Basic Template: added the ability to create a button.
  • Email Summary To: the Success/Failure graph is now included in the email.
  • Added support for SHA1 Suppression Lists.
  • The Pre-Send and Post-Send Batches now support unicode characters.
  • Added the following G-Merge functions: batch_run(), color_scale(), db2_get_unicode(), extract_filename(), hash_sha1().
  • Extract Addresses From Files: Eliminate Duplicates: when adding to the Recipient List, Exclusion List, or Removal List, extracted addresses are now ignored if they are already present in the list.
  • Convert Email Addresses Case: when the Recipient Column contains compound addresses, this will no longer corrupt non-ASCII characters.
  • Simple Send: added the ability to rotate image attachments.
  • Added a tool that calculates a hash for a Suppression List. Click the "Calculate" button at the bottom of the Suppression Lists table.
  • Auto Image Dimensions: this feature now supports external images when the Image Locality is "External".
  • Insert Function: after a function is inserted, Side-Help will display the function's documentation.
  • Tracking: Automatic FTP Upload: it is now possible to specify a different port for the FTP server.
  • Updated the SSL module (bug fixes and security improvements).
  • The Incoming Summary and Log now report the total number of recipients that were processed but rejected.
  • HTML Editor: added a "Neutralize Characters" tool to the Raw editbox's context menu. This will encode all non-ASCII characters using the character set specified in the HTML, thereby making them character set neutral. This improves the odds that the characters will appear correctly in the recipient's email client.
  • HTML Editor: added the "View In Browser" tool.
  • Email Send Log To: multiple email addresses are now supported.
  • Single Send (no database): unicode characters are now supported in the email address.
  • Tracking: the "Export Tracking CSV Data" and "Download All" tools now sort the exported records by Interest Score.
  • Added the recipient() G-Merge function, which is needed to obtain unicode characters from a unicode Recipient File.
  • prompt(): added the ability to enclose controls inside a groupbox that is also a checkbox.
  • Troubleshoot HTML: added the ability to detect illegal hyperlinks.
  • change_address(): added optional abilities to simplify the old and new addresses, convert the new address to lower case, and control the "Fast" mode for databases.
  • The Host Statistics log is now in unicode, and supports Internationalized Domain Names.
  • Compare Campaigns: if there are not two campaigns selected, the user is now prompted to choose two from a checklist.
  • Tracking: Report Settings: added an option to disable the bar chart that appears on the right edge of the tables.
  • mime_print(): added an optional third parameter: a title that is printed at the top of each page.
  • Delivery Status Notification: this setting is now obeyed when an Incoming Operation is forwarding an email.
  • HTML Editor: Raw tab: Open From File: if the opened file is .EML or .MSG, the HTML code is extracted from within it.
  • Extract Addresses From Files: added Open, Copy, Save As, and Print buttons to the bottom of the log window.
  • Added the optional /lc command line switch in support of the /ch switch. It will cause the new email address to be converted to lower case.
  • Added the �layedRetryDir% variable for the Send Batches. It holds the path of the folder that stores Delayed Retries.
  • Added the "Open Containing Folder" tool to the Welcome window.
  • Connection String: Browse: the "readonly=1" attribute is now automatically removed.
  • The /f command line switch now supports files that contain unicode or UTF-8 provided that there is a byte order mark.
  • NTLM authentication is now preferred over CRAM-MD5 as it is more secure.
  • List-Serving: the following headers are now removed: Read-Receipt-To, Delivery-Receipt-To, Return-Receipt-Requested, Return-Receipt-To, Registered-Mail-Reply-Requested-By, X-Confirm-Reading-To.
  • Scheduler: added an option to animate the tray icon. Previously, it was always animated.
  • Troubleshoot HTML: added a warning if any image does not specify a width or height, unless "Auto Image Dimensions" is checked.
  • prompt(): added the "advance" property for checkboxes and radio buttons. When the box is checked, focus moves to the next control. The basic template puts this to good use.
  • Post-Incoming Script: added the -IncomingRejected- variable.
  • Added the "/he" command line switch, which opens an HTML file in an editor.
  • Single Send (database): if the clipboard contains an email address, the dialog will be pre-populated with it.
  • The /a and /e command line switches now support the optional /ns switch, which prevents the project from being saved.
  • The Content-Location field now supports https:// URL's.
  • Export/Run Pseudo-Project: added support for unicode characters in the filepath.
  • "localhost" is now considered a valid mail server name.
  • Test Send: added support for unicode characters in the target email address.
  • The Send Log now reports a Recipient File's encoding and size.
  • The "Edit External HTML Body" window is no longer modal. You can return to Gammadyne Mailer's main window without closing it.
  • Single Send: tracking is now automatically disabled.
  • The "Track Count" field has been renamed "Limit Number Tracked" and is now controlled by a checkbox.
  • Import Settings: if only one branch is selected, that branch will be displayed after the tool finishes.
  • Send Preprepared Emails: this now obeys the project's Delivery Status Notification field, although this can still be overridden by the X-DSN: header.
  • HTML Editor: Insert Groupbox: if there is no prior selection, it was previously impossible to edit the contents.
  • Pseudo-Projects can now utilize the "Generate Host Statistics" feature.
  • decode_header() will now attempt to translate unicode characters into the system codepage.
  • Verify All Addresses: this tool will now refuse to run if the computer does not meet the requirements for Direct Delivery, since this is required for address verification to work correctly.
  • Preview Window: single send: any error is now reported in a popup window with transcript instead of the displaying the Send Summary window.
  • An SMTP delivery is now considered failed if there is no response from the server after the email content is transmitted.
  • Improved MAPI error reporting.
  • There is now a sensible error if the Success/Failure Script tries to read/write database data without a Primary Key.
  • Added the "Lookup Recipients" shortcut to the Mailing List branch.
  • GMCOM: load_mem_w(): there is now an effort to translate the wide characters into the system codepage, rather than simply truncating the top 8 bits.
  • The options on the Database menu are no longer disabled if the "Use Database" box is unchecked. Better to see an explanatory error message.
  • Check PTR Record: renamed this tool to "Direct Delivery Possible?".
  • The free trial no longer inserts the "Not For Commercial Purposes" message. Instead, it permits a fully functional mailing to a mailing list of up to 100 recipients.
  • The "Send Preprepared Emails" tool, "Begin With Recipient" option, and "Send Only To Range Of Recipients" option are now disabled in the free trial.
  • Fixed: the calculation of the Click Rate on the Tracking Campaigns Window now matches the calculation on the tracking report.
  • Fixed: Export Tracking Data: the Interest Score of unopened email was .1 when it should be 0.
  • Fixed: Compare Tracking Campaigns: the Browsers, Platforms, and Countries sections were not correctly reporting the click stats.
  • Fixed: Change Email Address: when using a database, was not working when the old address is compound.
  • Fixed: possible hang when processing an improperly formatted Suppression List.
  • Fixed: the window caption and taskbar text were not set correctly while sending a pseudo-project.
  • Fixed: GMCOM: load_file_w() was not truly supporting non-ASCII characters in the filename.
  • Fixed: Extract Addresses From Files: when "Extract Compound Addresses" was unchecked, the "Eliminate Duplicates" feature was broken (since 48.0).
  • Fixed: prompt(): the Bar Drawer control was fatally broken.
  • Fixed: rarely, balloon help was not appearing promptly, or not at all.
  • Fixed: DIGEST-MD5 authentication was mistakenly disabled for POP3.
  • Fixed: DIGEST-MD5 authentication for SMTP was always being tried first, even if the server did not advertise support for it.
  • Fixed: possible inability to make database assignments in the Success/Failure Script when using a Custom SELECT Statement.
  • Fixed: unicode_to_html() was not encoding the "&" characters.
  • Fixed: hang if a Simple-Merge file contains a null character.
  • Fixed: when a database error occurs while fetching records for a Send Operation, the "Notify Operation Errors" feature will now work correctly.
  • Fixed: executables were signed with a revoked SHA1 cert. Because the SHA256 cert is valid, this would only be reported to the user on systems prior to Win7.
  • Fixed: crash after selecting Simple-Merge in a wizard.

New in Gammadyne Mailer 48.0 (Mar 8, 2016)

  • Recipient Files can now contain unicode or UTF-8 provided that a byte order mark is present. This applies to Send Operations, Incoming Operations, and all tools that operate on the mailing list.
  • Added support for unicode characters in the Recipient Column (for databases and CSV files). Unicode will now appear correctly in the outgoing email's To: header.
  • Redesigned the image cache engine. Improved performance and memory usage. Fixed a problem with having more than 60 unique images.
  • Added the "Import Settings" tool to the File menu. This allows you to import the settings on one or more branches of another project.
  • Tracking: added the "View Time" graph to the tracking report.
  • Added support for DIGEST-MD5 authentication for SMTP, POP3, and IMAP4. This improves security and compatibility with some mail servers.
  • Tracking: added a bar graph along the right edge of all tables.
  • HTML Editor: Unicode Character Map: added the ability to create a list of favorite characters.
  • Shrink Images: added support for non-animated GIF's.
  • Shrink Images: previously both the width and height attributes were required for this feature to work. Now only one is needed.
  • Added the "Find Illegal Address" tool to the Recipient List, Exclusions List, and Removal List. The hotkey is Ctrl+I.
  • Extract Addresses: added support for import files whose contents are unicode or UTF-8.
  • View Results: added the "Direction" field to the Find And Replace window. This allows you to start a search from the beginning of the table, the current cell, or the end of the table, in either forward or reverse.
  • Preview Window: the Recipients listbox now supports unicode characters.
  • Extract Addresses: when extracting to a file, the user may now choose the character encoding of the output file, and whether to overwrite or append to an existing file. Previously, ASCII was always used, and the file was always overwritten.
  • Single Send: added support for unicode characters when simulating a database record.
  • The Single Send tool is now compatible with the Simple-Merge feature.
  • Insert Column: added the "Support Unicode Characters" checkbox. If checked, this will add the additional code necessary to make unicode in the database column appear correctly.
  • Change Recipient Address: if the old address is simple, it can now be detected and changed inside a compound address in the mailing list.
  • Added the /wt command line switch, which can set a time when the mailing should begin.
  • Wait Until: the date is now optional, in which case the operation will start at the next occurrence of the specified time.
  • Change Recipient Address: added the "Fast Search" option. Previously this mode was always used. The advantage to turning it off is that the search is not case sensitive, and the Recipient Column is allowed to contain compound email addresses.
  • View Results: added the ability to save changes to the database data without closing the window. Previously there was only a "Save and Exit" command.
  • Preview Recipients: added support for unicode characters.
  • Tracking: the automatic report FTP upload feature now supports SSL/TLS encryption.
  • Troubleshoot HTML: remote images are now tested for corruption, wrong extension, and excessive size. Added a warning that a meta tag is required for SVG images. Excessively large images produce no warning if the Shrink Images feature will resolve the problem.
  • Most global settings are now separate for each Windows user account.
  • Added the /ch command line switch, which will change an email address in a mailing list.
  • Remove Illegal Addresses: this now supports addresses that are separated with commas or semi-colons. Previously, each address had to be on a separate line. Also, it can now handle an unmatched quote mark gracefully.
  • Test Spam Score: this now reports all illegal hyperlinks, not just the first.
  • Tracking: Manage Account: FTP browse: added a "Create Folder" tool.
  • Tracking: added a "Clicks%" column to the Link Tracking table.
  • Basic Template: added the ability to hyperlink the text in the footer.
  • HTML images embedded using db_embed() will now appear correctly on the Preview Window.
  • Added the str_trim_front() and str_trim_end() G-Merge functions.
  • The str_trim() function now has an optional second parameter that specifies the characters that should be trimmed. Previously, this function would only trim whitespace.
  • Added the incoming_get_header_unicode() G-Merge function, which is useful for displaying the original email's headers in an auto-response or forward.
  • Auto-Respond Wizard: the default message body now includes the original email's headers, with full unicode support. The help file chapter on auto-responding also gives an example.
  • Added the build_email_list() G-Merge function.
  • Tracking Report Settings: added the ability to set the size of the pie chart.
  • Add Recipients: the "Ignore Duplicates" option now supports database cells that contain multiple email addresses.
  • Import Addresses: the file specification now supports unicode characters.
  • Scheduled tasks now obey the "Notify Operation Errors" feature if the operation aborts due to a failed pre-send test.
  • The mime_print() function now has an optional second parameter that allows you to specify that the email's headers should be printed at the top of the first page.
  • Send Preprepared: added support for a "X-DSN:" header which controls the Delivery Status Notifications feature.
  • When modifying an tag, Gammadyne Mailer will now preserve the XML-style trailing slash, if present.
  • HTML Editor: the Preview tab will now properly display images that are not located in the Embedded Files Directory, but are present in the Embedded Files List.
  • Added the "Preview Email" button to the bottom of the Literal branch.
  • The "Customize Toolbar" window now allows you to change the toolbar size.
  • Scheduler: the tray icon is now animated whenever a task is running.
  • Added the utf8_to_unicode() G-Merge function.
  • Connection String: if you hold down the shift key while clicking Browse, you will not be prompted to choose a driver. The previous driver will be used.
  • Store Successful Send Date: now produces an error if the database connection string contains "readonly=1".
  • prompt(): added the "depend_ignore" property, which makes the control invisible to the other depend_xxx properties.
  • Numerous improvements to how G-Merge script errors are reported.
  • The Open/Save Template window now supports selecting with arrow keys.
  • Verify All Addresses: added Copy, Print, Save As, Exit buttons to the bottom of the log window. The "Verify Addresses.log" file is no longer automatically created.
  • HTML Editor: Verify Links: now 10 links are verified simultaneously instead of one at a time.
  • HTML Editor: when applying a stock format, if the caret is already inside a stock format, the old format will be changed in-place. This is important because an should never go inside an for example.
  • Added the ability to have scheduled tasks be shared among all users rather than each user having a separate set.
  • The /e command line switch now supports the optional /d switch, which prevents duplicate addresses from being added to the exclusions. It also now supports the /q switch, which suppresses errors.
  • Test SMTP Servers: the server's supported authentication methods are now listed in the log.
  • Simple Send: added the "Delivery Status Notification" option. When enabled, the relaying mail server will send an email that reports whether the message's delivery was a success or failure.
  • The Troubleshoot HTML and Test Spam Score tools now warn if there is no element in the HTML body, as this may cause the email to receive a spam penalty. The default HTML Body now includes the element.
  • Added the %HostStatsFilepath% environment variable for the Pre-Send and Post-Send batches.
  • Convert Email Addresses Case: the total number of changes is now reported. Previously this was only reported when using a database.
  • The "b" date format code was generating the timezone bias for the current date. It will now generate the timezone bias for the specified date.
  • There is now a visual indication when side-help has focus.
  • Added the /nosum command line switch, which suppresses the Incoming Summary.
  • An error is no longer reported if the Override EHLO Domain field contains the "IPv6:" prefix.
  • Preview Window: the splitter can be double clicked on to set it to an optimal position. This will occur automatically if the window is maximized or unmaximized.
  • Preview Window: the "View Info" tool will now report all images embedded with the db_embed() function.
  • An error is now reported if two Simple-Merge columns have the same name.
  • The "Notify Operation Errors" feature will now report errors that occur in the Pre-Incoming Script.
  • Fixed: Validate HTML: for HTML5, the appearance of the W3C Nu HTML Checker page was glitchy.
  • Fixed: the Incoming Summary was not always reporting a correct number of failed auto-responses.
  • Fixed: using db_embed() will no longer cause an "Unable to load image" error to appear in the log.
  • Fixed: Make Styles Inline: for an internal style sheet, canonicalized characters (such as "&") were not being handled correctly.
  • Fixed: Make Styles Inline: was failing to download an external style sheet if its URL was completed with a tag.
  • Fixed: Preview Removal: the "Proceed With Removal" button was missing if only illegal addresses were found.
  • Fixed: mime_convert_to_html() was failing if the text body lacked a Content-Type header.
  • Fixed: View Results: after creating a new column, the cells in the column were in ASCII editing mode instead of unicode.
  • Fixed: when using CRAM-MD5 authentication, passwords longer than 64 characters were not working.
  • Fixed: specifying a project on the command line was sometimes causing it to be lost from the project history list.
  • Fixed: Test Spam Score: was penalizing anchors in the form of as being an illegal hyperlink.
  • Fixed: Preview Window: a header with a comma or semi-colon followed by a space was saved with an extra space.
  • Fixed: a DLL injection security vulnerability.
  • Fixed: View Results: Find And Replace: the search was not obeying the sorted order of the rows. It was moving through the unsorted order.
  • Fixed: visual glitch with the success/failure graph's mouse tracking.
  • Fixed: the db2_execute() function was returning FALSE for all UPDATE commands even if they succeeded, and logging a bogus database error.
  • Fixed: Parse Images, Make Styles Inline: unicode characters are no longer converted to question marks in a modified HTML tag's attributes.
  • Fixed: latch_html_unicode_until() was not converting canonicalized characters to unicode.
  • Fixed: the HTML editor's Preview tab was not displaying certain images depending on how they were specified.
  • Fixed: "Login Timeout" error when connecting to databases that take a long time to connect (since 41.0). Special thanks to Konstantinos Sirganis.
  • Fixed: Simple Send: the text body was being corrupted if the Default Format option was set to "Text".
  • Fixed: the help file was not remembering many of its global settings, including the Favorites and Search history (since 46.0).
  • Fixed: sometimes failing to detect a SMTP server's authentication methods.

New in Gammadyne Mailer 47.0 (Oct 9, 2015)

  • Added the "Shrink Images" option. When enabled, HTML images will be automatically reduced to the same size that they are displayed at, thereby slimming the emails, reducing bandwidth usage, and increasing the delivery speed.
  • Improved the appearance of icons. Changed from 8-bit GIF's to higher resolution 32-bit PNG's. Many icons have been redesigned.
  • Tracking: added the "View Time" pie chart to the tracking report.
  • Command Line: added support for unicode characters.
  • Tracking: report download speed is 78% faster thanks to compression.
  • Simple Send: added support for attachment filenames that contain unicode characters.
  • GM can now find a local HTML image that has no path information if that file's full path is listed in the Embedded Files List.
  • Improved support for latching unicode data from an incoming email and auto-responding with that data:
  • Added the latch_text_unicode() function, which will perform a latch on the incoming email's Text Body and return the result in unicode.
  • Added the header_from_unicode() function which can merge unicode data into a header.
  • Added the html_from_unicode() function which can merge unicode data into the HTML Body.
  • Added the utf8_from_unicode() function which can merge unicode data into the Text Body.
  • External HTML Body: now supports a file in unicode or UTF-8, provided that a byte order mark is present.
  • Internal HTML Body: now fully supports the UTF-8 byte order mark. Previously in this situation, unicode characters could be corrupted.
  • View Result Set: improved the global Search tool. Added the ability to perform search and replace. Added the ability to specify case sensitive, whole word, and wildcard searches. Added the ability to search backwards.
  • Added support for the APOP authentication method for POP3.
  • Numerous improvements to the project backup system.
  • Pseudo-Projects and Tracking are now compatible. Added the "Tracking" label.
  • Tracking: Manage Account: added the ability to browse the FTP server for the folder where the reports will be uploaded.
  • Make Styles Inline: added support for the "@import" directive.
  • Process Remote Email: IMAP Folder column: there is now a drop-down list that is populated with all the folder names on the server.
  • The "Lookup Illegal Recipients" tool is now compatible with Simple-Merge mailing lists. Previously it only worked on databases.
  • Extract Addresses From Files: added the "Unallowed User Characters" field.
  • Add Recipients: added the "Convert to lower case" option.
  • prompt(): added the ability to create a "groupbox" around a group of controls.
  • Scheduler: when enabling a task in the table, the next start date will now be calculated automatically, and will appear in the "Next Run" column.
  • Simple Send: if the "Import From File" tool is used, images on the Preview tab will now display correctly.
  • Proxy Server: added an "Import" button that allows you to import the proxy settings from a project of your choosing.
  • Tracking: Download All: added a choice of downloading only the selected campaigns.
  • Troubleshoot HTML: now warns if an embedded image is corrupted, or if its extension does not match its actual type.
  • Extract Addresses From Files: the file specification now supports unicode characters.
  • Basic Template: added a field for changing the main title's font.
  • Added the "Verify HTML Links" tool to the Test menu. Although this tool already existed in the internal HTML editor, the ability to verify links in the External HTML Body is new.
  • The "Both" Image Locality will no longer insert the Content-Location if the resulting URL would refer to a non-existent file. Although it would still work in most email clients, there is no advantage to doing so.
  • Simple Send: added the "View MIME" tool.
  • Added a tool for importing DKIM/DomainKeys settings from another project.
  • Simple Send: Resize Image Attachment: this now supports 32-bit images with an alpha channel. Previously, the alpha channel would be discarded.
  • Auto-Responder Wizard: if the email body is blank, the wizard will now load an appropriate template that demonstrates how to include the original email's body in the auto-response.
  • Test Sender Domain: now queries the MX record for the domain, and then the A record for the MX record. This eliminates both false positives and false negatives. Some domains have no website, only a mail server, although this is rare.
  • HTML Editor: Raw tab: Open From File tool: now supports files with a unicode or UTF-8 byte order mark.
  • Send Log: the Failure Summary now lists a brief English description of each error instead of a numeric error code.
  • Simple Send: Export To File: the HTML images are not processed before the export is created. This can wait until an email is sent.
  • The mime_convert_to_html() function now supports unicode.
  • Scheduled tasks will now obey the "Email Send Log To" feature if there is an error in one of the pre-operation tests.
  • Added a Retrieve Account button to the Tracking Login window.
  • Send Summary: added the "View Host Stats" tool to the File menu.
  • The "Single Send" tool will now report if any of the project settings are invalid before prompting the user to enter an email address.
  • Side-Help: the relative font size is now independent of the windowed help file. Images now scale to a smaller size, not just text.
  • There is now a proper media type for SVG and SVGZ attachments.
  • View Send Log: in some cases the log was copied to a temporary file named "TempLog.txt" in the main app folder. Now this file is given a unique filename, and is located in the user's temporary folder.
  • Previously, the "Override EHLO Domain" field had an "Auto-Detect" button. This has been renamed "Detect Domain", and there is now a "Detect IP" button. Either should work fine.
  • mime_print(): added support for unicode characters in the Text Body.
  • When the date_format_regional() function is called from a header, it will now return MIME-encoded unicode characters if necessary.
  • Test Sender Domain: the DNS query is now performed in a background thread so that the "Abort" button will be instantly responsive.
  • Test Incoming: the server's supported authentication methods are now reported.
  • Test DNS/Test SMTP/Test Incoming/Test Sender Domain: the progress window will not be created until 2 seconds after the operation starts. Since the test usually completes very fast, there is no reason to flash a window on the screen and then immediately remove it.
  • Added the db2_get_html() and db2_get_utf8() G-Merge functions. They fetch unicode data from a secondary database and encode them for merging in the HTML or Text Body.
  • Tracking: the HTML report is now kept in a temporary file instead of in-memory. Graphs are embedded as 8-bit PNG's instead of JPG's. And the size per recipient has been reduced by 7%. These measures help ensure that large reports can be displayed without running out of memory.
  • Added the %ProjectFilename% environment variable for the Pre-Send and Post-Send batches.
  • The db_embed() function is now compatible with the "Auto Image Dimensions" feature.
  • HTML editor: the Table Properties tool now appears on the toolbar's table menu. Previously it only appeared on the HTML editor's context menu.
  • HTML Editor: Raw: added a "Paste Unmodified" tool.
  • External Locality: an image is no longer embedded if it is present on the server and the URL is being completed with a tag.
  • External Locality: the "cid:" prefix is now inserted if the URL that is completed with a tag does not point to an existing file.
  • There is now a 2 second pause before performing an immediate retry to the same SMTP server. This can improve the likelihood of success.
  • The Progress Window is now more responsive to clicking the Abort button for an individual thread.
  • The number_format() function now allows a string for the first parameter.
  • Members Only & Simple-Merge: an error is now reported if there are multiple Recipient Files with mismatched column names. Previously, senders would be rejected as non-members for no apparent reason.
  • Tracking: Manage Account: when you click OK, the FTP settings are now tested before allowing the new settings to be saved to your account.
  • Added the "Validate CSS" tool to the context menu of the HTML Body File field.
  • Literal branch: added a "Load Test Email" button.
  • Basic Template: there is now a checkbox that controls if the background is a different color than the body.
  • Campaigns window: added a "Purchase Credits" option to the File menu.
  • Added the "Possible?" button next to the Direct Delivery option.
  • Side-Help: the topic will now auto-switch when clicking on a tree branch if no control has focus.
  • Database Connection String: Browse: if there is already a connection string that specifies a driver, the same driver will be pre-selected on the "Choose Driver" window.
  • Convert Forwards To Text: this feature will now also remove all HTML embedded images from the email.
  • Added a "Help" button to the Create Table window.
  • The "SQL Date Format" field is now hidden when "Hide Advanced Settings" is checked. The "Automatic" mode works on all databases as far as we know.
  • Added a splitter control to the Exclusions branch.
  • Fixed: the /q switch was failing to prevent certain error popups.
  • Fixed: the "Validate HTML" tool was broken after the W3C made some changes to their website.
  • Fixed: some pairs of characters, in certain fonts, were displayed too close together.
  • Fixed: a rare but serious problem could cause a window to render incorrectly.
  • Fixed: when a scheduled task encounters an error when carrying out the "Email Send Log To" feature, an error window was appearing. Scheduled tasks are always supposed to fail silently.
  • Fixed: Export Pseudo-Project: when the Deliver To MAPI Message Store is empty, the exported value was "(null)" when it should simply be blank.
  • Fixed: Sign-Up Wizard: when electing to send an auto-response, the Text Body was being put in ASCII mode causing the auto-response to appear as garbage until GM is restarted.
  • Fixed: Incoming Wizards: the protocol was being stored in the last row of the Incoming Source table instead of the first.
  • Fixed: the unicode_to_header(), unicode_to_html(), unicode_to_utf8() functions were not working on SQL Server.
  • Fixed: Process Remote Email: IMAP Folder column: error if the folder name contains a space.
  • Fixed: View Result Set: was unable to store unicode characters to SQL Server.
  • Fixed: when opening a project from Windows Explorer, the side-help was blank.
  • Fixed: an HTML image with canonicalized characters was not always displaying properly on the Preview Window.
  • Fixed: the help configuration file (help10006.gdfd) was being corrupted (since 46.0).
  • Fixed: an inability to connect to some POP3 servers if "Secure Authentication" is checked (since 46.0).

New in Gammadyne Mailer 46.0 (Apr 14, 2015)

  • Added the ability to compare two tracking campaigns, side by side in one report. This is useful for A/B testing.
  • Added support for unicode characters in an attachment filename.
  • Added the "Side-Help" feature. This displays the help file in a narrow panel on the right side of the main window. It will display help for whatever control has input focus.
  • Simple-Merge: added support for CSV files that are encoded in UTF-8. You can now use the same methods that embed unicode database data, namely the unicode_to_utf8(), unicode_to_html(), and unicode_to_header() functions.
  • Added support for NTLM authentication for SMTP, POP3, and IMAP4. This improves security and compatibility with Microsoft IIS, Exchange Server, and other mail servers.
  • Numerous improvements to the "Import CSV Data" tool. Added support for CSV files that are encoded in UTF-8.
  • Basic Template: added the ability change the order of the content sections. Previously it was necessary to manually edit the HTML code.
  • Added the "Create Table" tool to the Database menu.
  • Basic Template: added the ability to set a texture for the backdrop.
  • When an HTML image specifies a relative URL, and there is a tag, and Image Locality is External, the URL will be changed to an absolute URL. This ensures that the image will appear correctly in email clients that do not support tags.
  • Added a summary of the reasons for failed sends at the bottom of the Send Log and the Send Summary.
  • Troubleshoot HTML: external images are now downloaded, and an error is reported upon failure.
  • Scheduled tasks will now obey the "Test HTML Images", "Test DKIM", "Test SMTP Servers", "Test DNS Servers", and "Test Sender Domain" options. The operation will abort if any test fails.
  • Added the mime_print() function, which allows you to print an incoming email.
  • Added the "Tracking" option to the Welcome Wizard.
  • Added the "Open Project" tool to the File menu of the Tracking Campaigns window.
  • View Result Set: the toolbar now has labels under each icon.
  • HTML Viewer: View Source: this window now has a menu bar. Added the "Validate HTML" and "Validate CSS" tools. Added some hotkeys.
  • The maximum number of threads while tracking has increased from 32 to 50.
  • Added a "Create Account" button to the window that asks for your tracking credentials.
  • When forwarding an email, the Disposition-Notification-To header is now removed first.
  • View Result Set: if the system shuts down, the user will now be prompted to save their changes instead of automatically discarding them.
  • Preview Window: the Attached Files List now has Copy, Edit, and Preview tool buttons.
  • Added a "Test" button for the proxy server.
  • Pseudo-projects can now specify a proxy server.
  • Added the send_delay_local() and send_delay_utc() functions, which can be used to delay the sending of an individual email.
  • Recipient List/Exclusion List/Removal List: the Import Addresses tool and Drag and Drop now support unicode characters in the filepath and file contents.
  • Added the mime_convert_to_html() function, which is useful for including the original email in an HTML auto-response.
  • Added the mime_get_text_body_utf8() function, which is useful for including the original email in a text auto-response.
  • Tracking: Manage Account: FTP Upload: added a "Test" button, which will verify that the FTP server can be connected to, the credentials are valid, and the folder exists.
  • The options on the Tracking menu can now be put on the toolbar.
  • Tracking: Download All: the report settings are now obeyed.
  • When a G-Merge error occurs, the entire statement is now logged.
  • It is now possible to select multiple tracking campaigns and delete them all in one step.
  • When an "Invalid variable or database column" error occurs, the error message will show what field the error occurred in.
  • Tracking: the "Opens Over Time" graph will not display more time than has elapsed since the start of the campaign.
  • The various server testing tools now display a green, yellow, or red status bar above the log.
  • The "Simple Send" tool will now report if any SMTP setting is erroneous before proceeding.
  • Added the texture_file_to_url() and texture_stock_to_url() G-Merge functions. These can be used to embed an inline image in CSS or in an tag.
  • The date_format_regional() function now supports two new optional parameters that control the date and time format.
  • The "Test Incoming Mail Servers" tool now verifies the existence of the IMAP Folder (when a folder name is specified in the "IMAP Folder" column of the Incoming Source table).
  • The "Schedule One-Time Task" tool will now report if any of the project settings are invalid. Better to find out immediately, not when the task runs.
  • The "Email Tracking Report" tool now supports SSL, DKIM, and DomainKeys.
  • The "View Result Set" tool will now work if a Custom SELECT Statement is specified, and no Table Name is specified.
  • To avoid an error, the Delivery Status Notification feature is now ignored if the SMTP server does not support it.
  • Added the incoming_get_date() function, which returns the date when the incoming email was sent.
  • The HTML Editor's "Verify Links" tool now displays the error code and explanation.
  • Simple-Merge: blank and illegal recipients now count as rejections, and count toward the -RecipientBlank- and -RecipientIllegal- variables, just like a database.
  • prompt(): it is now possible to put add/delete/move/rename buttons at the bottom of a listbox.
  • Minor improvements to the HTML-to-text conversion.
  • The "Test Incoming Mail Servers" tool now reports the number of emails in the mail account.
  • The server testing tools will now log the authentication method used.
  • Added the %EmbeddedDir% variable to the Send Batches, which holds the HTML Embedded Files Directory.
  • The "Test HTML Images" feature now reports an error if the URL has no filename.
  • The "Test Sender Domain" feature can now be aborted if the DNS server is not responding.
  • Extract Addresses From Files: the destination editbox now supports Undo.
  • When using the "Override EHLO Domain" feature and an IP address is specified, the EHLO command will now surround the IP with brackets in order to comply with RFC 2821 4.1.3.
  • Change Recipient Address: when operating on a CSV file, the new column value will be quoted if necessary to ensure the CSV format is not compromised.
  • Added the date_current_utc() G-Merge function, which returns the current date/time in UTC.
  • Simple Send: the "Add Attachment" tool now has a hotkey: F2.
  • The "Reading-Confirmation" header now supports more than one email address, although the recipient's email client may not.
  • The Preview Limit now goes up to 999,999.
  • Behavior change: if "Secure Authentication" is checked, and secure authentication cannot be performed, an error will occur instead of falling back on insecure authentication. Previously, the user would never know that the password was transmitted insecurely. To prevent this from breaking your operations, the "Secure Authentication" box will become unchecked when an old project is opened. You may want to manually enable and test this feature.
  • Added the "Template Designer" button to the bottom of the HTML Body/Options branch.
  • If there is an error in the To: header, the "Hide Advanced Settings" option is now automatically unchecked so that the To: header will become visible.
  • Improved the MIME decoding speed.
  • When the Sender is "Same As SMTP User", the SMTP server name is now allowed to be an IP address provided that the SMTP user name is an email address.
  • SMTP: CRAM-MD5 authentication is now preferred over LOGIN if both are supported, as it is more secure.
  • The "Identity Column" field has been renamed "Primary Key" as this term is more common.
  • If an error occurs when changing the Followup Date or Index, the whole operation will abort.
  • Behavior change: the Post-Send Script will no longer run if a database error occurs.
  • Fixed: the Failure Script's -ErrorResponse- variable was not being populated for delayed retries.
  • Fixed: the "Dial-in to Internet" option is now obeyed before the pre-operation tests, not after, since they require Internet access.
  • Fixed: the system was not being allowed to shutdown while the Send Summary window was up.
  • Fixed: after generating a tracking report, a temporary file was going undeleted.
  • Fixed: if the List-Unsubscribe header is "", and the sender is a compound email address, the List-Unsubscribe header will now only use the simple email address.
  • Fixed: the Preview Recipients tool will now ignore the "Test HTML Images" and "Test DKIM" options.
  • Fixed: the file_run() function was not working if the process output was redirected to a file with the ">" operator (since 45.0).
  • Fixed: if either of the Followup Columns were nonexistent, instead of reporting an error at the beginning of the operation, the entire operation would play out with an error for each recipient.
  • Fixed: email addresses with a long top-level domain, such as ".consulting", were being treated as illegal.
  • Fixed: the "Test DNS/SMTP Servers Before Sending" features were not logging the error if the test failed.
  • Fixed: when both "Members Only" and "Simple-Merge" were enabled, the members list was built from email addresses in all columns, not just the Simple-Merge Recipient Column.
  • Fixed: the "Members Only" feature was not being obeyed when the Forward-To-All operation was being launched with the incoming_forward_to_all() function instead of by Processing Mode.
  • Fixed: Tracking: if you cancel the Export CSV Data tool, this tool will not work right again until after the report is re-generated.
  • Fixed: Tracking: the "Forward Rate" statistic was not counting all forwards. Also, the first 15 seconds of view time was not affecting the Interest Score.
  • Fixed: when tracking is enabled, a strange error could occur if a link contains a G-Merge statement which contains any character that requires URL canonicalization. Special thanks to Anthony Marchesini.
  • Fixed: hang and eventual out of memory crash if the last row of a CSV file has no line-break, and the last column is quoted.
  • Fixed: possible crash while running a scheduled Incoming Operation.

New in Gammadyne Mailer 45.0 (Oct 21, 2014)

  • Added support for SOCKS5 proxy servers. Refer to the new settings on the Servers branch. By renting a cheap proxy server, you can protect your IP address from blacklisting.
  • Added the "Process Messages Only Once" option to the Processing branch. If checked, an incoming email will be ignored if it was processed previously. This is useful when processing multipurpose accounts where not all emails are deleted.
  • Added the "Schedule One-Time Task" tool. This allows you to quickly specify a Send or Incoming Operation to be launched in the future automatically.
  • Added the ability to email the tracking report. The File menu of the Tracking Report window now has an "Email To" tool.
  • The toolbar now has labels under each icon.
  • Added the "Verify Links" tool to the HTML editor. This will test if all of the HTML Body's hyperlinks go to a valid web page.
  • Added the "IMAP Folder" column to the Process Remote Email table. This allows you to process email in an IMAP4 folder other than the inbox.
  • Added the "Country Totals" section to the tracking report. This lists the number of opens in each country.
  • Added support for unicode in the Subject column of the Follow-Ups table.
  • Added do...while loops to the G-Merge language. Unlike a while loop, the condition is tested after the loop body.
  • Added the "Run Incoming Script Only Once" option below the Incoming Script.
  • Added the "Save Project After Incoming Operation" option to the Incoming branch.
  • Added the ability to import and export the list of scheduled tasks. This is useful when transferring GM to another computer.
  • Added the ability to rename and delete a template in the Template Designer's "Open Template" window.
  • Added support for external text body files that are in unicode or UTF-8 when using the Follow-Up system.
  • The tracking report now shows the number of clicks and click through rate for each Browser and Platform. Various other minor improvements.
  • Added the "Auto-Start" option to the Scheduler's "Options" menu. Previously there was no easy way to prevent the Scheduler from auto-starting.
  • Added the ability to change the filename of the attachments zip file. Previously it was always "attachments.zip".
  • The List-Unsubscribe header now supports G-Merge.
  • If the HTML Body contains a tag, this is now used to locate and embed an image. Previously the tag was ignored, and GM would only find the image if it was specified with a complete URL, or was located in the Embedded Files Directory. This makes it easier to use a web page for the HTML Body.
  • When the "Use Clauses" removal option is checked, it now allows a Removal Operation to support the "Use Custom SELECT Statement" feature. Previously, the entire database table was searched for removals. Now, the search can be limited to the records returned by the Custom SELECT Statement.
  • The Incoming Summary now reports the number of successful/failed auto-responses, and the number of failed forwards.
  • Added the "Opens over time duration" tracking report setting. Previously this was fixed at 48 hours.
  • Added the "Project" button to the Scheduler, which opens the project associated with the selected task.
  • Template Designer: when choosing a new color from the Color Picker dialog, the current color is now applied to the template immediately. Previously, the template would only reflect the change after the dialog closed.
  • Added the ability to control if the Scheduler's Close button will terminate the Scheduler, minimize it, or prompt the user for what to do. Previously, the user was always prompted.
  • When choosing Generate Report from the Tracking menu, if the project is not configured for tracking, the user will now be prompted to enter a user name and password.
  • Template Designer: a color preview is now displayed for each theme. It appears to the left of the theme name.
  • If the Follow-Up system is enabled, the Test Spam Score tool will now ask the user which follow-up should be tested.
  • The "Automatic" SQL Date Format mode now supports Oracle.
  • The "Convert Forwards To Text" feature now supports unicode characters.
  • Added a shadow effect to the Basic template's main title. Also, if "Show Caption" is unchecked, the top corners of the main title will be rounded.
  • The Send Summary and Send Log will now report how many emails were throttled, and the total time spent throttling.
  • Added the "Tab Through Cells" option to the View Result Set window's Options menu. When enabled, the tab key will advance to the next cell, not the next control.
  • Added the "Show Common Tasks" option to the Template Report window's Options menu.
  • Statistics from a "Forward To All Recipients" operation are now reported on the Incoming Summary, and are recorded in the -Forwards- and -ForwardsFailed- variables.
  • The From: header now allows the "" tag to appear anywhere. Previously, it was only supported if the From: header was exactly "" and nothing else.
  • Added a menu bar to the Tracking Campaigns window. Added a hotkey for the "Download All" tool, F6.
  • The "Test SMTP Servers" tool will now report if any project setting is erroneous before performing the test.
  • Added the "Preview Literal Email" tool to the context menu for the Literal Email. This allows you to see what the email might look like in an email client.
  • The "Make Styles Inline" feature now supports tab characters in the selector.
  • Added the ability to control the alignment of the Basic template's section titles.
  • The "Export Pseudo-Project" tool will now report if any of the project settings are invalid. Previously it would export the erroneous settings without a complaint, and you would have to deal with the error when you tried to run the pseudo-project.
  • Added the imap_move() G-Merge function, which moves the current incoming email into a different IMAP4 folder on the server.
  • The Troubleshoot HTML tool now reports if a local image is too large. Large images will not appear in some email clients.
  • Updated the SSL module. This resolves some important security vulnerabilities, including POODLE.
  • Added to the HTML editor the "Normal" stock format, which undoes all of the other stock formats.
  • Added the date_format_regional() G-Merge function, which will format a date using the computer's regional language settings, with native names for months and weekdays.
  • It is now possible to hide any column in the Tracking Campaigns window.
  • A semi-colon can now be used to comment out a line from the Recipient File, Exclusion File, and Process Local Email fields.
  • Added the str_compare() G-Merge function, which is useful for avoiding the troublesome < and > characters in HTML.
  • The Simple Send window's "Paste Attachment" tool will now remember the JPG Quality setting.
  • When dragging and dropping files on a batch, this will now insert the filenames, not the file contents.
  • The HTML editor's "Insert Date/Time" tool now uses the Ctrl+Shift+D hotkey, same as editboxes. The "Move Row Down" tool's hotkey has changed to Ctrl+Shift+J.
  • The installer and uninstaller will now close the Scheduler so that a reboot is not necessary.
  • The "Test Spam Score" tool now checks if the subject is all upper or lower case.
  • The Send Wizard will now automatically set the Exclude Users field to "mailer-daemon,postmaster,noreply,nobody,abuse,remove,unsubscribe".
  • Errors in the Post-Send Script are now reported in a popup window. Previously, the user would only know if an error occurred by looking at the Send Log.
  • If DKIM or DomainKeys is used, the 7-bit and 8-bit body encodings are no longer allowed due to a rare incompatibility.
  • Some of the log's operation parameters are now displayed as "No/Yes" instead of "0/1".
  • The file_run() and file_start() functions now support multiple command lines separated by line-breaks.
  • Added the -RecipientBlank- and -RecipientIllegal- variables to the Post-Send Script.
  • The "Export Pseudo-Project" tool now exports the database password that is specified by clicking the "Password" button (next to the Connection String field).
  • If the database table contains a blank value in the Recipient Column, this now counts as a rejection.
  • Added the %RemovalFilepath% environment variable to the batches. This is the filepath specified in the Log Removals field.
  • Added the "Sellin' Melon" theme to the basic template.
  • The Analyze Database tool now shows an example of the date format as it appears in SQL.
  • Added the "/ns" switch which will prevent the project from being saved after an Incoming Operation finishes.
  • If the process runs out of memory, all expired DNS records will be discarded from the cache. This helps avoid a crash, especially for large Direct Delivery mailings.
  • The root tree branches are now larger and bold.
  • There are now labels on the right side of the Success/Failure graph.
  • The Data Source drop-down list is now alphabetized.
  • Simple-Send: spaces are now trimmed from the beginning and end of all headers.
  • Fixed: when generating a DKIM/DomainKeys keypair, there were extraneous spaces in the "DNS Record Value" field, although they would not cause a problem.
  • Fixed: the tracking report was not reporting browsers, platforms, nor average view time if Show Recipients was set to "None".
  • Fixed: when aborting a Send, and Send Only To Range is enabled, the reported index of where the operation could be resumed was incorrect.
  • Fixed: certain symbolic characters were not supported in database passwords.
  • Fixed: rare hang if the process runs out of memory (since 44.1).
  • Fixed: the "Use All Adapters" feature was not working as documented. It was choosing a single adapter for the entire mailing instead of one for each email.
  • Fixed: on the Progress Window, rejections were causing the Overall meter value to be too low and the Time Remaining to be too high. Also, the meter was not updating during the "Waiting For Threads To Finish" phase. Also, the index of the message ready to be sent was incorrect when the Send Only To Range Of Recipients feature was enabled.
  • Fixed: HTML editor: search and replace: if the replacement string contains the search string, an infinite loop could result.
  • Fixed: email could be signed with a bad DKIM/DomainKeys signature if there are no attachments, no embedded images, not both a text and HTML body, and the body does not end with a line-break.
  • Fixed: G-Merge in the Sender field was not working (since 41.0).
  • Fixed: assigning a value to a LONGCHAR database column was not able to increase the length of the data (since 44.1).

New in Gammadyne Mailer 44.1 (Jun 17, 2014)

  • The Universal Domain Throttle will now periodically discard old throttles in order to lower the memory requirements of a large mailing.
  • If a DNS error occurs, and there is an expired record in the cache, the cached record will be used so that the DNS query does not fail. This is useful for avoiding transient DNS errors, improving the delivery rate on dodgy Internet connections. An old DNS record is better than no record, since DNS records rarely change.
  • The Tracking Campaigns window now displays the number of credits in the account.
  • The Simple Send window now has a menu bar. The Load and Save buttons have been removed to the File menu.
  • Basic Template: added the ability to change the main title's font size.
  • Added the "color" control to the prompt() function, which allows the user to choose a color.
  • Added the date_weekdays_between() function.
  • If the process runs out of memory, the DNS caches will now be flushed to free up some memory to hopefully avoid a crash.
  • Fixed: the Alt+R hotkey was not working if the tree had focus.
  • Fixed: G-Merge comments were not working when following an expression.
  • Fixed: the "Make Styles Inline" feature was not tolerating runs of more than one space in a selector.
  • Fixed: a DNS error could cause the Universal Domain Throttle feature to be ignored.
  • Fixed: when opening the drop-down list of any database column field, if there is a Custom SELECT Statement, the list would only contain the column names in the result set. Now, all columns in the table will be listed.
  • Fixed: there was an unnecessary DNS lookup (per recipient) if Universal Domain Throttle was enabled and no Domain Throttles exist.
  • Fixed: possible crash after changing the contents of a string-type database column during a Send Operation (since 1.0).

New in Gammadyne Mailer 44.0 (Apr 14, 2014)

  • Added the Template Designer tool to the Tools menu.
  • Added the ability to automatically upload the tracking report and data file to an FTP server after a specified number of days. To configure this, choose "Manage Account" from the Tracking menu.
  • Added the "Auto Image Dimensions" option to the HTML Body/Options branch. If checked, the "width" and "height" attributes are added to all tags in the HTML Body. This simplifies HTML development and improves the load time and layout's consistency. This feature is enabled by default for new projects, but not for old projects (to prevent a change of behavior).
  • Added the "List-Unsubscribe" header to the Headers branch. Some email clients may show an "Unsubscribe" button if this header is present. This mitigates complaints and blacklisting.
  • Added the "Validate CSS" tool to the HTML editor's Raw tab. This will verify that there are no syntax errors in your style sheet.
  • The per-campaign tracking cost has been reduced from 25 credits to 0.
  • The Follow-up feature is now compatible with tracking.
  • Added the "Sort By Interest Score" setting to the Report Settings window. This will sort the recipients on the tracking report by their Interest score, which makes it easy to concentrate your marketing resources on the top prospects.
  • Added the "Email Summary To" setting to the Send/Logging branch. This will email the Send Summary or Incoming Summary to a specified email address after an operation completes. This is especially useful for scheduled tasks.
  • The "View Result Set" window's Search tool now supports unicode characters.
  • Added a menu bar to the Scheduler.
  • Updated the SSL module. Numerous bug fixes and security improvements.
  • Added the "Test DKIM" option to the Send branch. This will ensure that DKIM is working correctly before a mailing goes out.
  • The "Test Spam Score" tool will now test all relaying SMTP servers for blacklisting.
  • Added the html_from_text() G-Merge function. This will convert plain text into HTML code, with fully functioning hyperlinks.
  • Added the mime_convert_to_text() G-Merge function. This can be used to convert an HTML email to text, presumably before forwarding it, or to make latching easier.
  • After creating or editing a scheduled task, if the "Next Run" date has not been specified, the next appropriate time will be chosen automatically.
  • The Send Operation now supports multiple email addresses in the same row of a Simple-Merge mailing list.
  • Added the ability to change the dimensions of the tracking graphs.
  • Numerous improvements to the Simple Send window's Attachments tab. The "Edit Attachment" tool now supports unicode.
  • Added the option to have a one-time scheduled task delete itself after the task runs.
  • The "Make Styles Inline" feature now supports descendant selectors, such as "div a { ... }"
  • The "Bounce-Back" and "Bounce/Opt-Out" wizards will now ask the user if recipients should be removed immediately, or placed in the Removal List for manual review.
  • Added support for the following SQL Server data types: datetimeoffset, sql_variant, time, xml.
  • The "Use Custom SELECT Statement" feature no longer prevents "let" assignments from working, and is now supported by most tools. However, the user must be certain that the Identity Column is selected from the table that is identified in the Table Name field.
  • Added the "Insert Date/Time" tool to the HTML editor.
  • When a scheduled task encounters a fatal error, the "Notify Operation Errors" feature is now obeyed.
  • The "Test SMTP Servers" and "Test Incoming Servers" tools now report the SSL cipher, key size, and version.
  • Added the ability to rearrange the order of scheduled tasks.
  • Added an introductory window to most of the wizards.
  • The HTML editor's "Insert Groupbox" tool will now put the selected text inside the groupbox instead of deleting it.
  • Added the ability to comment out a line from the Exclude Users, Exclude Domains, and Include Domains fields. Put a double slash ("//") at the beginning of the line.
  • Various improvements to SMTP error messages.
  • Added the "Raw" and "Edit" menus to the External HTML Body's editor.
  • The Scheduler will no longer allow the computer to sleep/hibernate if a task is running.
  • prompt(): added the "Bar Drawer" control type.
  • Added the F5 hotkey for "Refresh" on the Tracking Campaigns window.
  • Added the "Customize Toolbar" option to the "View Result Set" window's Options menu.
  • All wizards now support the F1 hotkey, which opens the help file.
  • The Scheduler's "Open Project" tool will no longer create a new instance if the project is already open, it will bring the existing instance to the foreground.
  • Added the "Emails Per Hour" stat to the tracking report.
  • Added the "Universal" mode to the SQL Date Format field.
  • The "binding" method is no longer used for SQL Server because some columns may not be readable if they are in a certain order. There is a small performance penalty for this, but it is necessary to work around the buggy behavior of SQL Server that Microsoft is clearly never going to fix.
  • When an email is forwarded, the Message-ID header is now changed. This reduces the likelihood that the email will be considered spam.
  • You may now double click on a scheduled task to edit its properties.
  • HTML editor: when replacing an image, the new image will have the same width as the old image. This is important when replacing the placeholder images of a template.
  • Added the "Display Bottom Buttons" option to the View Result Set window's Options menu.
  • The "Test Spam Score" tool now obeys the adapter settings on the Servers branch.
  • The "Troubleshoot HTML" tool now warns if the HTML Body is excessively large.
  • The "Domain Throttles" branch has been renamed "Throttles". The "Pulse" setting has been moved there.
  • Redesigned the Default skin. The old skin was renamed "Air". Improved the appearance of tables.
  • During an Incoming Operation, if a mail server domain name cannot be resolved into an IP address, a popup error would appear and the operation would halt until the user chooses to abort or retry. Now the retry will be automatic after 30 seconds. This prevents the operation from grinding to a halt due to a transient DNS problem.
  • When GM is launched with a command-line switch, the specified project will no longer appear in the history at the bottom of the File menu.
  • The "Check Blacklisting" tool will now reset the DNS cache before making DNS queries so that it reports up-to-date information.
  • When using a DOS batch's "Run Batch" tool, the environment variables will now be set just as they would if an operation were running.
  • prompt(): the "multiline" property for editboxes can now specify the height of the editbox, in lines. Previously, multiline editboxes were always as tall as the window would allow.
  • When printing a tracking report that uses the "Colorful" theme, the solid-colored panels are now printed as transparent in order to save colored ink. Also, the "Map" button is not printed.
  • The Incoming Log now mentions where the processed email address is located.
  • Double clicking on the tree splitter will now set it to the optimal position.
  • Added a Help button to the bottom of the Content and Mailing List branches.
  • Added the -DeleteSuccesses- and -DeleteFailures- variables to the Post-Incoming Script, although it is rare that deleting an email would fail.
  • Added the %ProjectFilepath% environment variable to the DOS batches.
  • The Send Log now reports the total number of database rows fetched.
  • Lookup Recipients: pressing Enter is now equivalent to clicking the Search button.
  • Fixed: the "Send Prepared Emails" tool was failing to obey the "Copy Failures" feature if Delayed Retries is enabled.
  • Fixed: the db2_execute() function was not logging the database error. Also, it was returning FALSE for all INSERT commands even if they succeeded.
  • Fixed: during Send/Incoming/Remove operations, GM was not preventing sleep/hibernate on Vista and later. The old method only worked on XP/2003.
  • Fixed: the file_run() G-Merge function would fail if output is redirected to a file with the ">" operator.
  • Fixed: View Result Set: the Search Column tool was not working if no cell had focus.
  • Fixed: the "Notify Operation Errors" feature was always using Direct Delivery regardless of the project setting.
  • Fixed: error if the URL in an tag specifies a port number.
  • Fixed: when connecting to SQL Server, GM was running "SET ANSI_WARNINGS OFF" to prevent errors about data truncation (since 42.0). However, this was causing problems with some Views. This option is no longer set.
  • Fixed: the "Make Styles Inline" feature was not operating on the tag, and will now skip over @media directives without disruption.
  • Fixed: under rare circumstances, when "Retry direct delivery failures indirectly" is unchecked, an indirect delivery could be attempted anyway.
  • Fixed: even if Direct Delivery Retries is set to 0, a retry could still be performed.
  • Fixed: the Simple Send tool's "Send Another" feature was failing to recreate the HTML editor, causing it to appear black (since 43.0).
  • Fixed: the Scheduler was failing to recognize that a task had completed if the "Display Send Summary" option was unchecked, and in some other rare situations.
  • Fixed: the "Make Styles Inline" feature was replacing an existing style attribute without preserving its original content. This could cause a visual glitch in the HTML body.
  • Fixed: forwarding no longer fails if DKIM/Domainkeys is enabled.
  • Fixed: the "Exclude Domains" field was reporting an error for top-level domains (since 43.0).
  • Fixed: GM can now avoid a crash in the FileMaker ODBC driver. Special thanks to Ed Robinson.
  • Fixed: crash when running a List-Serving project as a scheduled task. Special thanks to Greg White.

New in Gammadyne Mailer 43.0 (Oct 30, 2013)

  • Added a built-in scheduler, which is much easier to use than Windows Task Scheduler. Tasks run in the background without taking up space on the taskbar. Their progress can be monitored in the scheduler.
  • Major improvements to the "View Result Set" tool:
  • Added support for editing unicode characters in database columns.
  • Added a toolbar.
  • Added the "Column" menu.
  • Added the "Delete Column" tool.
  • Added the ability to sort columns based on numeric values, dates, etc. instead of just alphabetically.
  • Searches can now be performed when there is no Identity Column.
  • For large tables, greatly improved the speed at which the table scrolls.
  • Added a "Revise" button to the search tool's "No occurrences found" window.
  • Fixed: error trying to save a value with an apostrophe or backslash to a binary column.
  • The "Test Spam Score" tool can now determine if your emails will fail an SPF check. This will alert you to a problem that could seriously damage deliverability.
  • The "Make Styles Inline" feature now supports style sheets located in an external file or Internet URL.
  • Added the "Opens Over Time" graph to the tracking report.
  • Improved the detection of soft bounces by examining the "message/delivery-status" attachment. Previously, some soft bounces were being detected as hard. This was causing unnecessary removals from the mailing list.
  • Improved the inner workings of the Send Progress window. Lowered CPU usage and improved throughput, especially with a large number of threads.
  • Redesigned the project backup system. Instead of making just 1 backup, now up to 20 are kept. Added the "Restore project backup" tool to the File menu.
  • The Send Progress window now shows the estimated time remaining.
  • Improved the cosmetic appearance of the tracking report.
  • Minor interface improvements.
  • Added to the tracking report a summary of the total number of each type of platform.
  • The Simple Merge feature was previously considering any comma, semi-colon, or tab to be a field separator. This would cause a problem if any field contains a semi-colon in a comma separated file, for example. Now the field separator is auto-detected from the first line of data, and only that separator is allowed to separate fields. Also, the vertical bar (|) can now be used as a separator.
  • Added to the "Lookup Recipients" tool support for unicode characters.
  • Added the "Estimated Opens" column to the Tracking Campaigns window.
  • Added the "Insert Opt-Out Link" tool to the HTML editor.
  • The Send Operation Wizard now allows the user to configure the Address Book profile, password, and distribution list.
  • Added the ability to limit how many times the Incoming Operation is repeated.
  • The tracking report now lists the percentage for each browser.
  • The HTML editor's toolbar now combines many tools into drop-down menus.
  • Added 69 new blacklists to the Check Blacklisting tool.
  • Added the "Insert Horizontal Rule" tool to the HTML editor.
  • When tracking is enabled, the maximum number of threads has been doubled to 32. Server upgrades have made a much higher load possible.
  • Added support for SSL's "Server Name Indication" feature.
  • The "Export Tracking Data" tool can now export the Interest Score.
  • The "Log Size Limit" field now also applies to the Incoming Log, not just the Send Log. This field now supports values with a decimal point. Also, if the log is truncated, the summary will now appear at the end anyway.
  • Added the "Average Interest Score" tracking statistic.
  • Added the "Refresh" button to the tracking campaigns window.
  • Added to the "Issue SQL Command" tool support for unicode characters.
  • Added the "Rename Project" tool to the Welcome Wizard.
  • The "Generate Host Stats" and "Log Connection Errors" fields now support the * and ? wildcards so that a different log can be produced for each operation.
  • It is now possible to exclude an individual tag from HTML image processing. Simply specify a "nomodify=1" attribute in the tag.
  • Improved the way the tracking report calculates the Interest Score.
  • The Locate Mail Server tool now lists the SPF record for the main domain, not just for the mail servers.
  • Added a help file guide on how to configure GM to drop emails into the Microsoft IIS Pickup folder. When GM is installed on a web server, this method is vastly faster because it bypasses SMTP.
  • Generating a large tracking report is now much faster.
  • All fields that are used to specify a filepath will now support Environment Variables.
  • The Troubleshoot HTML tool now warns against using scripts, since they are not supported in most email clients.
  • Added the "Edit" button to the bottom of the Suppression List table.
  • Added the "System Tools" launcher to the Interface menu.
  • Added a "Browse" context option to the Exclude Users, Exclude Domains, and Include Domains fields.
  • If the user clicks Abort on the "This is the last chance" window, the Send Summary will no longer appear.
  • Security fix: after a failed IMAP4 login attempt, the log was revealing the password.
  • HTML editor: pressing enter at the end of an element will now escape out of the element.
  • The default Cursor Type has changed from Keyset Driven to Forward Only. This reduces memory usage.
  • The HTML to text conversion process now supports horizontal rules and definition lists.
  • The tree linkage is now only visible when the mouse is over the tree.
  • Many more project configuration errors are now caught and reported before an operation runs.
  • Added the "Help" option to the Tracking menu.
  • The "AddHeaders" field of GMFW.INI now defaults to 1 if absent. This simplifies the process of configuring GM to drop emails in IIS's Pickup folder.
  • Added a "Help" button to the Test Spam Score window.
  • The "Test HTML Images" feature will now report information about why an image cannot be downloaded or opened. It will also report an error if the file is empty.
  • Check PTR Record tool: pressing Enter in the External IP Address field will now refresh the results.
  • Added the project_filepath() G-Merge function.
  • An error is now reported if there are any invalid domains specified in the Exclude Domains or Include Domains fields.
  • Added to the Success/Failure graph the "Pearls" appearance option.
  • The third parameter to the str_remove() function is now optional.
  • Improved the appearance of the Send Summary's pie chart and banner.
  • The "Cut", "Copy", "Paste", and "Undo" icons on the HTML editor toolbar are now hidden by default. Most users use hotkeys for these tools.
  • Added the %ArchiveDir% environment variable for DOS batches, which holds the path of the Archive Emails folder.
  • Eliminated an unnecessary RSET command in the SMTP conversation after a fresh connection has been established (slight performance improvement).
  • The Incoming Log will now mention how many times the Incoming Operation was repeated.
  • Fixed: the Generate Host Stats feature will no longer operate when using the Preview Recipients tool.
  • Fixed: when running the Preview Recipients tool, the fatal() function was not being recognized as a valid function.
  • Fixed: a few very rare cases related to validating email address and domain syntax.
  • Fixed: when GM is minimized and running a Send Operation, certain notification windows could appear briefly.
  • Fixed: the "Locate Mail Server" tool was using cached DNS records in some lookups.
  • Fixed: the "Test HTML Images" and "Test Sender Domain" features were not obeying the /q switch. In the event of an error, GM will now terminate silently as expected.
  • Fixed: when launching the Find tool in an HTML viewer/editor, and there is selected text, the search string was populated with garbage instead of the selected text.
  • Fixed: when forwarding an email, the X-Sender: and X-Receiver: headers are now discarded. Their presence will cause Visendo SMTP Extender to produce a duplicate email.
  • Fixed: the "Errors detected in HTML Body's images" window could fail to appear if the main window is minimized, and the main window would be disabled with no way to close it.
  • Fixed: G-Merge was fetching binary columns in MS Access as hex digits.
  • Fixed: a small number of emails were being lost if the number of threads was set to more than the operating system supports (around 700 on Windows 7). Also, the Send Operation could get stuck in the "Waiting for threads to finish" phase.

New in Gammadyne Mailer 42.0 (May 14, 2013)

  • Major interface improvements. Improved all skins.
  • Added the "Make Styles Inline" option to the HTML Body/Options branch. This will convert the style sheet to inline style attributes, which ensures that email will look right in email clients that do not support style sheets.
  • Added the "Pause Mailing If Connection Lost" option to the Servers branch.
  • Added the "Interest Score" statistic to the tracking report. This measures the recipient's interest in the email, which can help you concentrate your marketing resources.
  • Added the "Open Rate Over Time" graph to the tracking report. If the open rate falls later in the mailing, this indicates a possible delivery problem. The Universal Domain Throttle is often beneficial in this situation.
  • The "Write Emails To Files" feature now supports multithreading. This improves performance, especially when using the Universal Domain Throttle.
  • Numerous improvements to the conversion process from HTML to plain text.
  • Added the "Insert Quotation" tool to the HTML editor.
  • Added the "Tracking" menu.
  • Added a third import mode to the "Import CSV Data" tool. This mode will update an existing record, or if not found, create a new record.
  • Numerous minor improvements to the "View Result Set" tool.
  • Tracking report: the number of Estimated Opens is now a more accurate calculation. The old method of estimation was too low.
  • Added the ability to control which types of failures are included by the "Append Failures" feature. For example, you may want to exclude non-permanent failures, because these can be retried at a later time.
  • The HTML search tool now supports unicode characters.
  • Added to the tracking report a summary of the total number of each type of browser. This can be disabled on the Report Settings window.
  • Change Recipient Address tool: large performance improvement when using a database.
  • Added support for ODBC drivers that do not support ODBC 2.0 or later.
  • Added a "View Log" button to the Incoming Progress Window while waiting for the next cycle.
  • DNS MX records are now sorted by priority. Previously, this only occurred when "Use O.S. for DNS" was unchecked. This improves the speed of Direct Delivery.
  • Tracking report: the Link Tracking table now includes a percentage of the number of opens that clicked on the link.
  • If the "Archive Emails" or "Write Email To Files" folder does not already exist, GM will now offer to create it.
  • Added the mime_content() G-Merge function, which returns the text content of both the HTML and Text bodies. This is useful for searching an incoming email for a text substring.
  • The Send Operation Wizard now allows the user to configure the Universal Domain Throttle, which is important for improving delivery rates.
  • The bounce and opt-out wizards will now allow the user to enable Fast Removal mode.
  • The Exclude Domains and Include Domains fields now support an external file that contains the domains. Simply list the filepath, inside quotes.
  • Simple Send: resizing an image attachment is no longer restricted to a smaller size. Also, a popup notice window will appear while the resize is being performed.
  • The Results Editor will now confirm canceling changes when the only changes are the addition of new rows.
  • Eliminated the SQL Server error "String or binary data would be truncated". Assignments to a string column are now truncated automatically.
  • If there is any problem with initializing ODBC, the "Use Database" box is no longer disabled. Instead, when attempting to open a database, an error with valuable diagnostic information is reported.
  • Simple Send: the "Paste Attachment" tool now supports unicode characters.
  • Added the http_post() and write_filepath() G-Merge functions. These can be used in the Success Script to post emails to a Google Apps Engine servlet.
  • Added to the tracking report the Mailing Duration statistic, which is how long it took to send all tracked emails.
  • Added a help file guide on sending SMS text messages. Added instructions for registering a PostgreSQL database. The help file guide on Task Scheduler has been updated for Windows 7.
  • Remove tool: reduced memory usage and improved performance.
  • The "Test Spam Score" tool can now be aborted. This is important if a DNSBL is not responding.
  • Added the "CountRecipients" label for pseudo-projects. When enabled, this counts the size of the mailing list before any emails are sent so that the Progress Window can display the overall operation progress meter. While running a pseudo-project, the taskbar button will now show the number of emails sent (if CountRecipients is enabled).
  • The HTML editor's "Insert Groupbox" tool will now prompt the user to specify the title and style.
  • HTML editor: added the "Stock Format" sub-menu.
  • Added the str_remove_line_last(), hash_md5(), and hash_sha256() G-Merge functions.
  • The "Troubleshoot HTML" tool now reports how to properly embed a NCHAR or NVARCHAR database column into the HTML body.
  • The Sign-up Wizard now offers a pre-written template for the confirmation auto-response.
  • The "Remove" Processing Mode: the log's "final list of processed recipients" now shows the removal status of each recipient. Also, the log now shows the number of records removed, and if the recipient was already removed. Also, the Incoming Summary now shows the total number of recipients that were not found, and those already removed.
  • Improved the way the Results Editor handles errors when saving changes or new rows.
  • Simple Send: the Attachment Viewer will now display an .EML or .MSG file as an email instead of as raw MIME code.
  • The "Export Pseudo-Project" tool will now encrypt all passwords. This fixes an important security flaw, however only version 42.0 and later will be able to decrypt the password.
  • The Unicode Character Map now uses narrow cells if neither the hex nor decimal code is displayed.
  • After clicking a checkbox, input focus is now given to the next editbox, if appropriate.
  • When "Repeat Incoming Operation" and "Limit Number of Messages Processed" are both checked, and the email account is over the limit, Gammadyne Mailer will immediately reconnect and process more emails. This behavior can now be changed by right clicking on the "Limit Number of Messages Processed" checkbox and checking "Don't reconnect if more".
  • Improved support for non-English keyboards.
  • If an "out of memory" error occurs while processing Exclusions (for both Send and Incoming Operations), it is now handled more gracefully, hopefully avoiding a crash.
  • Added the "Open Database File" tool to the context menu of the Connection String field.
  • Added the "Validate Table" tool to the Suppression Lists table.
  • After product activation, the user is now given the opportunity to download and install a free upgrade to the latest version.
  • The list of excluded addresses is no longer logged to the Send Log. This list can be very long. Only the total number is now logged.
  • Added the project_name() G-Merge function.
  • The Spell Checker for the HTML editor's Raw tab will now ignore G-Merge statements.
  • Added a "Help" option to the bottom of the Test menu.
  • The "Locate Mail Server" tool is now tolerant of spaces before and after the domain.
  • Added Copy/Save/Print buttons to the bottom of the "Troubleshoot HTML" window.
  • The default Database Query Timeout has increased from 20 to 60 seconds to better accommodate large mailing lists.
  • The Direct Delivery option is no longer disabled by the Identical Send Mode. Instead, an error message will appear.
  • While the suppression lists are being loaded, a progress meter will now show the progress.
  • Tracking report: Link Totals: where the number of clicks are the same, the URL's are now alphabetized.
  • The last parameter to the str_substring() G-Merge function is now optional.
  • An error is now reported if the Log Size Limit is 0.
  • The "Add to Database" and "Update/Add to Database" Incoming Processing Modes are no longer disabled in the trial.
  • Fixed: the Create New Project window was not remembering the "Balloon Help Disabled" option.
  • Fixed: Preview Window: when sending to a single recipient and there is an error, the Send Summary was not appearing under certain circumstances.
  • Fixed: there is now a proper error message if both the Tracking and Follow-Up systems are enabled.
  • Fixed: the "Test Spam Score" tool was penalizing for an invalid hyperlink if the URL is terminated by a non-breaking space (ASCII code 160).
  • Fixed: the Results Editor's "Create Column" tool was unable to add date columns to MS SQL Server.
  • Fixed: the Progress Window's overall progress meter was not being updated when sending previewed messages.
  • Fixed: the HTML validator tool was broken after w3.org began requiring a User-Agent header.
  • Fixed: fetching some types of unicode columns out of order was failing for some databases.
  • Fixed: rare crash when terminating.
  • Fixed: small memory leak when Direct Delivery is enabled. Could possibly cause an "Out of Memory" crash for a very large mailing.
  • Fixed: possible "Invalid column number" error when trying to use an ODBC driver that does not support ODBC 3.x.

New in Gammadyne Mailer 41.0 (Nov 13, 2012)

  • Added full support for editing 16-bit unicode characters in the headers and Text Body in the project, Preview Window, and Simple Send window. Previously only 8-bit ASCII characters were supported. Unfortunately, this is a rare change that breaks forward compatibility. If you save a project with 41.0, then downgrade to an earlier version, the headers and Text Body will mangle all non-ASCII characters.
  • Added support for MD5/SHA256 Suppression Lists (located on the Exclusions branch).
  • Added the "Check Spam Score" tool. This will analyze the project's settings and email body for possible problems that could cause the email to be blocked by a spam filter.
  • Redesigned the Welcome Wizard.
  • Added the "Content" branch. The "Headers", "Text Body", "HTML Body", and "Attachments" branches are now under this branch.
  • Added the "Mailing List" branch. The "Database", "Recipients", and "Remove" branches are now under this branch.
  • Added support for HTML images that have an "https://" URL (SSL over HTTP).
  • Added the "Insert Groupbox" tool to the HTML editor.
  • Numerous improvements to the HTML editor's Unicode Character Map.
  • Numerous improvements to the Simple Send window's View Attachments tool.
  • Added the "Create Column" tool to the View Result Set window.
  • Added a "View Log" button to the Send Progress Window.
  • The "Write Email To Files" delivery mode now supports Pulse, Domain Throttles, and the Universal Domain Throttle.
  • The "Write Email To MAPI Folder" delivery mode now supports Domain Throttles and the Universal Domain Throttle. Pulse was already supported in 40.0.
  • Added the "Confirm discard" and "Discard after single send" options to the Preview Window.
  • Added the ability to resize an image attachment on the Simple Send window.
  • Added the "Database Setup" wizard.
  • Added the ability to edit the To: header on the Preview Window.
  • Added the "Convert Case" option to the Import Addresses tool.
  • Added the "Test" menu, and moved some options there from the Tools menu.
  • Added the encode_header() and header_to_html() G-Merge functions.
  • Added new G-Merge date format codes that use the computer's regional settings. "~" specifies the regional date. "@" specifies the regional time. "~@" specifies the regional date/time.
  • Reduced memory usage. Also, if the process does run out of memory, some non-essential memory is freed up. This should eliminate most "Out of memory" crashes. If it does not, you most likely need to reduce the number of Threads or uncheck "Eliminate Duplicate Recipients".
  • The "Exclude Users", "Exclude Domains", and "Include Domains" fields now support multiple lines.
  • The Domain Aliases field is no longer limited to pairs of aliases. Any number of aliases can be specified.
  • Added the "Import CSV Data" tool to the Database menu.
  • In the event of a database error, if there are multiple error codes, they are now all reported. Previously, only the first error code was reported.
  • Various tools will now immediately report an error if the database is read-only. Previously, no error would be reported until the tool actually tried to modify the database.
  • The "No recipients qualified" error will now advise the user to double check the Recipient Column if no email addresses were found in it. This works with both database and Simple-Merge mailing lists.
  • The "Build Text Body From HTML" feature now always generates the Text Body in UTF-8. There is simply no reason to obey the Text Body Character Set setting - nothing good can come of it. UTF-8 will perfectly duplicate all unicode characters. All email clients support UTF-8.
  • Improved the Remove Summary window. It also now reports the total number of successful removals and total number of recipients already removed.
  • The "Extract Text From HTML" tool now extracts unicode characters. Added the "Extract Text" button to the HTML Body/Options branch.
  • Merged the Remove/Locations branch into the Remove/Options branch.
  • The email_send() function now supports multiple email addresses in the 'to' parameter.
  • The Address Book Import Mode now defaults to "Extended Information", and is hidden if "Hide Advanced Settings" is checked.
  • Added a progress window when deleting multiple rows on the View Result Set window.
  • When an External Text Body is in unicode, the Character Set setting is now ignored, and the Text Body is encoded in UTF-8.
  • Numerous improvements to the help file.
  • When performing a Send Operation from the command line, the "Save Project Before Sending" and "Save Project After Sending" settings are now ignored. Otherwise, using an override switch (such as /from) will overwrite the project setting.
  • The "Write Emails To Files" feature is now careful to never overwrite a file, even if GMFW.INI contains an already-used file index.
  • All responses from the tracking server now include a "Content-Type" header. This reduces the chance of the tracking service being blocked by a firewall.
  • When an "Out of Memory" error occurs during a Send Operation, the user is now advised to reduce the number of threads.
  • The Success File, Failure File, and Rejection File will now allow other processes to read (but not write) from the files during a Send Operation. Previously, these files were completely locked.
  • The "Send Preprepared Emails" tool will no longer treat files with no To: header as a rejected email. The file will simply be ignored.
  • The "Verify All Addresses" tool now reports what mailing list it is going to verify. Added a "Help" button. Minor improvements to the log.
  • All retry features are now grouped together on the Delivery branch. The "Retry Direct Delivery Failures Locally" option has been renamed "Retry Direct Delivery Failures Indirectly".
  • Changed the name of the "Change Email Address" tool to "Change Recipient Address".
  • Removed the "Headers Character Set" and "Allow Extended Characters In Header" settings. They are no longer needed now that headers can be edited in unicode characters. Non-ASCII characters are now always encoded in UTF-8.
  • Fixed: after editing the Custom Headers, the project would report that it had changed, even if no changes were made.
  • Fixed: the Incoming Log field was not supporting wildcards as documented.
  • Fixed: the Preview Removal tool was always reporting 0 for the number of database records found.
  • Fixed: when previewing a Send Operation, the success/failure graph could fail to include data from the last minute.
  • Fixed: browsing for a new database Connection String was not causing the existing database connection to be closed.
  • Fixed: the database password was being revealed if there was an error opening a database connection string.
  • Fixed: if the Text Body was unicode, after tracking ends, all future emails would send a Text Body without converting it to 8-bit characters.
  • Fixed: the Specific Sender field was not extracting the simple email address as documented. This could potentially result in SMTP error 4570.
  • Fixed: nonsensical error when clicking the "Generate Report" button without first selecting a tracking campaign.
  • Fixed: the View Result Set window could possibly disappear after deleting a huge number of rows.
  • Fixed: the Single Send tool was not remembering past entries in the drop-down list (since 40.0).
  • Fixed: the Simple Send tool was omitting the Reply-To: header.
  • Fixed: the Single Send tool was not supporting multiple email addresses separated by commas as documented.
  • Fixed: the HTML Body toolbar was not saving its customizations.
  • Fixed: the Check Blacklisting tool was using dnsbl.sorbs.net. However, this blacklist contains all dynamically assigned IP addresses. The correct blacklist is spam.dnsbl.sorbs.net.
  • Fixed: MAPI delivery error when "Use Message Store" is unchecked.
  • Fixed: with the Send Log disabled, the Send Summary was not including a breakdown of rejections, and the "Generate Host Stats" feature was not listing the correct number of rejections.
  • Fixed: email delivery could fail with error 4570 if the Sender contains MIME header encoded words.
  • Fixed: Direct Delivery was using SSL if the project had it enabled, even though the two are incompatible.

New in Gammadyne Mailer 40.0 (Jun 25, 2012)

  • Redesigned the Send Summary window. It now shows a pie chart of success, failures, and rejections. It also shows a total for each type of rejection.
  • Added the "Add Record" tool to the Database menu.
  • Added to the "Lookup Recipients" tool the ability to search a specific column.
  • Added the "Send Delayed Retries" button to the bottom of the Send/Delivery branch. This is useful when a Send Operation was aborted before all Delayed Retries were completed.
  • Added to the "Locate Mail Server" tool a report of the SPF record for each mail server.
  • DKIM and DomainKeys are now fully compatible with Amazon SES and Yahoo. Special thanks to Nicky Christov for all his help.
  • Numerous minor interface improvements. Improved the Default skin.
  • Added a menu bar to the Preview Window.
  • The "View Result Set" tool now allows you to select multiple rows and delete them all in one step.
  • Delayed Retries will now use the same networking adapter that was used for the original attempt. This is important for getting past greylisting.
  • The HTML editor will now canonicalize character codes 128-255 to help ensure that they appear properly in the receiving email client.
  • All header fields will now display characters in the project specified "Header Character Set". Likewise for the "Preview" and "Simple Send" windows.
  • Added the "Prevent Duplicates" option to the "Import Addresses" tool.
  • The "Email Send Log" feature will now send the log as a zipped attachment if it is larger than 1 megabyte.
  • The MAPI delivery mode now supports the "Pulse" throttle.
  • Improved the CPU and memory efficiency of processing G-Merge.
  • Added the "Test Sender Domain" option to the Send branch. If checked, before a Send Operation starts, the user is warned if the sender domain does not resolve to an IP address, since this will cause most email to be treated as spam.
  • Added the "Test HTML Images" option to the Send branch. If checked, before a Send Operation starts, the user is warned if there are any problems with images referenced by the HTML Body.
  • The Text Body's "Line Length" feature now works properly with UTF-7 encoding. Previously, each UTF-7 character counted as 3 or 4 characters towards the Line Length.
  • Added a "View Source" tool to the Tracking Report.
  • Behavior change: the "Build Text Body from HTML" feature will now obey the Text Body's "Character Set" setting. And if this is set to "UTF-7" or "UTF-8", the conversion will automatically encode the Text Body accordingly. "UTF-8" is recommended because it offers the best chance that all characters will appear correctly.
  • The "Extract Text From HTML" tool will now take both the system codepage and the HTML Body's character set into account. This ensures that characters are mapped accurately between the HTML and text.
  • Added the "Duplicate Row" tool to the "View Result Set" window.
  • Improved the quality and amount of diagnostic information in the event of an SMTP, DNS, or SSL error.
  • In the "Extract Addresses From Files" tool, the "Convert to lower case" option has changed to a combobox with an "upper case" option.
  • The Tracking System will now detect if the Identity Column does not contain a unique value for each row. The user is then warned that they are going to waste their tracking credits, and given a chance to abort the mailing.
  • Header fields were previously limited to 980 characters. They now are limited to 1 MB so that they can hold lots of G-Merge code (in particular, a long switch() function).
  • Added the "Show Summary" option to the Tracking Report Settings window.
  • The "Expiration Date", "Only Send When Before", and "Wait Until" fields now have an A.M./P.M. button (unless the computer's regional settings indicate that 24-hour time is used). It is still okay to use 24-hour time as long as the button is in A.M. mode.
  • The "Extract Addresses From Files" tool is now much less likely to run out of memory when extracting a huge number of email addresses.
  • The "Simple Send" tool will now remember the Character Set setting.
  • The Tracking Report's "Save Report" tool will now save the original HTML code, not the reformatted HTML code produced by Internet Explorer.
  • The "text/x-aol" Content-Type is no longer used for AOL recipients due to a conflict with Amazon SES.
  • Added to the mime_strip_attachments() G-Merge function an optional second parameter that specifies a filename extension. Only attachments with the specified extension will be stripped.
  • Added the "Insert Variable" and "Run Batch" buttons to the bottom of the Pre-Send Batch and Post-Send Batch.
  • Added the "/va" command line switch, which launches the "Verify All Addresses" tool.
  • During MAPI email sending, the progress window is now updated much better.
  • Improved the CPU efficiency of detecting bounce backs.
  • When data cannot be sent to the SMTP server, the error message now specifies if this was due to the connection being lost.
  • Added 3 blacklists to the Check Blacklisting tool.
  • The default Universal Domain Throttle is now 1 email every 12 seconds. Servers are becoming more restrictive about the volume of email they are willing to receive.
  • Upon launching an Incoming Operation, if the Processing Mode is "Remove", any problem with the Recipient File field is now reported immediately.
  • The "Analyze Database" tool will no longer show the database password in the connection string.
  • The "Adapter Name" setting is now stored as text instead of as a physical index because this is more reliable. The "AdapterIndex" pseudo-project field has been replaced by "AdapterName".
  • The "Repeat Incoming Operation" field is now measured in minutes instead of seconds.
  • Added a "Tutorial" button to the bottom of the first-time greeting window. Added a "Tutorial" option to the Help menu. These will both open the help file's tutorial.
  • The "Locate Mail Server" tool's Test SMTP button will no longer check for Relaying Denied, since this check will always fail.
  • Renamed the "Include Attachments" setting to "Attach Original Attachments".
  • Added a graphical banner to the top of the Send Preprepared Emails window.
  • Moved the "Override EHLO Domain" setting to the Send/Delivery branch. Moved the "Save Project Before Sending", "Save Project After Sending", "Test SMTP Servers Before Sending", and "Test DNS Servers Before Sending" settings to the Send branch.
  • The "Delete Delayed Retries" tool has moved from the Tools menu to a button at the bottom of the Send/Delivery branch.
  • The "Send Summary" and "Wait Until" windows will now obey the project's Default Date/Time Format fields.
  • Fixed: the "Save project after sending" option is now ignored if the project has never been saved before. This prevents the "Save Project As" dialog from appearing.
  • Fixed: the Simple Send tool was not obeying the "Word Wrap" setting.
  • Fixed: the Connection String Password window was not allowing the user to completely delete the password.
  • Fixed: when the "Check for update" tool finds a new version, the window that offers to download it had no buttons.
  • Fixed: when creating a new project, the new project would keep the stored Database Connection String password from the previous project.
  • Fixed: when using POP3 authentication for SMTP, authentication is only performed once every 9 minutes (since 36.3). This was true even if authentication fails. Now the 9 minute period starts only if authentication is successful.
  • Fixed: for MySQL, storing a string containing a backslash to a column would produce a database error.
  • Fixed: memory leak when an Incoming Operation forwards email. Special thanks to Martin Haberfellner for discovering this.
  • Fixed: the "View Result Set" tool was displaying a negative 32-bit integer as a large positive value (-1 would appear as 4294967295) (since 38.1).
  • Fixed: possible "out of memory" error or crash during a Send Operation when using a large number of HTML images with unique filenames.

New in Gammadyne Mailer 39.0 (Nov 22, 2011)

  • Major interface improvements. The overall look and feel has improved significantly. For details, go to the Interface menu > Help - Interface Menu > Table of Contents > Miscellaneous > Revision History
  • The tracking system can now track how long the recipient viewed the email
  • Added the ability to send emails to an Address Book Distribution List
  • Added to the tracking report a button for each recipient that brings up their approximate location in Google Maps
  • Added to the HTML editor's character map window the ability to filter out certain unicode subsets. Numerous other minor improvements
  • Added the "Process G-Merge Inside Attachments" checkbox to the Attachments branch
  • Added an "Overall" progress meter to the Progress Window. This shows how much of the Send Operation has completed
  • Added the "Save Project After Sending" checkbox to the Details branch. This is useful when "Add Successfully Sent Recipients to Exclusion List" is checked
  • Added the "Automatically Parse Images" checkbox to the HTML Body/Options branch. If the HTML Body has no embedded images, or they all refer to an Internet URL, you can uncheck this box to improve performance. Automatic parsing was first implemented in 33.0 but could not be disabled
  • Added the "Attach Original Email" checkbox to the Auto-Responding section of the Remailing branch
  • Added the ability to specify the Profile name and password when using the System Address Book for a mailing list. Improved performance and reduced memory usage
  • Added to the "Notify Operation Errors" field support for multiple email addresses
  • Added to the Simple Send window the ability to change the Content-Type of an attachment
  • Added the "Move to Sent Items" option for the "Write Email To MAPI Folder" feature
  • Added to the HTML editor's "Paste and canonicalize" tool support for unicode (on the "Raw" tab). Also, the regular "Paste" tool will no longer canonicalize extended ASCII characters (128-255) unless they have been translated by the system to a unicode character
  • Added the get_attachment_extension() G-Merge function
  • Added a tracking report setting that controls if the total link clicks appear on the report
  • Behavior change to the "Auto-Responses" setting on the Criteria branch. An email is no longer considered an auto-response if it is also a bounce-back. Some bounces do have the "Auto-Submitted" header, but they need to be treated as bounces and not auto-replies. Previously, certain bounces could go unprocessed because the "Auto-Responses" setting was causing them to be ignored
  • Behavior change to the "Build Text Body From HTML" setting. If the Text Body's Character Set is unspecified, the conversion will now support unicode characters. The converted Text Body will be in UTF-8 encoding. This ensures that non-ASCII characters will have the same appearance in the generated Text Body
  • Numerous improvements to the wizards. Added support for specifying a mailing list in CSV format
  • Improved recognition of bounce-backs
  • Redesigned the "Extract Addresses" window
  • The "Allow Extended Characters In Header" box is now unchecked by default for new projects. This is because RFC-822 specifies that MIME headers use the US-ASCII character set, which only defines codes 0-127. The appearance of codes 128-255 is undefined. Therefore, to ensure that headers appear correctly, this box should be unchecked
  • When a header is encoded because it contains extended ASCII characters, and no character set is specified, instead of using the Western European character set by default, the user's system localization settings are obeyed
  • The "Import Addresses" tool now has its own dialog instead of going straight into an "Open File" dialog
  • Added an "Import Addresses" option to the context menu for the Recipient List and Exclusion List. Also, when dropping files on these fields, the email addresses in the files will be extracted and converted to lower case. Previously, the entire file was inserted as-is
  • The Incoming Summary now mentions the number of emails that were forwarded. Also, this window no longer reuses its last position on the screen. Instead, it will calculate the optimal size and position based on its contents
  • The context menu for the Success/Failures graph now refers to the datasets as "Successes" and "Failures" instead of "Dataset 0" and "Dataset 1"
  • Behavior change to the convert_to_html() function. It now converts line breaks to "" tags. Without this, multiline text will all appear on one line
  • The first time the user pastes unicode into a header, it is explained that unicode requires encoding to be compatible with email
  • The Text Body's "Line Length" feature now works properly with UTF-8 encoding. Previously, each UTF-8 character counted as 2 or 3 characters towards the Line Length
  • The SMTP server is now given double the timeout period to respond to the end of the email. This is important because the server may take a long time testing the email for spam, such as when it is querying an unresponsive DNS blacklist
  • All UTF-7 and UTF-8 conversion now takes the system codepage into account instead of assuming the Western European codepage
  • When an Incoming Operation builds the -Body- variable, it can now detect the HTML character set from the HTML itself without relying on a MIME header
  • The Preview Window will now show the Text Body in the proper character set
  • The "Locate Mail Server" tool now reports the domain's ASCII canonicalization for domains that contain extended ASCII characters, such as Bücher.ch
  • Added a graphical banner across the top of the Test Send and Single Send tools
  • Increased the maximum for the "Log Size Limit" setting from 2,000 to 100,000
  • Opening the drop-down list in the Value column of the Clauses table will now examine the first 10,000 records of the database instead of the first 1,000. Improved performance
  • Cleaned up the list of character sets
  • GMCOM.DLL now includes some troubleshooting information in the error message if GM is not activated
  • Fixed: when a server greeting error occurred, the transcript was being unnecessarily logged
  • Fixed: the latch_html_unicode_until() function was only working right with UTF-7 and UTF-8 encoding
  • Fixed: the tray context menu was not responding to keystrokes, and not disappearing when the user clicks away (since 38.0)
  • Fixed: the file_append() and csv_append() functions could fail or experience long delays when used by many threads in the Success/Failure scripts
  • Fixed: when "Write Email To Files" or "Write Email To MAPI Folder" is checked, an error was occurring if no SMTP server is specified, even though these features do not require an SMTP server
  • Fixed: changing the "HTML Character Set" setting was not taking effect immediately on the HTML editor's "Raw" tab
  • Fixed: the Simple Send window's Paste Attachment tool was failing to convert 32-bit images to GIF
  • Fixed: address book data: a backslash was being inserted in front of quote marks
  • Fixed: under certain circumstances it was possible that an Incoming Operation could report a negative number of recipients processed (since 38.0)
  • Fixed: in G-Merge, if a "let" statement assigns a value to an unknown variable, no error message was being logged (but only when not using a database)
  • Fixed: the HTML editor's "Paste Plain Text" tool was not working right for multiline text. Also, this tool will now convert spaces at the beginning of a line to non-breakable spaces
  • Fixed: under rare circumstances, it was possible for a database error to crash GM
  • Fixed: the "Include Attachments" option for auto-responding could mistakenly include the attachments of previously received emails. Also, this feature will now preserve the character set from the original attachment
  • Fixed: the Retail Edition's GMCOM.DLL was mistakenly looking for an activation certificate (since 38.1)
  • Fixed: the "green scrollbar" bug. After a fresh install, the default skin was not being loaded, causing a fallback to defaults that were never intended to be used

New in Gammadyne Mailer 38.1 (Jul 11, 2011)

  • Added the "Send Preprepared Emails" tool. This delivers all the pre-built email files located in a directory.
  • Added the "Generate Host Stats" option to the Logging branch. This generates a log of information about each domain to which email was delivered, including successes, failures, rejections, and server error messages
  • Added support for binary database columns
  • Added the db_embed() G-Merge function. This will embed an image into the HTML body. The data for the image comes from a database column
  • Added to the Send Summary the total number of emails that were tracked
  • Added a graphical banner across the top of the Add Recipients tool
  • The "Extract Addresses From Files" tool now supports drag & drop into the file list. Also, the Browse feature was not working right when multiple files were selected
  • The Incoming Log now shows if each removed recipient was found or not
  • The "Single Send Tool" now sets focus to the row of the Recipient Column, since this is the one column that must be filled in
  • The "Send Messages" and "Process Incoming Mail" options are now at the top of the Tools menu since they are Gammadyne Mailer's core features
  • The Remove tool and Incoming Summary now report a separate statistic for the number of recipients that were removed, and the number of records that were affected
  • The Universal Domain Throttle fields now accept 5 digits instead of 4
  • Fixed: the Failure Script's -ErrorResponse- variable was not being populated when the error occurs immediately in the server greeting
  • Fixed: when using a CC: or BCC:, and Indirect Delivery, and the "Follow-Up" or "Archive Emails" features, these features were executing once per recipient. This causes the "Follow-Up" feature to skip a follow-up, and the "Archive Emails" feature to create a duplicate
  • Fixed: calling incoming_forward() after calling incoming_autorespond() could potentially produce the error "incoming_forward() only allowed in Incoming Script"
  • Fixed: after using the Simple Send Tool, then clicking "Send Another", the message body was being erased. Also, a second "Add Recipient" button was being added to the headers
  • Fixed: a window caption icon could have a flawed appearance on Aero (since 38.0)
  • Fixed: after switching from the HTML editor's Edit tab to another tab and then back, the editor would no longer respond to keystrokes (since 38.0)
  • Fixed: the Wait Until, Expiration Date, and Only Send When Before features were incorrectly reporting an error for month-first locales (since 38.0)
  • Fixed: DomainKeys and DKIM were broken when support for Internationalized Domain Names was added. It appears that the IdnToAscii() Windows API function has a bug (since 38.0)

New in Gammadyne Mailer 38.0 (Jun 1, 2011)

  • Major interface improvements, too many to list. Added support for Aero Glass (Vista/2008/7). Improved appearance, layout, margins, skins:
  • Added the "Follow-Up System". This allows you to send a series of follow-up emails to recipients. Previously this was only possible with cumbersome scripting.
  • Added a wizard for processing bounces and opt-outs in one email account. This is now the recommended best practice because it simplifies list management. Maintaining a bounce count is now discouraged because it increases the risk of blacklisting.
  • Improved the appearance of the tracking report.
  • Added support for Internationalized Domain Names (IDN), such as Bücher.ch, in compliance with RFC-3490.
  • Added the "Report Settings" tool to the Tracking Report Window. This allows the user to customize the visual appearance of the report. The "Report Opens Only" setting has been moved from the Send branch to this window.
  • Numerous improvements to the "Add Recipients" tool.
  • Added the "Archive Emails" field to the Logging branch. When enabled, a copy of each successfully sent email is saved to the specified directory.
  • Added the "Automatic" mode for the SQL Date Format setting. This will automatically detect the proper date format from the ODBC driver.
  • Added the "Append Failures To Removal List" option to the Logging branch.
  • Added the ability to set an automatic resume time when pausing a Send Operation.
  • Numerous improvements to the success/failure graph.
  • Added the "Password" button to the database Connection String field. This allows the user to enter the database password separate from the connection string. The password will not be visible to the user, and will be stored in the project with encryption. Whenever the connection string is passed to the ODBC driver, the password is automatically added to it.
  • Added a graphical banner across the top of the wizard windows and various tools.
  • Added the incoming_is_ooo() G-Merge function, which can detect if an incoming email is an "Out of Office" auto-reply.
  • Added to the "Test SMTP Server" tool the ability to detect the "Relaying Denied" problem.
  • Added the "List Properties" tool to the HTML editor.
  • Added the ability to change the left/right indent in the HTML editor's "Text Format" tool.
  • Added the "Preview Messages" checkbox to the Send Operation confirmation window. This gives the user an opportunity to display the Preview Window even though the Send Mode is set to "No Preview".
  • Added the "Zip Attachments" option to the Simple Send tool.
  • Added the file_archive() G-Merge function, which can be used to save a copy of every email that is processed.
  • Added the mapi_move() G-Merge function, which can be used to move an email to a different folder when processing MAPI mail.
  • Added the str_chop_after() and str_chop_at() G-Merge functions.
  • Added a statistic on the number of successful sends and permanent failures to the Progress Window while delayed retries are being performed.
  • Added support for pasting unicode into the HTML editor's Raw editbox. Added support for pasting unicode with the "Paste Plain Text" tool in the WYSIWYG HTML editor.
  • Added a "Preview" button to the Headers Character Set, Text Body Character Set, and HTML Character Set fields.
  • Added a high resolution shell icon for Vista/2008/7.
  • Added the -Forwards- and -ForwardsFailed- variables to the Post-Incoming Script.
  • Added a drop-down list of common port numbers to the "SMTP Port" field and the "Port" column of the Incoming Servers Table.
  • Added a guide in the help file on using Outlook Distribution Lists.
  • Added Copy/Print/Save buttons to the bottom of the "Analyze Database" report.
  • Added a default domain throttle for Hotmail and Yahoo. The user must now confirm resetting the table to the defaults.
  • The list of SQL reserved words is now queried from the database. It is now believed that the "Auto" selection for the "SQL Delimiter Mode" setting will work perfectly in all situations. Therefore this setting is now hidden when "Hide Advanced Settings" is checked.
  • Improved the "Convert Email Addresses Case" and "Extract Email Addresses From Files" tools. They now only convert the case of the simple email address instead of all characters. The number of case conversions is now displayed.
  • The tracking report will now list the links clicked in order of the most clicks.
  • The "Email Send Log To" feature no longer uses Direct Delivery exclusively. It will now obey the project settings as normal.
  • The Simple Send Window now uses a row of buttons instead of a set of tabs.
  • The Reply-To header now appears on the Preview Window.
  • The "Locate Mail Server" tool now lists the PTR Record.
  • When inserting a column/variable/function, the HTML editor will no longer surround it in double brackets if the caret is already inside double brackets.
  • The Troubleshoot HTML tool will now warn against using a section. Many web-based clients, include Gmail, will ignore the section. Inline styles should be used instead.
  • The "View Result Set" tool will no longer report that the result set is empty (unless there is no Identity Column). Instead, it will show an empty table. Otherwise there is no way to add the first row to the table.
  • The database password in the connection string is now omitted from the log for security reasons.
  • The Incoming Log will now list the database parameters.
  • There is no longer a margin around the tree. The "Edge Gap Disabled" window option has been removed.
  • The Text and HTML bodies will now automatically discard the UTF-8 byte order mark characters () from the beginning of the file, if present.
  • Improved efficiency when building an email.
  • The taskbar button will now show the overall progress of a mailing, but only on Windows 7 and only if the total number of recipients is known in advance. Check "Count Recipients" on the Logging branch.
  • The "Test SMTP Servers" tool will now warn the user if the port is 465 and SMTP Encryption is disabled. This warning will only appear 4 times per project.
  • Numerous improvements to the "Analyze Database" tool. It now lists all of the SQLGetInfo() data for the database.
  • During Direct Delivery, if DNS reports the domain does not exist, no delayed retries will be performed. Any other DNS error is still considered transient, and therefore delayed retries are performed as normal.
  • Updated the SSL module (minor security improvements and bug fixes).
  • The Sign-Up Wizard now asks for the From: header if auto-responding is enabled.
  • During SMTP, a distinction is now made between a timeout error and a failure to receive a response.
  • The file_run() function now supports the "rd" and "md" DOS commands.
  • Improved Content-Type auto-detection from the attachment filename extension.
  • When converting HTML to text, a tag is now converted to 2 line-breaks instead of 1.
  • The first time a project opens the database, if it is Excel, the Cursor Type is changed to "Static".
  • Added the "brab" property for prompt() buttons. When specified, the button and those that follow will be as narrow as possible, and aligned to the right side of the window.
  • Custom Headers are now edited on a dialog window.
  • User-declared G-Merge functions can now be declared with the "Void" return type.
  • The "Recipients Processed" statistic no longer includes emails that had no recipients.
  • The "Create New Project" window will now remember its position.
  • Fixed: the Simple Send window's "Default Format" setting was not being initialized.
  • Fixed: when selecting a recipient in the Preview Window, there was sometimes a disconcerting flicker in the Recipient List.
  • Fixed: word-wrapping the Text Body was allowing a space at the beginning of a line if the previous line ends with a period and two spaces, and its length is one more than the "Line Length" setting.
  • Fixed: a repeated Incoming Operation was failing to abort when a login error occurs and the user clicks "Abort".
  • Fixed: wizards were not able to enumerate table columns when the user specifies a connection string.
  • Fixed: rare crash on the Preview Window when double clicking in the Recipient List.
  • Fixed: possible long pause before starting a Send Operation on the Preview Window when there are many recipients, and attachments are present.
  • Fixed: spell checking was not working right on the HTML editor's "Raw" tab.
  • Fixed: the "Forward Messages To" field was reporting an error when the user specifies multiple email addresses.
  • Fixed: a crash in the db_add_row() function if the amount of data exceeds 64 KB.

New in Gammadyne Mailer 37.1 (Sep 24, 2010)

  • Instead of a single worker thread that notifies the tracking server that an email was sent, there is now one for each mailing thread. Furthermore, the Send Operation will now pause if the queue of pending notifications gets too long. These changes eliminate the problem of an email being opened before the tracking server is notified, causing the open to go untracked.
  • The "Ignore Auto-Responses", "Ignore Hard Bounces", and "Ignore Soft Bounces" checkboxes have been changed to comboboxes. They now have a third state, "Delete", which will cause these types of emails to be deleted without processing.
  • Added the "Speak" tool to all editboxes.
  • Added the "Balloon help disabled" option to the toolbar's context menu.
  • Incoming Operations will now log which soft/hard bounce string was detected.
  • G-Merge in a hyperlink will now work correctly when tracking is enabled.
  • While a thread is throttling, it can now be aborted.
  • After an RCPT command fails, Gammadyne Mailer will now detect if the server has dropped the connection. Previously, this situation would produce a timeout error after sending the DATA command.
  • When the From: header contains G-Merge, the "The domain in the From: header does not match the DKIM domain" error will no longer appear.
  • When an Incoming Operation is repeated, the progress window will no longer estimate the time remaining.
  • Improved the way the progress meter works when an Incoming Operation is processing multiple accounts.
  • Improved the appearance of the help file. The inter-character spacing is now calculated better.
  • Fixed a minor HTML syntax error in the tracking report.
  • Fixed a rare crash when double clicking on the Success/Failure graph.
  • Fixed: when Delayed Retries is enabled, not all failed messages were being counted (since 37.0).
  • Fixed: the Preview Window's "Search List" tool was mistakenly saving the original email over the email that contains the search string (since 37.0).
  • Fixed: when using the Identical Send Mode, the Success and Failure Scripts were not initializing the -Recipient-, -Email-, -FirstName-, -FullName-, -LastName-, -Company-, -User-, and -Domain- variables.

New in Gammadyne Mailer 37.0 (Aug 4, 2010)

  • The operating system is now used to fetch DNS MX records, except on Windows 95, 98, ME, and NT4, but only if "Use O.S. for DNS" is checked. This offers a performance improvement for Direct Delivery.
  • Immediate and Delayed Retries are no longer performed on emails that fail with a 5xx error code. According to RFC-821 Appendix E, these errors are considered permanent and should not be retried. This reduces the chance of being blacklisted, and improves performance.
  • Added the "Graph" button to the Send Summary window. This will display a graph of successes and failures over time.
  • Added the "Text Format" tool to the HTML editor.
  • Added the "Download All" button to the Tracking Campaigns Window. This will download all campaigns' reports and/or CSV data to a directory or Zip file.
  • Added the following tracking statistics: "Emails With 1+ Links Clicked", "Links Clicked/Opened", "Links Clicked/Unopened", and "Estimated Opens".
  • Added the Find/Replace tool to the HTML editor.
  • Added to the "Export Tracking Data" tool the ability to exclude recipients who did not open the email.
  • Added the "Click Rate" column to the Tracking Campaign Summary window. The "Opens" column now also includes the percentage.
  • Added the incoming_is_hard_bounce() function for detecting hard bounce-backs. Note: the "Bounce Strings.txt" file no longer contains keywords used to detect soft bounces.
  • Added the "Validate HTML" tool to the HTML Body branch. This will check for compliance with the HTML standard, and report any problems in a popup window.
  • Added support for inline HTML images in this format:
  • Added the "(auto)" mode for the "Default date format" and Default time format" fields. This mode will detect the format from the computer's regional settings. This mode is now the default for new projects.
  • Added the db_delete_recipient() G-Merge function. This makes it easier to remove a recipient from the database.
  • Added the -ErrorResponse- variable for the Failure Script. It contains the text of the mail server's reply when an error occurs.
  • Added the "DNS Timeouts" statistic to the end of the Send Log. If you see a lot of these, reduce the number of threads.
  • Added the "Insert non-breakable space" and "Insert non-breakable dash" tools to the HTML editor.
  • Added to the "Extract Addresses From Files" tool support for unicode files (provided they have the byte-order mark).
  • Added support for copying an image file in Windows Explorer and pasting it into the HTML editor.
  • Added a tool for searching the Preview Window's recipient list.
  • Added the "Favorites" tab to the help file.
  • Added the "Customize Toolbar" option to the Options menu.
  • Added more tools to the HTML editor's toolbar, although most are hidden by default.
  • Numerous improvements to the Tracking Report window. When saving a report, a sensible filename is now automatically generated. Added a menu bar. The window will now remember its previous position. Added a "Help" option.
  • The tracking system can now better deal with transient connection problems.
  • The "Expiration Date", "Only Send When Before", and "Wait Until" settings now obey the computer's locale configuration regarding the date format (mm/dd/yyyy or dd/mm/yyyy).
  • The user is now warned the first time a Send Operation is started with more than 10 threads on Windows XP. Windows XP only allows 10 simultaneous connection attempts.
  • When using the tracking system on Windows XP, the number of threads is now limited to 9 because of the connection limit. Without this limit, recipients could go untracked.
  • The HTML Editor will now preserve the tag. The default HTML body now includes a tag.
  • Improved the appearance of checkboxes.
  • Improved support for Excel worksheets that have spaces in the name.
  • Improved the detection of hard and soft bounces by looking for certain strings in the subject.
  • When DNS encounters an internal server error, the query is now only repeated twice instead of being repeated for the entire timeout period (relevant since 36.0).
  • When using the "Repeat Send" feature, the operation's sequential number is now reported on the Progress Window.
  • Clicking the "Close" button on the Welcome Wizard will now create a new empty project. Choosing "Close Project" from the File menu is now exactly the same as choosing "New Project".
  • When Gammadyne Mailer fails to inform the tracking system that a tracked email was sent, the error is now logged to a file named TRACKING.LOG located in the directory where Gammadyne Mailer is installed.
  • Increased the maximum length of a tracked hyperlink from 150 to 250 characters.
  • Updated the SSL module (minor bug fixes and security improvements).
  • On Windows 7, the taskbar button will now show the progress of send and incoming operations.
  • Numerous improvements to the "Check For Update" tool.
  • The Send Feedback and Report Exception features now use HTTP to deliver the information to Gammadyne. The old SMTP method is only used as a fallback if HTTP fails. This is necessary because some ISP's only allow SMTP to their own mail servers.
  • Previously, any database assignment failure would report that the database column doesn't exist. This situation will now produce a correct error message containing the database's actual response. Also, the caret will now be positioned in the script where the assignment occurred.
  • The Default skin now conforms with the appearance of Windows 7. The original default skin has been renamed "Experience".
  • Improved the mailbox_count() function. The server name can now be followed by a colon and a port number. If the port number is 143 or 993, the IMAP4 protocol is used instead of POP3. If the port number is 993 or 995, the connection will be SSL encrypted for security.
  • The file_fetch_line() function will now return a random line if no line number is specified.
  • The get_attachment_name() function will no longer convert the attachment filename to lower case.
  • Whitespace is now trimmed from the beginning and end of the POP3 user name and password.
  • During a Remove Operation, the computer is no longer allowed to enter suspend/hibernate mode.
  • When browsing for a connection string, the ODBC driver list is now alphabetized.
  • The first time GM is launched, balloon help will appear prompting the user to get started by creating a new project.
  • Fixed some minor incompatibility issues with Vista/2008/7.
  • Fixed: when using the Preview Removal tool, after clicking the "Proceed With Removal" button, all operation statistics were double the correct number.
  • Fixed: the "Default: Direct Delivery" and "Default: SSL/TLS Encryption" global options were not being saved.

New in Gammadyne Mailer 36.5 (Apr 13, 2010)

  • Added to the "Export Tracking Data" tool the ability to choose which columns are exported.
  • The tracking system can now track links in tags. Previously, only tags could be tracked.
  • When forwarding an email, the subject is no longer altered. Previously it was set to "Processed Message" or "Unprocessed Message".
  • Fixed: the installer was not requiring administrator elevation on Vista/2008/7 (since 36.3).

New in Gammadyne Mailer 36.4 (Apr 6, 2010)

  • Added support for pasting unicode into the header fields.
  • Added to the HTML editor support for moving a table row up (Ctrl+Shift+U) or down (Ctrl+Shift+D).
  • Added a "Help" button to the tracking campaigns window.
  • When a tracking account does not have enough credits to fulfill the entire Track Count, the user can now continue the Send Operation, using all remaining credits.
  • Improved the tracking confirmation window. This window now appears after the Send Operation confirmation window. This fixes the problem where the user aborts the Send Operation confirmation window, but still gets charged 25 tracking credits.
  • The tracking system will now report an error if the Identity Column is non-numeric, which is a requirement.
  • Updated the SSL module (bug and security fixes).
  • When a Delayed Retry directory is created, it will now get full security rights.
  • Fixed: when an incorrect password is specified for the tracking system, the Send Operation's error message stated that the system was offline.
  • Fixed: when querying an incoming server for the number of messages, if an error is returned, Gammadyne Mailer will now perform a hard disconnect. Otherwise the server might hang GM for several minutes.
  • Fixed: unable to process MAPI email when "Repeat Incoming Operation" is checked. After the first cycle, errors would occur.
  • Fixed: unable to restore a minimized window when a modal subwindow is open under Windows 7 (since 36.0).

New in Gammadyne Mailer 36.3 (Apr 6, 2010)

  • Added the "Shortest/Longest Time Until Opened" tracking statistics.
  • Added the "Open File" button to the Export Tracking Data result window.
  • The "From:" header is no longer required. This is desirable for certain Exchange Server configurations.
  • The open/save file dialog will now use the operating system style enhancements.
  • All operation logs will now report the current date/time using the computer's regional settings.
  • Spaces around the SMTP Server Name will no longer cause an error.
  • Improved the installer's appearance.
  • The Export Tracking Data tool will no longer export the "linkmask" field, as there is no way for the user to make use of this data.
  • The "Login to POP3 server" method of SMTP authentication will now login to the POP3 server only once every 9 minutes. Previously, it would login every time a new connection to the SMTP server was made, which is time consuming and unnecessary.
  • Fixed: on the Preview Window, when the Recipient List has focus, selecting a new recipient will no longer allow the HTML body to steal focus.
  • Fixed: the field_exists() function was not always working correctly.
  • Fixed: when an auto-response refers to an invalid database column, the legal column names were not being listed in the error message.
  • Fixed: bug prevented auto-responses from using the database columns in a newly added row (since 35.5).

New in Gammadyne Mailer 36.2 (Jan 29, 2010)

  • Added support for external Text and HTML Bodies that are in unicode.
  • Added the largest() and smallest() G-Merge functions.
  • Added a progress window while importing tracking data to the database. Also, when the "Update Existing Records" mode is chosen, the summary now reports the number of records that were actually found.
  • Added to the exported tracking data a new column, "links_clicked", that contains a list of the links that the recipient clicked on.
  • Added a "Help" button to the first-time greeting window.
  • Renamed the "SQL Canonical Mode" setting to "SQL Delimiter Mode".
  • Fixed: the Export Pseudo-Project tool was exporting a "ConstructedAttachment" label instead of "ExplicitAttachment" (since 36.0).
  • Fixed: when importing tracking data to the database, clicking "Finish" before reaching the last page of the wizard was causing the previous column mappings to be lost.
  • Fixed: some databases were not able to handle the change from bracket delimiters to accent delimiters. The character used to delimit an SQL identifier is now auto-detected from the database driver.

New in Gammadyne Mailer 36.1 (Jan 21, 2010)

  • Fixed: very rarely, a bug could cause an editbox to only accept certain characters (e.g. letters or digits) (since 36.0).

New in Gammadyne Mailer 36.0 (Jan 19, 2010)

  • Added support for tracking opens and links.

New in Gammadyne Mailer 35.5 (Sep 14, 2009)

  • Added support for the Gammadyne Email Tracking System.
  • Added support for the BIGINT database type (64-bit integers).
  • The "Identical" Send Mode now supports G-Merge, just not recipient-specific personalization.
  • During a repeated Incoming Operation, the ODBC connection is now pinged to prevent an idle timeout from occurring. If the ping fails due to a lost connection, the database will be automatically reopened.
  • Added the random_digits() function.
  • The "To:" setting is now hidden when the "Hide Advanced Settings" option is checked. Messages are usually treated as spam if the To: header does not match the recipient, therefore this feature should never be used.
  • The "Test DNS Servers" tool no longer uses gammadyne.com for testing.
  • The default log filename for new projects was changed from MMAIL.LOG to GM.LOG.
  • GMCOM now tries to prevent ODBC from displaying the Login window in the event that database login fails because in some circumstances this could cause GMCOM to hang.
  • Fixed: the Generate DomainKeys window was sometimes not tall enough to display all controls.
  • Fixed: the Rejection Summary will no longer include a separate entry for each INDEX rejection.
  • Fixed: a G-Merge error during a Send Operation could cause an empty error window to appear if a Success or Failure Script is used.
  • Fixed: the http_fetch() function could timeout when fetching a 0-length file.
  • Fixed: extremely large attachments could result in an "Out of Memory" error due to a heap fragmentation problem with the Base64 encoding algorithm.
  • Fixed: an unusual scenario where an unbindable database column (such as LONGVARCHAR) could produce an error if it is also used in the Success or Failure script.
  • Fixed: a bug in the Remove feature could cause the line break before an email address to be deleted as well, which in turn could cause two addresses to merge together.

New in Gammadyne Mailer 35.0 (Jun 15, 2009)

  • Added the "Hide Advanced Settings" option to the Options menu. This helps streamline the user interface by hiding certain settings that almost never need to be changed. This option is checked by default.
  • Added the Send/Scripts and Incoming/Scripts branches. To further streamline the user interface, the various scripts have been consolidated on these branches.
  • HTML image filenames are now automatically stripped of spaces, URL encoding, and other characters that cause problems in certain email clients.
  • Added the latch_html_unicode_until() and db_set_unicode() functions. These make it possible to latch unicode data out of the HTML body and store it in a database column.
  • Added the ForEachFile.exe utility. The arguments to this program include a set of source files, a project file, and various switches. For each source file, it will launch an instance of Gammadyne Mailer, passing it the project and switches. This is useful, for example, to perform a mailing for every file located in a certain directory, with the file attached to each outgoing email.
  • HTML images will now appear on the Preview Window when running a pseudo-project.
  • External HTML images that are fetched and converted to internal images will now appear on the Preview Window.
  • Graphics that cover the entire HTML background will now appear on the Preview Window.
  • The original Simple Merge data for each email is now available in the Success/Failure Script.
  • Added icons to all child branches.
  • Added to the end of the Send Log a summary of the totals for each type of rejection.
  • Added the dbe_execute() function, which can execute an SQL statement in a different database than the one specified in the project.
  • Added an "Auto-Detect" button to the Override EHLO Domain setting.
  • Added the ability to import the Remote Server Table from another project.
  • Added to the HTML editor a tool for setting the entire document's background color.
  • Added the csv_append() function, which appends a line of CSV data to a file.
  • Added the incoming_get_received() function, which returns the date when the current incoming email was delivered to the first SMTP server.
  • Added the "/attach" command line switch, which can be used to add an attachment to a mailing.
  • Added to the HTML editor the option to disable automatic URL detection.
  • Added the file_fetch_line() and mime_delete_headers() functions.
  • Added the "Load test email" context menu option to the Literal editbox.
  • Added the ability to drag and drop an .MMP project file from Windows Explorer onto the window caption. This will open the project.
  • Function keys will now work when an embedded HTML window has focus.
  • Updated the SSL module to the latest version.
  • The db_acquire_row() function's first parameter can now be any data type.
  • Behavior change: the ExtendedHeaderChars and CanonExtended pseudo-project labels now default to "1" if not specified.
  • An abortable progress window is now displayed while the Check PTR Record tool is working.
  • The settings on the Text Body/Format branch have been moved to the Text Body branch. The Custom Headers have been moved to the Headers branch.
  • The Bounce-Back wizard will now set "Addresses in body" to "Process All". It will also uncheck the "Ignore hard bounce-backs" box.
  • The send progress window now displays the title of the pseudo-project.
  • The installer and uninstaller will now automatically close the main window and help file.
  • Numerous minor improvements. Numerous skin improvements.
  • Reorganized the settings on the Incoming/Processing branch. The "Members only" setting has been moved to the Remailing branch.
  • An error is now reported if the "No recipient required" box is unchecked, and all other Recipient Sources are disabled. This configuration causes all incoming email to be rejected.
  • The Successful Send Date feature will now produce an error if no Identity Column is specified (before the Send Operation starts).
  • The Single Send tool now reports a more intelligible error if no Table Name is entered.
  • Restored support for Windows 95.
  • For new projects, the "Canonicalize Extended ASCII" box is now checked by default. This feature has no known disadvantages.
  • For new projects, the "Ignore Duplicate Recipients" box is now checked by default. More often than not, this feature is desirable.
  • The 'subject' parameter to the incoming_forward() function is now obeyed even if "Forward as raw MIME" is unchecked.
  • Fixed: when highlighting a control where an error occurred, the highlighting was sometimes not being undone.
  • Fixed: the "Limit Message Size" feature was not working when using the IMAP4 protocol.
  • Fixed: G-Merge errors in the internal HTML Body were sometimes not positioning the caret at the proper position.
  • Fixed: HTTP was failing for servers that specify a character set for images.
  • Fixed: The "Browse" tool for the database connection string was sometimes including garbage at the end of the string.
  • Fixed: the HTML editor's Preview tab was not displaying certain images depending on how they were specified.
  • Fixed: Under Vista, when GM is minimized and a Send Operation completes, GM could not unminimize properly.

New in Gammadyne Mailer 34.1 (Feb 26, 2009)

  • Added a checkbox to the "Line Length" setting. When unchecked, the Text Body is not word-wrapped at all. Previously, the Text Body was always word-wrapped to at least 999 characters.
  • Added some defaults to a new drop-down list for the Default Date Format and Default Time Format.
  • The Text Body Encoding now defaults to "Quoted-Printable". There are no known email clients that cannot decode Quoted-Printable, and unlike 7-bit and 8-bit encoding, it allows lines to run longer than 1000 characters.
  • Behavior change: if the "LineLength" pseudo-project label is not present, no word-wrap is performed on the Text Body.
  • Fixed: the Identical Send Mode combined with the Reading Confirmation feature was causing an incorrect error.
  • Fixed: possible crash when using the Universal Domain Throttle when the mailing list contains over 200 unique domains.

New in Gammadyne Mailer 34.0 (Jan 27, 2009)

  • Added support for distributing threads among multiple IP's / networking adapters. Added the "Use all adapters" option to the Servers branch. The "Adapter IP" field now supports multiple IP addresses, separated by commas.
  • Added support for databases that are not registered as an ODBC Data Source. On the Database branch, check the "Use connection string" box, then click "Browse".
  • Added to the HTML editor the "Insert Symbol" tool (Ctrl+N). This will display a character map of all unicode characters. Double click on a character to insert it into the document. Alternatively, type four hex digits and press Ctrl+ to generate a unicode character.
  • Added the "Universal Domain Throttle" setting to the Domain Throttles branch.
  • Added the ability to customize the order and visibility of toolbar icons. Right click on the toolbar and choose "Customize".
  • Added the ability to edit an external HTML file in an internal HTML editor.
  • Added to the "Remove" tool support for recipients that are separated by commas or semi-colons. Previously, the mailing list was restricted to one email address per line.
  • Added the ability to prompt the user for the incoming mail server's user name and password. Simply leave these fields blank.
  • Added the "Include Attachments", "Include In-Reply-To Header" and "Include Auto-Submitted Header" settings (for auto-responding).
  • Added the "Remailing" branch and moved all auto-responding and forwarding settings there.
  • Added the "Convert Forwards To Text" setting to the Remailing branch.
  • Added the unicode_to_html() G-Merge function, which allows unicode database columns to be merged into the HTML Body. Added the unicode_to_utf8() function, which allows unicode database columns to be merged into the Text Body. Added the unicode_to_header() function, which allows unicode database columns to be merged into a header. Added a help file guide on unicode.
  • Added the convert_to_utf8(), equals_any(), equals_any_i(), incoming_is_autoresponse(), str_reduce(), switchi() G-Merge functions.
  • Added the mw_xxx() family of G-Merge functions for displaying simple popup message windows.
  • Added many more examples to the Example.MMP project.
  • Added the "Edge Gap Disabled" option to the Window menu.
  • Added a help file guide on configuring a project to add a database row, populated with data extracted from an incoming email (Guides > Data Extraction).
  • Added a warning to the "Verify All Addresses" tool that this will likely cause your IP address to be blacklisted.
  • The list of ODBC data sources is now automatically refreshed whenever the drop-down list is opened. This eliminates the need to choose "Refresh List" from the context menu.
  • When a G-Merge error occurs, the tag is now displayed after the error message.
  • Gammadyne Mailer's main executable is now digitally signed.
  • The "Forward to all" feature now discards certain inappropriate headers.
  • In the HTML editor, right clicking on an image and choosing "Image Properties" will bring up a window where the image properties can be edited. Likewise for hyperlinks.
  • The Incoming Progress and Incoming Summary windows will now remember their position and size.
  • The Auto-Responder wizard will now set "Delivery Status Notification" to "Never".
  • The Bounce-Back wizard will now ask if non-bounces should be forwarded to a different address.
  • The settings tree will now remember the "Alphabetize main branches" option.
  • Improved performance of the "Eliminate duplicate recipients" feature for large lists.
  • The "Preview Recipients" tool now uses far less memory.
  • The database connection timeout has been extended from 10 to 300 seconds.
  • Numerous interface improvements and other minor improvements.
  • Fixed: the From: header was requiring an email address even if the Sender: was specified.
  • Fixed: the Bounce-Back wizard was automatically checking the "Ignore Auto-Responses" box. However, this was supposed to be done only by the Auto-Responder wizard.
  • Fixed: the Adapter Name drop-down list could potentially fail to include an adapter's IP address, causing this feature to not work.
  • Fixed: some minor features would fail to obey the Adapter IP settings.
  • Fixed: some minor features would fail to apply changes to the DNS settings.
  • Fixed: a vertical bar (|) in a G-Merge string literal could cause a syntax error.
  • Fixed: incorrect error reported when using G-Merge in the Sender: field (since 33.0).
  • Fixed: rare hang while "Waiting for threads to finish".
  • Fixed: The "Ignore" button on the "Failed Login" window was not working. Also, a failed login was not being automatically retried after 30 seconds as it should have been.

New in Gammadyne Mailer 33.1 (Sep 23, 2008)

  • Passwords to the SMTP and POP3 servers are now stored with encryption. However, please note that downgrading to a version prior to 33.1 requires all passwords to be re-entered.
  • Added to the "Check PTR Record" tool the ability to obtain information on any IP address.
  • Added various buttons to the bottom of the Check Blacklisting report.
  • If the Image Locality is "External" and the HTML tag is specified, images with a relative URL will not be modified.
  • The "Browse" tool for the Recipient File will now by default display CSV files in addition to TXT files. The Browse tool for log files will now display both TXT and LOG files by default. The Browse tool for the Embedded Files List will now display JPG, GIF, and PNG images by default.
  • The installer is now digitally signed.
  • Fixed: forwarding email will now obey the Sender: field as documented. If forwarding begins to fail after installing this version, set the Sender: to a valid email account on the mail server.
  • Fixed: the Message-ID was not correctly generated when using the "" keyword in the From: header.
  • Fixed: the dbe_add_row() function may incorrectly report that a database must be specified in the project (since 33.0).

New in Gammadyne Mailer 33.1 (Sep 23, 2008)

  • Minor improvements.

New in Gammadyne Mailer 33.0 (Aug 20, 2008)

  • Balloon help has been totally revamped. The balloon help text for each control has been reviewed and improved.
  • The entire help file has been reviewed and improved.
  • Improved ease-of-use for HTML images, including:
  • Added the "Image Locality" setting. Simply set it to "Internal", "External", or "Both", and Gammadyne Mailer will take care of everything. For old projects, this setting is initialized according to the "Auto-Insert cid:" and "Auto-Insert Content-Location" options.
  • The "Auto-Insert cid:" and "Auto-Insert Content-Location" options have been removed. The new Image Locality setting determines if these features are used.
  • Remote images are now automatically downloaded and embedded in the email (unless the Image Locality is "External").
  • Numerous improvements to the "Troubleshoot HTML" tool.
  • Added support for a relative path containing forward slashes. If any embedded image contains a relative path, the path is now automatically discarded.
  • If no Embedded Files Directory is specified, it will default to the directory of the external HTML Body.
  • Added support for HTML tags that specify the "background" attribute.
  • The "Auto-Detect Embedded Images" option has been removed. There is no reason to turn this feature off.
  • Improved support for load balancing to multiple SMTP servers, including:
  • Added radio buttons to the "Sender" field that allow it to use the SMTP authenticated user.
  • If the From: header is "", it will be replaced with the SMTP authenticated user.
  • Each thread will now try to avoid SMTP servers that are throttling.
  • Two SMTP servers with the same domain will no longer share the same throttle.
  • When throttling with the "Recycle Connection" feature, the connection is now closed during the throttle pause period.
  • Added the "Secure authentication" setting to the Incoming/Source branch. This changes prior behavior - previously secure authentication was always used, however this new setting is unchecked by default. Some servers cannot reject secure authentication gracefully.
  • Added to the HTML editor support for unicode characters.
  • Added to the "Check PTR Record" tool the ability to determine if the computer's external IP address is on Spamhaus's PBL. The PBL is a list of all IP addresses that are assigned dynamically or are behind a residential gateway. Direct Delivery does not work if the IP address is on this list.
  • Added the "Ignore Auto-Responses" option to the Incoming/Criteria branch. We recommend checking this box for all projects that process incoming email.
  • Added the incoming_origin() function, which returns a code for the location where the recipient was located in the incoming email. For example, this can be used to send auto-responses to only the recipients located in the From: header.
  • Added support for a question mark wildcard in all log filenames. When the log is created, the question mark is replaced with the current date and time.
  • Added the ability to paste plain text into the HTML editor (stripped of all text formatting). The hotkey is Ctrl Shift V.
  • Added a checkbox to control the "Custom WHERE Clauses" field.
  • Added to the "Sending previewed messages..." message the total number of emails remaining.
  • Added the "Lookup Recipients" icon to the toolbar. Removed the "Verify Address" and "Verify All Addresses" icons because these tools are discouraged.
  • Added the -HardBounces- variable for the Post-Incoming Script.
  • Added various buttons to the bottom of the "Extract Text from HTML" window.
  • Added the ability to control word-wrap in the Literal Email.
  • The help file's Search feature will now highlight all occurrences of the keyword.
  • Updated the SSL and DomainKeys modules to the latest version (security improvements and minor bug fixes).
  • When using the "/v" command line switch, the complete list of email addresses is now displayed in a scrollable editbox.
  • When using the "/r" command line switch, the removal log window now comes to the foreground.
  • The "Process Literal Email" tool will now explain why the message is not valid MIME.
  • The "Reset DNS Cache" tool will now report if the cache was already empty.
  • All references to "Check Incoming Mail" have been changed to "Process Incoming Mail".
  • The "Check Blacklisting" tool now accepts URL's and email addresses.
  • Fixed: the "Manually Process Clause Table" checkbox was not always enabled/disabled correctly. This setting was renamed "Internally Process Clause Table".
  • Fixed: some issues when a prompt() window is created while GM is minimized.
  • Fixed: the Simple Send tool was not obeying the Character Set.
  • Fixed: the Delete Clause button was only working if the Clause Table had focus.
  • Fixed: the email_send() function was not including a "To:" header.
  • Fixed: possible lock-up when spell checking in the HTML editor, and other problems.
  • Fixed: rare crash in the HTML editor.
  • Fixed: rare installer crash (since 32.1).
  • Fixed: potential crash in DomainKeys related to multithreading.

New in Gammadyne Mailer 32.2 (May 19, 2008)

  • Added the ability to reverse the order of the database result set.
  • Added the "RemovalMethod" pseudo-project label.
  • Added support for Excel columns that have leading or trailing whitespace.
  • Windows that originate from ODBC will now popup in front of Gammadyne Mailer instead of behind it.
  • Revised the instructions for registering a SQL Server data source.
  • Moved the Criteria branch below the Processing branch.
  • The Preview Recipients tool will now ignore the Notify Operation Errors feature.
  • Fixed: the Insert Column tool for the Custom WHERE Clause was not working properly.
  • Fixed: when forwarding, project errors were not being properly recorded in the log (when using "Log Entire Forward Operation").
  • Fixed: embedded images were not always previewing. Improved documentation on embedded images.
  • Fixed: bug that caused all recall-comboboxes to accumulate duplicate entries in the drop down list if the text contained trailing whitespace.
  • Fixed: bug that could cause only the first 256 characters of a database column to be fetched (if the database reports the size of the column to be 0).
  • Fixed: the "Lookup Illegal Recipients" tool was not properly handling comma/semi-colon separated lists as documented.
  • Fixed: changes made by the HTML editor's Attribute Editor tool can now be undone.
  • Fixed: failure to login to IMAP4 servers that don't support CRAM-MD5 authentication.
  • Fixed: selecting and copying text in the help file did not always work properly.
  • Fixed: the "Execute custom SET statement" Removal Method was not working correctly during Incoming Operations.
  • Fixed: the user is not allowed to make changes in the HTML editor until all images have downloaded. Doing so could cause all kinds of problems, including a crash.
  • Fixed: if the operating system DLL named NTMARTA.DLL faults, it will no longer crash the installer (since 32.1).
  • Fixed: crash related to SSL and multithreading. Anyone using SSL should definitely install this update.

New in Gammadyne Mailer 32.1 (Mar 17, 2008)

  • Added the "DomainKeys" pseudo-project label.
  • Added a second optional parameter to the remove_recipients() function. It can contain one or more filepaths to plain-text mailing list files on which the removal is performed. Previously, this function would only operate on the mailing list specified in the project.
  • Big improvement to quoted-printable decoding speed.
  • The installer will now warn if it does not have admin rights. It will also attempt to loosen the security settings on the installation directory (to prevent problems with Vista).
  • Fixed: rare crash after a continuous Incoming Operation completes.
  • Fixed: rare crash when using MAPI.
  • Fixed: possible "Unknown Function" error when using user-declared G-Merge functions.
  • Fixed: possible hang when opening the Configuration Editor.
  • Fixed: possible crash on Vista when enumerating DUN connections.
  • Fixed: the GM window was initially minimized if no other System-G app had been installed.
  • Fixed: the Vista minimize bug

New in Gammadyne Mailer 32.0 (Jan 22, 2008)

  • Added the "Process MAPI Email" option to the Incoming/Source branch. This allows GM to process messages in any email client that supports MAPI (such as Outlook and Lotus Notes).
  • Added the "Write Email To MAPI Folder" option to the Send/Delivery branch. This allows GM to generate messages directly into an email client folder, such as Outlook's Outbox.
  • Added the "Delivery" branch, where many settings from the Send branch have been moved. The Details branch has moved above the Domain Throttles branch.
  • Added the "Indirect Delivery" radio button to the Delivery branch. The "Direct Delivery" and "Write Email To Files" options are now radio buttons.
  • Added the incoming_save() G-Merge function. When processing incoming MAPI messages, this will save a message back to the MAPI folder.
  • Added to the end of the Incoming Log statistics on the number of criteria keywords found. These stats are also recorded in the -CriteriaStats- variable which is available in the Post-Incoming Script.
  • Added the db_used() G-Merge function, which returns TRUE if a database is being used.
  • Added an Incoming Operation statistic on the number of message deletion successes and failures.
  • Added a notice window while issuing the database query during a Send Operation.
  • Added the "Editor Menu" button to the HTML editor toolbar.
  • Added the convert_from_hex() and convert_to_hex() functions.
  • Added to the Progress Window a statistic on the number of recipients rejected.
  • Added various buttons to the bottom of the "Remove From Files" editbox.
  • Whenever an image is inserted in the WYSIWYG HTML editor, if the Embedded Files Directory is blank, the image's directory is copied there. This helps ensure that the image will appear properly on the Preview Window.
  • The incoming progress window will now display a running total of the number of messages processed and unprocessed.
  • The Verify Address tool will now obey the "Override EHLO Domain" setting.
  • The "Process Literal Email" feature will now report an error if the message is not valid MIME.
  • The Simple Send window will now immediately reject an illegal From: header.
  • Improved icons and icon rendering.
  • Added the "Metal" skin.
  • Updated the SSL module.
  • All function calls to the SSL and DomainKeys modules are now made inside an exception trap so that these modules cannot crash Gammadyne Mailer.
  • If a mail-sending worker thread crashes, Gammadyne Mailer can now gracefully recover from it.
  • Noticable performance improvement when using the asterisk wildcard in the log filepath when there are many log files.
  • The "Add Recipients" window will now remember its position and size.
  • Fixed: when specifying the SMTP server in a pseudo-project, the global SMTP settings were being used as defaults for unspecified fields. Now, when the SMTPServer field is encountered, all pre-existing information about the SMTP servers is discarded.
  • Fixed: the SQL Canonical Mode was not importing correctly from old projects.
  • Fixed: Bounce-Back Wizard was not always setting the "Processing Mode" to "Remove".
  • Fixed: quoted-printable encoding could sometimes allow a line to exceed 76 characters. Some spam filters may penalize messages with this mistake.
  • Fixed: the Delayed Retry feature should have been ignored for indirect delivery.

New in Gammadyne Mailer 30.0 (May 2, 2007)

  • Added support for the IMAP4 protocol for receiving email. The Mail Accounts table now includes a column labeled "Protocol", allowing the user to choose between POP3 and IMAP4.
  • Added support for session-level SSL (SMTP over SSL on port 465, POP3 over SSL on port 995, IMAP4 over SSL on port 993).
  • Added support for POP3 CRAM-MD5 authentication. This security enhancement prevents the password from being stolen.
  • Added a "Word Wrap" option to the Simple Send Window.
  • Added the "Reply-To" option to the Simple Send Window.
  • Added the " " button to the To:, CC:, and BCC: headers in the Simple Send Window.
  • Added various buttons to the bottom of the Attached Files List and Embedded Files List.
  • Added the "/select" command line switch for overriding the Custom SELECT Statement.
  • The entire help file has been reviewed. Numerous improvements and corrections. Added to the Auto-Responder Guide a section on preventing auto-responder loops.
  • Numerous user interface/skin improvements. The "Default" skin has been redesigned to resemble the appearance of Windows XP.
  • Numerous improvements to balloon help.
  • The "Limit Message Size" setting is now compatible with the "Process Local Email" setting.
  • In the WYSIWYG HTML editor, audio will now stop playing when the user clicks away from the "Preview" tab.
  • The "Preview Final WHERE Clause" tool has been renamed "Display SELECT Statement". It now displays the entire SQL SELECT statement that is sent to the database.
  • The "Troubleshoot HTML" tool will no longer report an error for a URL to a local file.
  • Fixed a bug with Excel column name enumeration.
  • Fixed a bug in UTF-8 decoding.
  • Fixed a bug in the convert_to_url() function. It was not properly canonicalizing extended ASCII characters.
  • Fixed a rare floating point divide by zero crash.
  • Fixed an erroneous "Invalid Adapter IP" message when using a networking adapter with multiple IP addresses.
  • Fixed a bug in the "View Result Set" tool that could cause a random time to appear in a NULL date/time field.

New in Gammadyne Mailer 29.0 (Mar 7, 2007)

  • Added support for SSL/TLS with the new "SMTP Encryption" setting on the Servers/SMTP branch, and the new "POP3 Encryption" setting on the Incoming/Source branch. Added the "EncryptSMTP" pseudo-project field.
  • Added the "Network Adapter" settings to the Servers branch, allowing control over which adapter is used for all Internet communications. Added the "AdapterIndex" and "AdapterIP" pseudo-project fields. Added the adapter_ip_get() G-Merge function.
  • Added to the http_fetch() function the ability to support https: URL's, which use SSL encryption.
  • Added icons to the settings tree. The font size of the tree can now be adjusted.
  • Added titles and descriptions to the top of all branches.
  • Added buttons to the bottom of all multiline editboxes that support G-Merge.
  • Added a movable splitter on the Clauses branch.
  • All interface fonts are now antialiased by default. The setting to control this is located at: System-G Menu > Configuration Editor > Controls > Font > Antialias.
  • Increased the maximum number of database columns from 256 to 2048.
  • The Incoming/Explicit branch has been renamed "Literal".
  • The HTML editor's Attribute Editor and Style Editor will now operate correctly when the user has clicked on an image.
  • The F1 key will now work in the WYSIWYG HTML editor.
  • Fixed a bug in parsing certain responses to the HELO/EHLO command.
  • Fixed a bug that could remove the quote marks from the ALT attribute of an tag (only when specifying a local image).
  • Fixed a bug that prevented the "DatabaseConnect" pseudo-project field from working.