Be careful with old versions!
These versions are displayed for reference and testing purposes. You should always use the latest version of an add-on.
Release 6.3.6 broke date-parsing in languages other than English. This release fixes it.
I've learned that versions of Send Later newer than 6.2.1 are incompatible with Thunderbird 24.* and older. Those versions of Thunderbird are nearly five years old and are no longer maintained, which means that they have numerous unpatched security holes on them. As such, users are strongly urged to upgrade to the current version of Thunderbird. If that is not possible for whatever reason, you may continue to use Send Later by downloading and installing version 6.2.1, but you will not get any new Send Later features or bug fixes.
Compatibility changes for recent versions of Thunderbird.
Upgrade to the current version of SugarJS.
Send Later inserts several headers into scheduled messages and removes them when before delivery. When Send Later inserts these headers, they are on a single line in the message header, and the code for removing them later previously assumed that they would remain on a single line. However, some IMAP servers wrap headers when messages are saved into an IMAP server. As a result, some headers were being wrapped, and then Send Later removed those headers incompletely at delivery time because it left behind the wrapped text. The code has now been fixed to remove the wrapped text as well.
BUG FIX: Strip "Openpgp" header from scheduled messages during delivery
There's a constant arms race between Send Later and other Thunderbird functionality... Send Later needs to figure out what temporary, internal headers are saved by other Thunderbird functionality and remove those headers from scheduled drafts when sending them. The newest header I've discovered in this category is the "Openpgp" header, which Send Later now removes.
Add a new hidden preference, "extensions.sendlater3.first_day_of_week", which the user can modify to control the first day of the week in Send Later's pop-up calendar grids.
Fix a bug which prevented changes the user had just made to the hour or minute values in the time picker in the compose window toolbar to be accepted if the user clicked on the "Send Later" button in the toolbar immediately after making the time picker changes.
Make another attempt to more fully fix the problem of the "cancel on reply" option being set on a scheduled message when the user didn't intend for it to be.
Fix a bug which in rare cases caused some scheduled messages to get stuck in the Drafts folder and not send at their scheduled delivery times.
Fix a minor bug in the Send Later code that runs when Thunderbird is shutting down, so that Send Later will start up more quickly the next time Thunderbird is launched.
Make some non-functional code changes necessary to support Thunderbird 58+ and SeaMonkey 2.55+.
BUGFIX: Embedded images corrupted when editing scheduled drafts
A recently introduced Thunderbird bug was causing embedded images to become corrupted when the user opened a previously scheduled draft with embedded images to edit it. The real fix for this bug will require changes in Thunderbird, but in the meantime, I've implemented a workaround.
BUGFIX: AM/PM in 12-hour timepicker flips to AM when it shouldn't
If the time-picker widget in the Send Later prompt window was in 12-hour mode, and it was displaying a PM time, and you entered a new hour in the hour part of the widget and hit tab, the "PM" would switch to "AM". It shouldn't have been doing that. It should be fixed now.
BUGFIX: "Cancel recurrence on reply" getting set incorrectly sometimes
The "Cancel recurrence on reply" option was being set incorrectly sometimes, definitely when using a preset button in the toolbar configured to call a user-defined function, and possibly in other contexts as well. This has been fixed.
ENHANCEMENT: Display release notes in SeaMonkey
The add-on will now display the Send Later release notes in SeaMonkey when they documented significant changes. Previously, this only worked in Thunderbird.
COMPATIBILITY: Some old Thunderbird and SeaMonkey releases are no longer supported
Update translations, including the start of a new (not yet complete) Czech translation.
When scheduling a recurring message via the Send Later pop-up window, you may now indicate that the recurring message should be canceled and deleted from your Drafts folder if you receive a reply to it. This is useful, e.g., if you want to keep periodically reminding someone about something until they reply to indicate that the reminder is no longer needed.
Thanks, as always, to my translation volunteers, for assisting in translating this new feature to many languages!
New feature: Draft messages saved by Send Later are now more reliably marked as “read” so they don’t make your Drafts folder have an unread count unnecessarily.
Send Later now uses separate, unique message IDs for scheduled drafts vs. the messages it actually sends, as well as for different copies of recurring messages. Previously, the message ID which Send Later used when sending a scheduled message was identical to the message ID that was used while the message was being stored in your Drafts folder. Furthermore, Send Later previously used that same message ID for all sent copies of recurring messages. Using the same message ID for drafts and recurring messages was incorrect both because message IDs of different copies of messages are supposed to be unique, and because some mail servers might get confused when a draft and a sent message have the same message ID.
Previously, when a recurring message was sent, Send Later briefly failed to include it in the count of pending messages. Now, Send Later consistently counts recurring messages in the pending message count.
Minor updates to some other translations.
Thunderbird’s local folder storage format keeps deleted messages on disk, but invisible to the user, until their folder is compacted. Usually this causes no trouble, but occasionally Thunderbird corrupts a local folder and loses track of messages which messages were deleted, causing them to “magically” appear in the folder again. In most cases, this causes no further harm than deleted messages being resurrected, an annoying nuisance but not a huge problem.
However, when Send Later is being used, and when the folder this happens to is the user’s Outbox folder, it can cause a big problem: messages that were previously sent with Send Later can be resurrected and resent. If it has been a long time since the Outbox was last compacted, a lot of messages can be resent. This is bad.
Send Later now guards against this by by automatically compacting the Outbox folder whenever Thunderbird finishes sending its messages and it is visibly empty, i.e., the only messages remaining in it are invisible, deleted messages.
Make locale-based first-day-of-week work in calendar pop-ups
There is a bug in Thunderbird which was preventing the calendar pop-ups displayed by Send Later from starting the week on the correct day, in locales where that day isn’t Sunday. See https://bugzilla.mozilla.org/show_bug.cgi?id=516796. Fortunately, there’s a workaround for this bug, which has now been implemented in Send Later. Therefore, if your computer starts weeks with the correct day elsewhere, it should now do so in the Send Later calendar pop-ups as well.
Miscellaneous minor changes
The command key for the “Close” button in the dynamic function editor is now Ctrl-W in every language, as it should be.
A bunch of button access keys (i.e., the letters you an type with Alt to activate the buttons) have been fixed.
Use the Unicode ellipsis character instead of three periods. Also, use Unicode quotes instead of ASCII double quotes.
Be more consistent about the add-on name in translations, i.e., decide for each translation whether the add-on name is going to be “Send Later” in English or a translated version, and carry that decision throughout the entire translation.
Update the URL of the user guide because it’s got SSL (https) now.
Previously, the day-of-week and time-of-day restrictions in the Send Later prompt window could only be used with recurring messages or scheduling functions. Now they can be used when specifying only a single send time explicitly as well. You can do some clever things when combining this with saving defaults in the prompt window. For example, if you always want messages to be sent within a particular time window, you could put "now" in the prompt window's text box and specify the desired time window in the "Between" settings, then save those defaults, and from then on, whenever you bring up the prompt window and click the "Send at" button, it'll either send the message immediately -- if it's within the correct time window -- or move it to be within the time window.
Previously, when you used a non-recurring dynamic scheduling function such as the "BusinessHours" function that is created by default when you open the dynamic function editor, the fact that the message was scheduled with a function is not saved, so if you go to edit the function later and then try to re-schedule it, rather than defaulting to using the same dynamic function again, it defaulted to the time that the message was previously scheduled to be sent. Now, the function name is saved, and if you edit and re-schedule the message the prompt window will be pre-configured to use it again.
Furthermore, when you specify day-of-week or time-of-day restrictions when scheduling a message with either an explicit send time or a non-recurring dynamic function, the restrictions you specify will now be saved, so that if you edit and re-schedule the message, they will be set up in the prompt window automatically.
When you click the "Calculate" button in the prompt window, the text-box the date and time pickers are now updated with the results along with the text box.
If you accidentally click "Save defaults" or "Clear defaults" in the prompt window, you can now click it again to undo the first click (prevously, once you clicked either of them, you then had to leave one or the other selected).
In Postbox, the Send Later status message and progress bar in the main window has been moved to the system tray, which is deprecated in Postbox, to below the folder list.
The Catalan, Dutch, and German translations have been updated.
A bug which prevented a scheduled message with a day-of-week restriction from being sent unless it also had a time-of-day restriction has been fixed.
Automatically displaying the release notes for new major or minor releases was broken in release 6.0 and is now fixed.
The logic for displaying the release notes for new major or minor releases had a bug which was causing it to sometimes display them for patch releases as well. This has been fixed, and now the release notes will be displayed only for major, minor, and beta releases (the latter obviously only for users who are subscribed to the beta release channel).
Send Later's translations use parameterized substitutions in some translated strings, i.e., the string is used as a template into which values are substituted to customize it for the particular message being displayed. A few of the rarely used strings had missing or incorrect substitution patterns in them in some languages. In addition to fixing these, the build process for the add-on has been modified to prevent similar bugs from being introduced in the future.
Fix an undefined variable reference in some code that should never actually be executed since it indicates an internal error in the add-on.
Fix some incorrect invocations of Array.splice which were treating the second argument as the end index of the splice, rather than as the number of elemented to replace in the array. These incorrect invocations weren't actually having a functional impact because of the way the code was otherwise constructed, but they could at some point in the future and they were clearly wrong, so they've been fixed.
The code that was supposed to display an error pop-up when there was an unexpected error invoking a dynamic scheduling function was broken, and that code would itself cause an uncaught error and cause the add-on to malfunction. Users are unlikely to have run into this issue, but in any case it has been fixed.
BUG: Fix incompatibility with Thunderbird versions before 17.
BUG: Fix incompatibility with Seamonkey versions newer than 2.41a1.
BUG: Fix the pop-up menu in the main Thunderbird window so it only pops up when you click on the Thunderbird part of the status bar, rather than when you click anywhere in the status bar.
ENHANCEMENT: When there are no dynamic scheduling functions defined, i.e., before the first time the user has opened the dynamic function editor, desensitize the dynamic function selector in the Send Later prompt window, since there are no dynamic functions to select.
ENHANCEMENT: Fix the height of the dynamic function pop-up menu in theSend Later prompt window so that it is correctly full height, rather than being very short until the user selects a function.
I18N: Translation updates.
Dynamic scheduling function support
Read more in the updated user guide or click on “Send Later” in your status bar and select “Dynamic function editor” to open the editor and read the built-in documentation.
While it was possible to use dynamic scheduling functions in previous Send Later releases, it required significant "back-end" configuration and a reliance on other add-ons; this is no longer the case.
Save default settings in the Send Later dialog
You can now save default settings in the Send Later dialog when scheduling a message, and subsequent invocations of the dialog (until you clear the defaults) will start with the settings you saved.
Pop-up menu on main Thunderbird window
There is now a pop-up menu accessible by clicking on “Send Later” in the status bar, giving you easy access to Send Later’s preferences, dynamic function editor, user guide, release notes, emailing the author, and making a donation.
Send Later is now compatible with SpamFighter.
Improved Send Later icons
The Send Later icons have been improved a bit.
This release includes a new Catalan translation, and an incomplete Greek translation.
This release also includes various other translation updates. Thanks, as always, to my translators, in particular my new Polish translator, Piotr Przybylski (Gabry$).
A bug in the interpretation of day-of-week restrictions, which could sometimes cause recurring messages subject to such restrictions to be sent on the wrong day, has been fixed.
There has been a lot of flip-flopping in this area of the add-on's functionality, caused in part by the fact that there are so many moving parts that I've had trouble keeping them all straight in my mind, so I'm going to try to explain clearly here exactly what's going on and why I'm reverting this change, so that all the necessary information is known going forward.
There are two buttons in the Send Later prompt window: "Put in Outbox" and "Send Now". These two buttons bypass the Send Later message scheduling mechanism in two different ways:
- "Put in Outbox" puts the message being edited directly into the Thunderbird Outbox folder, such that it will be delivered the next time the user (or Send Later, or BlunderDelay) executes the "File | Send Unsent Messages" menu command.
- "Send Now" delivers the message to its intended recipients immediately rather than scheduling the message for later delivery with Send Later.
Unfortunately, the only way that both of these buttons can always work is if Send Later "cheats" and does things it's not supposed to during the message scheduling and delivery process. This cheating causes all sorts of other issues, such as incompatibilities with other add-ons, Thunderbird popping up warnings and spell-checking windows multiple times, etc., so it's a rather bad idea, and we don't want Send Later to be doing that.
Therefore, in a recent release of Send Later, the cheating was removed, and that meant it was no longer possible for both of these buttons to work properly every time the Send Later dialog is displayed. In particular:
- If the Send Later dialog is opened with Thunderbird's own Send Later command, i.e., typing Ctrl-Shift Enter, selecting the "File | Send Later" menu command, or using the button provided by the "Send Later Button" add-on, then it is possible to make the "Put in Outbox" button work properly in the dialog, but it is not possible to make the "Send Later" button work.
- Conversely, if the user has the "'Send' does 'Send Later'" preference enabled, such that Thunderbird's own "Send Now" command (i.e., typing Ctrl-Enter, selecting the "File | Send Now" menu command, or clicking the "Send" button) is used to launch the Send Later dialog, then in that particular instance of the dialog, it is possible to make the "Send Now" button work properly, but it is not possible to make the "Put in Outbox" button work.
Because the removal of the cheating code meant it was no longer possible to make both of these buttons work every time the dialog was opened, Send Later's code was modified to display only the button that will actually work properly.
After the release with this change was shipped, I started to get feedback from users complaining -- in some cases rather vociferously -- about this change. Some people complained about the disappearance of the "Send Now" button, others complained about the missing "Put in Outbox" button.
At this point, I should have explained as above why it was no longer possible for both of these buttons to be present, and further explained that if the user needs the "Send Now" button, the dialog needs to be launched with the "Send" button or Ctrl-Enter or "File | Send Now", whereas if the "Put in Outbox" button is needed, the dialog needs to be launched with the "Send Later" button or Ctrl-Shift-Enter or "File | Send Later".
Unfortunately, with all of the complaints coming in, I got confused, and I somehow convinced myself that the buttons were removed not because it was not possible to make them work all the time without cheating, but rather because users were sometimes getting confused and clicking one of these buttons when it wasn't actually needed. Actually, reducing the likelihood of user confusion wasn't the reason why the buttons were removed; it was merely a beneficial side-effect.
I need to apologize to those users whom I told that the buttons were removed to reduce user confusion. I was wrong. I'm sorry for giving you incorrect information.
I also need to apologize to everyone for the "churn" of putting out release 5.2 which added a preference which puts both buttons back, when in fact with that preference enabled, one of the buttons in the dialog is always going to function incorrectly. So rather than solving the problem I hoped to solve in release 5.2, I introduced a new problem, an actual bug, which could cause messages to be put into the user's Outbox when the user intended to send them, or sent directly when the user intended to put them in the Outbox. I'm sorry.
Release 5.2, which introduced potentially incorrect behavior as described above, has been removed from addons.mozilla.org and is no longer available for downloads or automatic upgrades.
This new release undoes the change introduced in release 5.2. There is no longer a preference to cause both of the buttons to be displayed all the time, because it is simply not possible to make that work properly without Send Later interacting with Thunderbird in a way that it's not supposed to and that isn't sustainable or maintainable.
Just to reiterate, if you need the "Put in Outbox" button in the Send Later dialog, then you need to launch the dialog using Ctrl-Shift-Enter, the "File | Send Later" menu command, or the button provided by the "Send Later Button" add-on. If, on the other hand, you need the "Send Now" button in the Send Later dialog, then you need to have the "'Send' does 'Send Later'" preference enabled, and you need to launch the dialog using the "Send" button, Ctrl-Enter, or the "File | Send Now" menu command.
If you don't have the "'Send' does 'Send Later'" preference enabled, and you launch the Send Later dialog the normal way (with Ctrl-Shift-Enter, "File | Send Later", or the "Send Later Button" button), and then you decide that actually you want to send the message right away, all you need to do is close the Send Later dialog or click the Cancel button and then send the message normally.
I am sorry to those of you whose workflows are disrupted by this change. If you are unable to figure out a new workflow which accommodates this change, please email me and describe to me in detail how you're using the add-on and how this change is impacting you, and I will try to help you find a way to make it work.
Thunderbird now pops up the spell-check-before-send window (if it is enabled) and checks messages for empty Subject lines when they are scheduled using buttons or input fields on the compose window toolbar. Previously, neither spell-checking nor the empty-subject check would happen in this context (i.e., this was a bug, and it is now fixed).
The "Send Now" button in the Send Later dialog now pops up a dialog when it is used, to ensure that users don't click it when they actually meant to click the scheduled send button. There is a checkbox in this dialog to allow it to be suppressed in the future.
In a further effort to reduce confusion about the "Put In Outbox" and "Send Now" buttons in the Send Later dialog, the "Put In Outbox" button is now only visible when the dialog is popped up using "File | Send Later" or Ctrl-Shift-Enter, and the "Send Now" button is now only visible when the "'Send' Does 'Send Later'" preference is enabled and the dialog is popped up using "File | Send Now" or Ctrl-Enter.
This release includes many translation updates. Thanks, as always, to my wonderful team of translators!
This release increases compatibility settings for newer Thunderbird and Seamonkey releases.
As a side benefit of the other work enumerated above, a good chunk of the add-on's code has been cleaned up and refactored.
- Messages can now be scheduled to send on a minutely basis, i.e., every minute, or every 2 minutes, or every 3 minutes, etc.
- Delivery of recurring messages can now be restricted by time of day and day of week. This restriction is enforced on the message's initial scheduled delivery time and in each subsequently scheduled recurring delivery. Furthermore, there is a preference you can enable to enforce it on late message delivery as well. In other words, if Thunderbird isn't running when at the scheduled delivery time, and when you launch Thunderbird the current time conflicts with the delivery restrictions, then by default the message will be delivered despite the conflict, but if you enable the preference, then delivery will be delayed until the delivery restrictions are satisfied.
- There is a new preference you can enable to prevent Send Later from delivering messages late, e.g., because Thunderbird wasn't running at the scheduled delivery time. When this preference is enabled, Send Later will pop up a warning about the late message instead of delivering it.
- The shortcut buttons in the compose window toolbar are now disabled when a previously scheduled message with recurrence is edited. In this context, the user should open the Send Later dialog to reschedule the message, rather than using shortcut buttons.
- The "week of the month" checkbox (e.g., "1st Saturday of the month", "3rd Tuesday of the month") in the scheduling dialog is now disabled correctly when the user clears the scheduled send time or switches to a recurrence frequency other than monthly.
Unfortunately, limitations in the Thunderbird add-on framework make it somewhere between difficult and impossible to make scheduled messages with Send Later work safely and properly when the Enigmail add-on is installed and enabled.
However, Send Mail can successfully deliver previously scheduled messages even when Enigmail is active.
Therefore, Send Later now displays an alert pop-up and disables the scheduling of messages when Enigmail is enabled. If/when Enigmail is disabled or uninstalled and Thunderbird is restarted, Send Later automatically re-enables itself.
Previously, if you used the quick filter bar to search messages in the Drafts folder, then the Send Later column would stop working. This is fixed.
Bug: Fix incompatibility with the Mnenhy add-on
Recent necessary changes made Send Later incompatible with the Mnenhy add-on, because Mnenhy replaces certain core Thunderbird components. Send Later now has a workaround for this problem.
Bug fix: Don’t display the “Every” checkbox in the Send Later prompt window when it’s not relevant.
Bug fix: Before this fix, Send Later was sometimes causing displayed message headers to be aligned incorrectly.
Bug fix: Replace a reference to “Send Later 3″ in the user interface with “Send Later”.
New Brazilian Portuguese translation, thanks to wetabax from BabelZilla.
Non-functional (invisible to users) changes to make the addons.mozilla.org add-on validator happy.
Upgrade SugarJS date-parsing library; this change should be invisible to users.
On other platforms (e.g., Windows, Linux), the key for activating shortcuts has changed from Alt to Ctrl.
The Ctrl key is what we should have been using all along, but we were using Alt instead for historical reasons. In order to make shortcuts work on Mac OS, we need to standardize on the "correct" shortcut key on all platforms, hence the change on the other platforms.
Update the Japanese translation. Thanks, as always, to my awesome translators!
Eliminate some unnecessary error log messages showing up in the error console. If you never look in the Thunderbird error console, this has no impact on you. ;-)
- Send Later now warns you on exit if you have pending messages scheduled to be sent, to help you avoid accidentally quitting when you meant to leave the application running so it could send the messages. There is a checkbox in the message you can uncheck if you don't want to be warned again.
- It is once again possible to use local mailing lists in scheduled messages. This functionality was broken by a recent Thunderbird release but is now fixed.
- Translation updates. Thank you as always to my translators, including new translator Kari Eveli!
- More robust performance in foreign languages.
- Scheduled messages are no longer sent repeatedly when the Drafts folder is corrupted. Instead, when Send Later encounters a message in the Drafts folder that it has already sent, it displays an error notifying the user that the Drafts folder needs to be repaired.
- The X-Enigmail-Draft-Status header is now removed from scheduled messages before they are sent by Send Later.
- Compatibility with Thunderbird 26+ and Seamonkey 2.23+.
- Some debug log messages generated by Send Later have been downgraded in priority to make them easier for folks who care about such things to ignore them.
French and Dutch translation updates. Thanks, as always, to my translators!