OBSOLETE: Send Later Thunderbird Add-on


Please see https://extended-thunder.github.io/send-later/.

This page is being retained for historical purposes and in case anything links to it, but you really want to go to the other page.



If you’re using Thunderbird 78 or newer and you are looking for the Send Later user guide, you should go here.

You can now get Send Later for Thunderbird 78 on addons.thunderbird.net just like any other add-on. The easiest way to install it is to open the add-ons page in Thunderbird, search for Send Later, and install it (“Send Later,” not “Send Later Button”!) from the search results.

Send Later has been almost completely rewritten for Thunderbird 78, thanks to the yeoman efforts of Jonathan Perry-Houts. Because of this, a new user guide will need to be written for the new version of the add-on. Because the new version has a lot of functionality in common with the old one, much of the information below regarding the Thunderbird 68 version is still accurate for Thunderbird 78, but not all of it is. This user guide will remain targeted for Thunderbird 68; when there is a new user guide available for Thunderbird 78, we will link to it here.

Here is some additional information about my other add-ons and Thunderbird 78:

Efforts are underway to port most of my add-ons to Thunderbird 78. My original plan was to fund this work with a Kickstarter campaign, after which the add-ons were going to be switching from a free model to a paid license model. However, even during the campaign my hope was that I would be able to find a way to use the proceeds of the campaign to allow the add-ons to continue to be available for free. At this point that does appear to be what has happened. In short: my current plan is that once the add-ons are ported to Thunderbird 78, they will remain free for all to use.

The current status of my other add-ons is as follows:

  • Folder Pane View Switcher is now available for Thunderbird 78 on addons.thunderbird.net. There are some outstanding issues, which are documented (with workarounds) here.
  • Remove Content By Folder is now available for Thunderbird 78 on addons.thunderbird.net. There are some outstanding issues, which are documented here.
  • userChromeJS: The current version of userChromeJS available on addons.thunderbird.net is compatible with Thunderbird 78.
  • Show All Body Parts: Although this add-on is not yet available for Thunderbird 78, there is a workaround:
    • Open the Thunderbird Preferences.
    • Click on “Config Editor…” in the Advanced section of the General preferences.
    • In the search box, enter “mailnews.display.show_all_body_parts_menu”.
    • If the status of the “mailnews.display.show_all_body_parts_menu” doesn’t say “modified” there, then double-click on it to change the status to “modified”, which will set its value to True.
    • You should now see the “All Body Parts” View mode in the Thunderbird menus. Changing this hidden preference is literally all the add-on does, so if you set the preference this way, then you don’t need the add-on at all.
  • IMAP Received Date: Although this add-on is not yet available for Thunderbird 78, there is a workaround:
    • Open the Thunderbird Preferences.
    • Click on “Config Editor…” in the Advanced section of the General preferences.
    • Enter “mailnews.customDBHeaders” (without the quotes) into the search box.
    • If it’s not there, right-click in the search results area, select New > String, enter “mailnews.customDBHeaders” (without the quotes) as the preference name to create and click OK, and enter “Received” (without the quotes) as the value and click OK again.
    • If, on the other hand, “mailnews.customDBHeaders” shows up in the search results, then double-click on it to edit the value, enter a space and then “Received” (without the quotes) at the end of the value, and click OK.
  • My other add-ons, Enhanced Priority Display, Reply to Multiple Messages, Toggle Replied, and Undigestify, are not yet available for Thunderbird 78, but we’re working on them. We’re hoping to have more progress to report some time in October, though that date may slip.

People have asked if they can contribute to the Kickstarter campaign or contribute to these add-ons in general. The Kickstarter campaign has closed and can no longer accept contributions, and in any case there is no need to contribute to it since as noted above our current plan is for all of the add-ons to continue to be free. As for contributing to me personally to acknowledge my work on these add-ons, there are unfortunately a lot of people nowadays who need financial help more than I do, so I am asking people who are inspired to contribute to these add-ons to instead pick a worthy charity and donate there instead.

Please email the maintainers (don’t post comments below) if you have any further questions.

Table of contents

(Clicking on section headers in the text will return you to the table of contents.)


The Send Later Thunderbird add-on allows you you to write an email message and then tell Thunderbird when you want it to be sent. The message is then saved back into your Drafts folder, and delivered at approximately the specified time. The add-on is available for download from addons.thunderbird.net. Release notes for each new release of Send Later are published there and below. What follows is a user manual for the add-on. Everything below (except for the installation section) assumes that you’ve already installed the add-on from addons.thunderbird.net and restarted your mail app. If you have any comments, questions or feedback about the add-on, please feel free to email the maintainers.

This user manual is written for Thunderbird 68 or newer. Things might be slightly different for older versions.


Method 1

  1. In Thunderbird, open the add-ons dialog with the “Tools > Add-ons” menu-bar command or “Add-ons” from the three-lines menu in the upper right corner of the main Thunderbird window.
  2. Enter “Send Later” in the search box and hit Enter.
  3. Find the “Send Later” add-on (not “Send Later Button”) in the search results and click the “Add to Thunderbird” button.
  4. When it’s done installing, restart Thunderbird.

Method 2 (use only if Method 1 doesn’t work)

  1. Download the add-on as an “.xpi” file from addons.thunderbird.net, saving it to your Desktop or another obvious location.
  2. In Thunderbird, select the “Tools > Add-ons” menu-bar command or “Add-ons” from the three-lines menu.
  3. Click the gear icon to the left of the search box and select “Install Add-on From File…”.
  4. Browse to the downloaded Send Later “.xpi” file and open it.
  5. Make sure your mouse is over the install dialog and it has focus. When the “Install” button becomes active, click on it.
  6. Restart Thunderbird when it tells you to after the add-on is installed.

Basic usage

When you want to schedule a message for later delivery, either select the File > Send Later menu command in the message composition window, or hit Ctrl-Shift-Enter. This will pop up the following dialog:

Send Later prompt window

Here is what you can do from this dialog:

  • Specify a specific time at which to send the message. Tell Send Later in the text box when you would like the message to be sent, or use the date and time pickers below the text box if you prefer. The text box understands lots of different formats, so give it a try! When you’ve entered a date/time that the add-on understands, the button below it will become active and “Enter a valid date above” will be replaced with what you entered. Click the button or type Ctrl-Enter, or just Enter if your cursor is in the text box, to schedule the message.
    IMPORTANT NOTE: You will only see the date and time pickers if you have the Lightning add-on installed and enabled. Otherwise, you need to use the text box.
  • Schedule a recurring message on a fixed schedule. See below.
  • Schedule a one-shot or recurring message using one of the built-in scheduling functions or a function you’ve written or imported yourself. See below.
  • Send the message using one of the preset buttons. Click “15 mins later”, “30 mins later”, or “2 hours later” to send the message the indicated amount of time into the future.
  • Deposit the message into your Outbox for later delivery by Thunderbird. If you click “Put in Outbox” (see below for why you won’t always see this button), the message will be copied immediately into your Outbox. This is the behavior of the standard Thunderbird “Send Later” command before you installed the add-on. The message will then be sent if you execute File > Send Unsent Messages, or if you go into and out of offline mode, or if you exit and restart Thunderbird. In the latter two cases, Thunderbird may or may not prompt for confirmation before sending unsent messages, depending on how you have configured it.
  • Send the message immediately. If you click “Send Now” (see below for why you won’t always see this button), the message will be delivered immediately, as if you had executed the “Send” command instead of “Send Later”. Note that you can activate this button by hitting Alt-N or the equivalent on your platform or in your language.
  • Go back to editing the message. Click the “Cancel” button to go back to editing the message.

Time-of-day and day-of-week restrictions

You can also specify time-of-day and day-of-week restrictions for when your message will be delivered. IMPORTANT NOTE: You will only see the option to set a time-of-day restriction if you have the Lightning add-on installed and enabled.

These restrictions have different (but, I hope, somewhat intuitive) effects based on what kind of scheduling you are doing:

  • If you enter restrictions with an explicit, one-shot (i.e., not recurring) send time, then Send Later will adjust the send time you specify to fall within those restrictions. Furthermore, if Thunderbird can’t send the message at the scheduled time, the restrictions you specify will be enforced when it can send the message, if the “Enforce time and day restrictions at delivery time” preference (see below) is enabled.
  • If you enter restrictions with a recurring send time or dynamic scheduling function, then they will be applied as above and also each time the message is rescheduled.

Saving defaults

You can save whatever settings you enter here as the default settings for when you bring up this dialog in the future, or clear previously saved defaults, by making the appropriate selection above the big scheduled send button, before you click it. You can do some pretty fancy things with this. For example, if you enter “now” in the text box and check that you only want the message to be delivered between 9:00am and 5:00pm Monday through Friday, and then save those as your defaults, then whenever you pop up the dialog, the default behavior will be to send the message now or reschedule it for when it is during business hours. Nifty, eh?

The “Put in Outbox” and “Send Now” buttons

As noted above, the “Send Now” button in the Send Later dialog causes the message to be sent immediately, i.e., it bypasses the scheduled send process, and the “Put in Outbox” button causes the message to be put directly into the Thunderbird Outbox, also bypassing the scheduled send process, but in a different way.

Unfortunately, both of these buttons can’t be displayed at the same time without “cheating” and integrating Send Later into Thunderbird in a way that isn’t really supposed to be done and isn’t maintainable or sustainable. Therefore, when the Send Later dialog pops up, you will only see one of these buttons or the other, as follows:

  • If the Send Later dialog is opened by typing Ctrl-Shift-Enter, or the “File | Send Later” menu command, or the button provided by the “Send Later Button” add-on, then the “Put in Outbox” button is displayed but the “Send Now” button is not.
  • Conversely, if the Send Later dialog is opened by typing Ctrl-Enter or “File | Send Now” or the “Send” button when the “‘Send’ does ‘Send Later'” preference described below is enabled, then the “Send Now” button is displayed but the “Put in Outbox” button is not.

If you don’t have the “‘Send’ does ‘Send Later'” preference enabled, and you open the dialog with Ctrl-Shift-Enter etc. and then realize that you actually want to send the message right away, you can simply close the dialog or click the Cancel button and then send the message normally.

What happens when you schedule a message?

When you schedule a message for delivery, it is saved in your Drafts folder with the necessary scheduling information embedded in it. If you wish to reschedule a message later, just edit the saved draft and do “Send Later” again and specify the new send time. If you wish to cancel a scheduled message delivery, edit the draft and save it normally without “Send Later” (or just send it immediately, if that’s what you want to do), and the scheduling information will be removed.

Date formats

The part of Send Later that interprets the send times you type into the text box is pretty smart. You’re welcome to type a full date and time, e.g., “10/4/2012 3:00pm”, if you want to, but it isn’t actually necessary. In addition to making intelligent guesses about the parts you leave out, the interpreter also understands quite a few neat shortcuts. Here are some examples, but they don’t include everything, so when in doubt, try it out, and see if it works!

  • Don’t type the year if the date you’re entering is in the coming year. It’ll default to that automatically!
  • Don’t type the date at all if you’re just entering a time in the next 24 hours.
  • You can type a day of the week for the next instance of that day, or “next day-of-week” for the one after.
  • You can type “tomorrow” or “the day after tomorrow”.
  • You can type “in 3 minutes” or “3 minutes from now”.

See this page for more examples. These apply in all of the languages that Send Later supports, not just in English. If you encounter something you think the add-on should understand but doesn’t, let us know.


You can get to the add-on’s Preferences window in three ways:

  1. Click on “Send Later” in the status bar at the bottom of your main window and select “Send Later preferences” from the pop-up menu (there are also several other useful things in this menu). The preferences will open in a new window.
  2. Select the Tools > Add-on Preferences > Send Later menu command. The preferences will open in a new tab.
  3. Select Add-ons > Send Later from the three-lines menu. The preferences will open in a new tab.

Here is the main preferences screen, followed by explanations of the various settings:

Check every # minutes

This preference controls how often the add-on checks for messages whose delivery time has arrived. The default, once per minute, is adequate for most people. In rare cases, you may need to use a higher value (lower frequency) if you have a very large number of messages in your Drafts folder and the Send Later progress bar at the bottom of your Thunderbird window never goes away.

“Send” does “Send Later”

If it is enabled, this preference causes the scheduling dialog to pop up not only when you run the “Send Later” command, but also, when you run “Send”, whether it’s by clicking the “Send” button, selecting File | Send Now, or typing Ctrl-Enter. It’ll therefore prevent you from accidentally sending a message now that you meant to schedule for later. This feature is not enabled by default.

Note that this preference and the following one are mutually exclusive.

“Send” delays messages by: # minutes

If enabled, this preference causes all messages you send by clicking Send or typing Ctrl-Enter to be automatically scheduled to be sent by Send Later the specified number of minutes into the future.

This essentially replicates the functionality provided by some email providers to allow you to cancel sending a message for a short period of time after it is sent. If you sent a message and then change your mind before the delay time has elapsed, you can simply find the message in your Drafts folder and either delete it (if you don’t want it to be sent at all) or open it for editing, which automatically cancels the scheduled send.

Note that this preference and the previous one are mutually exclusive.

Mark scheduled drafts as read

By default when Send Later saves a scheduled messages into your Drafts folder, it marks the message as “read” so that your Drafts folder doesn’t show up in the folder list as having unread messages in it. If you prefer for scheduled Drafts to show up as “unread” to remind you that they’re there, uncheck this preference.

Bind Alt-Shift-Enter instead of Ctrl-Shift-Enter

This preference causes the pop-up Send Later dialog to be bound to the key sequence Alt-Shift-Enter instead of Ctrl-Shift-Enter. When this feature is activated, Ctrl-Shift-Enter remains the original Thunderbird functionality, i.e., depositing the message into the Outbox for sending later.

Enable compose window key bindings for presets

When you’re composing a message, you can type Ctrl-Alt-1, Ctrl-Alt-2, or Ctrl-Alt-3 to activate the corresponding preset button without popping up the Send Later prompt window. If you don’t want these key bindings to be active, uncheck this preference to disable them.

Show Send Later Column

This preference controls whether a column showing the scheduled delivery times of messages that have them is displayed when viewing a Drafts folder.

Show Send Later Header

This preference controls whether the “x-send-later-at” message header, which is where the add-on stores information about when a draft should be delivered, is displayed when viewing drafts that have them. (Note that this setting does not work when the Mnenhy add-on is installed.)

Show Send Later In Status Bar

This preference controls whether the add-on shows its current status in the Status Bar at the bottom of the Thunderbird window. The number of pending scheduled messages, or “IDLE” if there are none, is displayed. If this preference is unset, then the next one is ignored.

Show Background Progress In Status Bar

This preference controls whether an animated progress bar is shown in your Thunderbird status bar when the add-on is working, i.e., when it wakes up periodically to check for messages whose delivery time has arrived. If the previous preference is unset, then this preference is ignored.

Trigger unsent message delivery from Outbox

This preference controls whether the add-on actually sends messages when their delivery time arrives, or rather should just deposit them into your Outbox and leave them there until the next time you send unsent messages as described above. You might want to disable this setting if you use some other add-on, e.g., BlunderDelay, to manage your message delivery. See the Caveats section below for more information about this.

Don’t deliver messages more than # minutes late

This preference controls what happens when Send Later that’s late because Thunderbird wasn’t running or your computer was asleep at the time it was supposed to be sent. By default, Send Later will deliver such a message at the earliest opportunity to do so after its scheduled send time. If you would rather not have messages delivered late, you can enable this preference, and then instead of delivering a late message, Send Later will pop up a warning about it and leave it for you to edit to either reschedule its send time or send it immediately by hand.

Enforce time and day restrictions at delivery time

As described below, Send Later supports restrictions on the time of day and day of the week when recurring scheduled messages are delivered. These restrictions are enforced when a message is scheduled, i.e., the scheduled send time of a message will never violate the time and weekday restrictions specified for that message.

Having said that, this preference controls what happens when a message isn’t delivered at its scheduled time because Thunderbird isn’t running or your computer is asleep, and then when Thunderbird wakes up, the current time violates the time and/or weekday restrictions on the message. By default, when this preference is disabled, Send Later delivers late messages immediately even in violation of their time/weekday restrictions. In contrast, when the preference is enabled, the add-on waits until the time/weekday restrictions are satisfied before delivery.


Following these settings are links you can click on to send me email, view the user guide (i.e., this page), or make a donation to support continued development of the add-on.

Preset buttons

In addition to these main settings, you can change the behavior of the preset buttons by editing the settings of the “Shortcut” tabs of the preferences dialog:

Send Later shortcut preferences

  • Button label specifies the string that is displayed in the button. You need to change the label yourself if you change the number of minutes; it won’t update automatically.
  • Minutes specifies how many minutes into the future the message should be sent if you click this button. The defaults, obviously, are 15, 30 and 120.


If you would like, you can add Send Later to your compose window toolbar to give you direct access to the add-on’s functionality without needing to go through the pop-up. Here is how to do that:

  1. Right-click on the toolbar in a message compose window.
  2. Select “Customize…”.
  3. Drag and drop the Send Later pieces you want (see the following diagram) from the “Customize Toolbar” window to where you want them on the toolbar.
  4. Click “Done” to close the “Customize Toolbar” window.

Send Later toolbar buttons

The toolbar items you see here are as follows:

Send Later button

Schedules the message to be sent at the time specified in the “send time” text field (the second toolbar item shown above and described below). Just to be clear: the purpose of the send later button in the toolbar is to finish scheduling a message after you’ve already entered a send time in the text box. This button does not pop up the scheduling dialog. See below if you want a button that does that.

“Send time” text box

You can enter a scheduled delivery time in this box just like in the text box in the Send Later dialog, then click the “Send Later” toolbar button or just hit enter in the text box to schedule the message for delivery.

Shortcut buttons

The same shortcut buttons that appear in the Send Later dialog can also be added to your toolbar.

Please note that the Send Later toolbar controls are disabled when you are editing a recurring message; you need to use the pop-up window to reschedule such a message.

“I want a ‘Send Later’ button!”

If you want there to be a button on your toolbar to pop up the Send Later prompt window, i.e., a button that does the same thing as File > Send Later or Ctrl-Shift-Enter, you can get one by installing the “Send Later Button” add-on and adding its button to your toolbar. Note that the toolbar Send Later button provided by the Send Later add-on, i.e., the one shown in the “Customize Toolbar” palette above, doesn’t pop up the Send Later prompt window. Rather, it is used to finish scheduling a message after you have entered the send time for it in the text box you’ve added to the toolbar along with the button. If you don’t add the text box to the toolbar, then that button isn’t useful.

Caveats and known issues

Some things to keep in mind:

  1. Whenever Send Later delivers a scheduled message, any other messages pending delivery in your Outbox will also be delivered.
  2. Scheduled drafts are locked to a particular Thunderbird profile and will only be delivered by a Thunderbird running against the same profile that originally scheduled them. This means that if you use Thunderbird on multiple computers to schedule messages, you need to keep it running on all of those computers for the messages to be delivered. You can “transfer” a draft from one profile to another if need be by editing and rescheduling it.
  3. Send Later is not yet compatible with UseBccInstead.
  4. If you use distribution lists within Thunderbird and you add a distribution list to a message and then Send Later, the list will be expanded when you schedule it, not when it is sent. Any changes you make to the list between when you schedule the message and when it is sent will not be reflected in the sent message.
  5. Send Later is partially incompatible with the “Defer” feature of the Mail Tweak thunderbird add-on. In particular, if you have “Defer” enabled with Mail Tweak, then the Send Later dialog will pop up every time you click the “Send” button in a compose window or type Ctrl-Enter. You can click “Send Now” at that point to send the message immediately, but the extra click is annoying. Note that Mail Tweak is not compatible with recent versions of Thunderbird, so there are no plans to fix this issue.
  6. Attachments are frozen when messages are scheduled to be sent. In other words, if you attach a file to a message, then schedule the message with Send Later, then modify the file on disk before the scheduled message is sent, your modifications will not be included in the sent message. This is also true with recurring messages — when a recurring message is sent and automatically rescheduled, Send Later does not capture a new version of the attached files.
  7. Outgoing message format preferences (Preferences | Composition | General | Send Options…) do not work with Send Later.
  8. I have been told by multiple people that messages sent from or to iCloud or me.com accounts never appear in the recipient’s inbox even though Thunderbird says they were sent successfully. Please note that this is not a bug in Send Later or Thunderbird, it’s a problem with iCloud. Apparently, Apple thinks it’s OK to run a mail server which arbitrarily and completely silently discards valid email messages with no notification to either the sender or recipient that this has occurred (this is discussed by others on the internet, e.g., here, here, here, here). I have tried, unfortunately without success, to find a fix or workaround for this problem. The only possible fix I’ve been able to find — and I’m not actually sure it works — is to check your account settings and confirm that the outbound SMTP configuration in Thunderbird for your iCloud account matches the settings Apple says you should be using.
  9. Send Later does not work with ExQuilla, because Send Later depends on being able to put messages into your local Outbox and then send them with the “Send Unsent Messages” command, but “Send Unsent Messages” is not implemented in ExQuilla. If you would like to see Send Later work with ExQuilla, I suggest you contact the maintainers of ExQuilla and ask them to make sending messages to ExQuilla from the local Outbox work properly; the more people ask, the more likely it is that they will fix this problem. Send Later does work with Owl for Exchange, the add-on which is intended to replace ExQuilla, when configured as described below.

Send Later doesn’t work with mail servers that discard its “X-Send-Later” headers

Some mail servers (most notably, but not exclusively, Microsoft Exchange used through its IMAP gateway) prevent Send Later from working by discarding the “X-Send-Later” headers that it uses to keep track of message scheduled delivery times. You can tell that this is happening if you schedule a message for delivery, but then when you look at the message header of the scheduled draft with View > Message Source, there are no “X-Send-Later” headers.

To work around this problem, you need to store your drafts for the affected account in some other Drafts folder, e.g., the one underneath Local Folders. You can set this preference by going to Tools > Account Settings… or Edit > Account Settings… and viewing the “Copies & Folders” page for the affected account.

Please note: for Microsoft Exchange in particular, this workaround is only valid when you are accessing Exchange as a generic IMAP server, not when you are using ExQuilla, which as noted just above is incompatible with Send Later.

Thunderbird must be running for scheduled messages to be sent

You need to keep Thunderbird running (and your computer turned on!) for Send Later to be able to send scheduled messages (note that on Mac OS, “running” means there must be at least one main Thunderbird window open; Send Later will not work if the Thunderbird app is running but doesn’t have any open windows). It runs within Thunderbird, which means that when you exit from Thunderbird, it’s not around to check for messages to be sent. If you fail to leave Thunderbird running over the delivery time of one or more messages, then those messages will be delivered shortly after the next time you start Thunderbird. Note that there are various methods and tools for waking up your computer automatically at a pre-specified time, in case you don’t want to keep it running constantly until it’s time to send the messages. For Windows, for example, see: [1], [2], [3]. For Linux, see [1]. You can schedule your Mac to wake up automatically by opening System Preferences and clicking on “Energy Saver” and then “Schedule”. Alternatively, see below for a description of how to run Thunderbird on a server to deliver your messages for you.

Or you can consider using a third-party service that holds and delivers scheduled messages for you, instead of Send Later. See, for example:

The list of sites above is provided for informational purposes only; it should not be construed as an endorsement of any of these services. I don’t use them and don’t know how well they work or how trustworthy they are.

Return receipts don’t work

If you enable the Return Receipt option on a message you are composing, and then you schedule the message to be sent later, when it is sent, no return receipt will be requested. Unfortunately, fixing this requires significant changes to the internal architecture for how scheduled messages are sent, and the changes are difficult since the core Thunderbird components involved are completely undocumented, so I don’t know when I’ll be able to find the time to fix the problem. In the meantime, here’s a workaround (thanks to about.com):

  1. Open the Thunderbird options dialog with Tools > Options… or Edit > Preferences…
  2. Click “Advanced” and then “Config Editor…” and click the “I’ll be careful, I promise!” button if it asks you to.
  3. Enter “mail.compose.other.header” in the filter box.
  4. Double-click on the mail.compose.other.header setting and set it to “Disposition-Notification-To”. If it already has a non-empty value, add a comma and then “Disposition-Notification-To” to the end of it.
  5. Quit from and restart Thunderbird.
  6. When you are composing a message for which you want a return receipt and which you want to schedule to be sent later, then click on an empty line in the message header in the compose window, select “Disposition-Notification-To” in the drop-down, and then enter your email address as the value of the header.

If you want to automatically request a return receipt for every message you send, so that you don’t have to do it manually each time you schedule a message to be sent later, do the following (thanks to MozillaZine):

  1. Open the advanced configuration editor as described above.
  2. Enter “useremail” in the filter box and scan through the matches to find the email address of the account which you want to generate return receipts. Remember the “id#” for that account, where “id#” here and below means the characters “id” followed by a number which is different for each of your configured accounts.
  3. Enter “mail.identity.id#.headers” to find out if there are already custom headers configured for the account. If not, then right-click in the settings area to create a new string setting with that name.
  4. Put “receipt” as the value of the setting if it’s empty, or append “,receipt” to the end of the existing value.
  5. Create a new string setting called “mail.identity.id#.header.receipt”, and set its value to “Disposition-Notification-To: address“, where address is the email address to which you would like return receipts sent.

Thunderbird hangs frequently on Windows

A number of Send Later users on Windows have reported that when they have Send Later installed, Thunderbird periodically hangs for annoyingly long periods of time during normal use of the application.

This is not actually a bug in Send Later — there is nothing Send Later does that should cause Thunderbird to hang, and some Thunderbird users on Windows have reported this issue even without Send Later installed — but whatever the problem is, Send Later does seem to exacerbate it for some people.

I heard two different potential explanations for this behavior, one anecdotal (i.e., I have been unable to confirm it) and one definitive.

First, the definitive one: If you have “Allow Windows Search to search messages” enabled in the General tab of your Thunderbird options, try turning it off and see if that solves the problem. It appears that the Windows Search indexer sometimes holds extended locks on files that Thunderbird uses, and Thunderbird hangs while waiting for the files to become available.

The other possibility is that your real-time antivirus scanner is doing the same thing as the Windows Search indexer, i.e., holding a lock on a file that Thunderbird uses while scanning it for viruses. You can check if this is the case by temporarily disabling real-time protection and seeing if the Thunderbird hangs go away. The “temporarily” is important — you don’t want to permanently disable real-time protection, since it’s important to protect your computer from viruses!

If this does turn out to be the problem, then the people who develop and support Thunderbird recommend excluding Thunderbird mailbox files from antivirus scanning, if your antivirus software has real-time protection (i.e., scans files when they are created, opened, or executed), as most modern antivirus software does. Their reasoning behind this recommendation is that mailbox files are never executed directly, so viruses lurking in mailbox files are not a threat. They only become a threat when they are saved separately by Thunderbird when you ask it to open or save an attachment. As long as your antivirus software scans those saved attachments in real-time, it is not dangerous to disable scanning of mailbox files. If you do decide to do this, then you need to identify the location of your Thunderbird profile folder, and tell your antivirus software to exclude the “ImapMail” and “Mail” subdirectories of that folder from scanning. You may also wish to exclude “global-messages-db.sqlite*” in that folder.

Two notes about this:

  1. If your antivirus software does not have real-time protection, or if it has it but you have it turned off, then I personally do not recommend excluding Thunderbird mailbox files from your scheduled antivirus scans.
  2. The recommendation above for excluding Thunderbird mailbox files from scans comes from the Thunderbird team, not from me. See their wiki for more information. I am not endorsing this recommendation; I’m just passing it on.

Something to keep in mind is that the size of your Thunderbird files is contributing to the problem. Larger files take longer for antivirus products to scan. You may have large files in your Thunderbird profile for several reasons, including: you have folders containing many messages that you have configured to store local copies; you have many messages across your entire account and you have the global search feature enabled, since that means the global search index file will itself be very large; you have folders that haven’t been compacted in a very long time so they have a lot of wasted space in them their local storage files; you have an old Thunderbird profile which as a result has index files that have a lot of wasted space in them. Given these possibilities, here are some ideas that might help reduce the size of the files in your profile and thereby reduce the duration of hangs:

  • don’t store local copies of messages in folders whose messages you don’t access that often and don’t need to be able to full-text search;
  • split up very large folders into multiple folders containing fewer messages (as I rule, I personally try not to let folders grow above 200MB; I find the ShowFolderSize extension particularly useful for this);
  • disable the global search index if you don’t use it;
  • limit which folders are included in your global search results;
  • rebuild your global search index periodically (follow the instructions in that link for locating the search index file, and check how large it is before and after you rebuild it, to see if rebuilding it actually reduces its size significantly and therefore makes this work continuing to do in the future);
  • compact all your folders (File | Compact Folders); or
  • worst-case scenario, rebuild your Thunderbird profile to see if that helps.

Another option, which we list separately from the bulleted list above because it is still in the experimental phase (at least as of when this paragraph was written in September 2016), is to switch to Maildir storage, which stores each incoming messages in a separate file. Be careful about this, however, because although it mostly works, as I just noted it isn’t yet fully supported.

If you encounter this issue and come up with a solution that works and is different from the solutions outlined above, please let us know!

Errors you might encounter

Missing drafts folder

If Thunderbird warns you repeatedly when Send Later is installed that you are missing a Drafts folder, you need to go through your accounts and make sure that the Drafts folder required by Thunderbird exists for all of them. Here’s the most reliable way to do that:

  1. Open a new message window.
  2. Type something random (doesn’t matter what) in the To and Subject fields of the message to ensure that it is a “valid” draft.
  3. Click the “Save” button to save the draft.
  4. If you have multiple accounts, then change the “From” field of the draft one by one to each of the other accounts and click “Save” for each of them.
  5. When are done, close the window and delete the draft from the Drafts folder of the last account into which you saved it.

“Error sending unsent messages”

If you’re reading this section, it’s probably because you got a pop-up alert that said this (or the equivalent in another language):

Send Later: Error copying scheduled message to Outbox for delivery (code %x). Send Later has been disabled! See https://blog.kamens.us/send-later-3/#outbox-copy-failure.

This means that Send Later encountered an error when attempting to copy a scheduled message from your Drafts folder to your Outbox for delivery. Because of this error, it’s possible that things are in an inconsistent state, such that the message in question is in your Outbox and your Drafts folder at the same time. If this is the case, then there is a risk that Send Later will keep trying to send it over and over again every minute, and as a result many copies of the message could end up being sent. To prevent this from happening, Send Later disables itself temporarily. You should:

  1. Check your Outbox (under Local Folders) to see if there is a scheduled message stuck there waiting to be sent. If so, and the message looks complete, run run File > Send Unsent Messages to send it. If the message looks incomplete, delete it.
  2. If there was no message in your Outbox, or if it was incomplete and you deleted it, then you’re probably fine. Restart Thunderbird to turn Send Later back on.
  3. Otherwise, check your Drafts folder to see if there’s another copy there of the message that you just sent from your Outbox, and if so, delete it from Drafts (unless it’s a recurring message, in which case you should open and reschedule it for the next time you want it to be sent). After doing this, restart Thunderbird to turn Send Later back on.
  4. If the problem persists, follow these instructions for repairing a corrupt Outbox.
  5. If the problem persists after that, contact us and we’ll try to help you figure out what’s wrong and how to fix it.

“Error copying recurring message”

If you’re reading this section, it’s probably because you got a pop-up alert that said this (or the equivalent in another language):

Send Later: Error copying recurring message into Drafts folder (code %x). Send Later has been disabled! See https://blog.kamens.us/send-later-3/#drafts-copy-failure.

This means that Send Later sent a recurring message and then tried to save a new copy of it in your Drafts folder with the next scheduled date for it to be sent, but an error occurred while saving the new draft. It’s possible that the error is specious and the draft was saved successfully, and it’s possible that the draft was lost because of the error. There’s no way for the add-on to tell, so it disables itself just to be save. You should:

  1. Check your Sent Items folder to find out which scheduled message was just sent.
  2. Check your Drafts folder to check if the message is there with the correct next scheduled delivery date. If so, you’re fine, and you can restart Thunderbird to turn Send Later back on.
  3. If the message was lost from your Drafts folder, then copy it from your Sent Items folder into your Drafts folder, double-click on it to edit the draft, and then reschedule it for the next time you want it to be delivered with the correct recurrence. Then restart Thunderbird to turn Send Later back on.
  4. If the problem happens again, contact us and we’ll try to help you figure out what’s wrong and how to fix it.

Corrupt drafts folder

If you’re reading this section, it’s probably because you got a pop-up alert that said something like this (or the equivalent in another language):

Send Later: Folder URL-of-Drafts-folder may be corrupt. Please open its properties and repair it. See https://blog.kamens.us/send-later-3/#corrupt-drafts-error/.

The root cause of this issue is actually an intermittent Thunderbird bug which sometimes causes folders to become corrupted; it is not due to a bug in Send Later, but the add-on is warning you about it so you can fix the underlying issue and keep the add-on working properly for you. If you are able to determine from the error message which Drafts folder is corrupt, and you can see that folder in the Thunderbird folder list, then do just what the error pop-up says: right-click on the folder, select “Properties”, and click on the “Repair” button. If that doesn’t fix the problem, or if it isn’t obvious which folder is causing the problem, then do the following:

  1. Open a compose window.
  2. Add an email address and some text to the draft, just so that it’s not totally empty.
  3. Iterate through all of the identities, i.e., the email address / account combinations you are able to select in the drop-down next to “From:”.
  4. For each identity, click “Save” to save the draft in the drafts folder for that identity. This will force Thunderbird to create the Drafts folder if it doesn’t already exist.
  5. When you’re done, close the compose window and delete the draft from the last Drafts folder. Thunderbird should have already been smart enough to remove it from the others as you iterated through them.
  6. When all that is done, repair all of the drafts folders as described below.

If this doesn’t fix the problem for you, then email us and we’ll try to help.

Advanced usage

Hot keys

You can hit Ctrl-1, Ctrl-2, or Ctrl-3 in the pop-up to activate the first, second or third preset key, respectively. You can hit the “Esc” key in the pop-up to cancel and go back to editing the message. You can hit Ctrl-Enter in the pop-up to send the message at the specified time, i.e., hitting Ctrl-Enter is equivalent to clicking the “Send Later at specified time” button. You can hit Alt-N in the pop-up (or the equivalent in other languages) to send the message right now, i.e., it is equivalent to clicking the “Send Now” button.

In the composition window itself (i.e., not in the Send Later pop-up), you can hit Ctrl-Alt-1, Ctrl-Alt-2, or Ctrl-Alt-3 to activate the corresponding preset key.

Recurring messages

You can schedule a message to be sent repeatedly by selecting “minutely”, “daily”, “weekly”, “monthly” or “yearly” in the Send Later pop-up. Immediately after Send Later delivers the message, it calculates a new delivery time for it based on the frequency you specified and saves a new draft back into your Drafts folder with the new delivery time. This will continue for as long as you leave the message in your Drafts folder with recurrence enabled. To stop the message from being delivered anymore, remove it from your Drafts folder, or edit the draft and save it without scheduling.

When you select one of the recurrence options, the Send Later dialog changes slightly to look like this:

The new controls that appear in the dialog, shown circled in red above, are as follows:

  • Check the “Every” checkbox to specify a multiplier other than 1, the default, to indicate how many time periods should be skipped between deliveries. For example, every 2 days, every 4 weeks, etc.
  • When you are using “monthly” recurrence only, you can check the “week of the month” checkbox to be sent the same weekday of the week of every month, e.g., “4th Tuesday of the month.” To do this, first enter the first scheduled date/time in the text box, then select “monthly”, then check the box next to “4th Tuesday of the month” (or whatever — the text is updated automatically based on the first scheduled date/time).
  • If you check “Cancel recurrence upon reply”, then Send Later watches for incoming messages that are replies to recurring messages you’ve scheduled, and if a reply is received, then Send Later automatically deletes the recurring message from your Drafts folder.

Here are some things to keep in mind about recurring messages:

  • You can’t use the preset buttons to schedule recurring messages, i.e., you have to explicitly specify the first delivery time for the message in the controls at the top of the pop-up window. To make this clear, when you select recurrence in the pop-up, the preset buttons are automatically disabled.
  • You can’t use the toolbar to schedule recurring messages. Also, if you edit a draft that was previously scheduled with recurrence, the toolbar buttons are disabled and you need to use the pop-up to reschedule it.
  • If you schedule a monthly message for the 29th, 30th or 31st of the month, then there will be months in which it will actually be sent on the 1st, 2nd or 3rd of the next month. For example, if you schedule a message for the 30th, then on February in a leap year it will be sent on March 1 and again on March 30, and on February in a non-leap year it will be sent on March 2 and again on March 30. The day of the month on which you originally scheduled it will be preserved, so it’ll always be sent on that day in months which actually have it.
  • Similarly, if you schedule a yearly message on February 29, then it’ll be delivered on March 1 in non-leap years.
  • If several scheduled send times for a message pass without Thunderbird being running, then the next time you run Thunderbird, it’ll only send the messages once for that interval. For example, if you have a daily message scheduled, and you leave Thunderbird shut down for a week, then when you start it up, it’ll only send one copy of that message instead of seven, and then reschedule it for delivery again tomorrow.

Time/date restrictions on recurring messages

When you schedule a recurring message, you can optionally enable restrictions on the time of day and day of week when the message is delivered. By default, these restrictions are enforced when each recurring instance of the message is scheduled but not when it is delivered, so if a message is delivered late because Thunderbird wasn’t running or your computer was asleep at the messages scheduled time, then the message will be sent immediately when Thunderbird wakes up even if the current time falls outside the time or weekday restrictions. If you would like these restrictions to be enforced at delivery time as well, there’s a preference for that.

Mail Merge add-on

The Mail Merge add-on supports Send Later starting with its version 3.4.0. The following documentation for using Send Later with Mail Merge is courtesy of Mail Merge’s author, Alexander Bergmann. Thanks very much to Alexander for adding this feature, which has been requested by many users, to his add-on! Mail Merge has a “Date” field in the Mail Merge Dialog as part of the “Mail” section, which is visible if the user selects “Save As Draft” as “Deliver Mode” and Send Later is installed and activated. If you put a valid date in the “Date” field, then Mail Merge will tell Send Later to deliver the message at the specified date, just as if you scheduled it with Send Later directly. The “Date” field also supports variables! So it is possible to use a column “Date” (or “Time” or whatever you like to name it) with different dates for each recipient in the CSV. (Or if you want to use the Address Book, you probably will want to use Custom1 to Custom4 for this purpose.) In the “Date” field of the Mail Merge Dialog, you usually want to use something like this:

{{Date}} {{Time}} (There are probably other use cases with different variables as well.)

Owl for Exchange add-on

The Owl for Exchange add-on allows Thunderbird to send and receive email through a Microsoft Exchange Server account. Send Later can be made to work with Owl for Exchange, but only if you configure an SMTP server for outbound messages. Please read on for an explanation and additional details.

When you configure a “normal” (i.e., not Exchange) internet email account in Thunderbird you specify two servers for the account: the inbound server, an IMAP or POP3 server, where your email should be fetched from, and the outbound server, an SMTP server, through which the messages you compose are delivered.

Microsoft Exchange does support IMAP and SMTP, so if the administrator or your Exchange server has enabled them, you could configure Thunderbird to treat your Exchange server as a normal internet email account and not use Owl. However, you may need to use if your administrator has not enabled IMAP and SMTP, or you want to take advantage of additional Owl features such as its Exchange address book integration.

The code for the Thunderbird message compose window knows how to send messages via Owl, so when you compose a message interactively and click the Send button it is sent successfully. However, the code that delivers message via the Thunderbird Outbox code does not know how to send messages via Owl, so when an Owl message is put into your Outbox and then Thunderbird tries to deliver it, it doesn’t work. Unfortunately, Send Later uses the Outbox to deliver messages.

However, there is a workaround. SMTP servers can be configured in Thunderbird independent of email accounts, so if you have access to an SMTP server — either because your Exchange administrator has enabled SMTP on the server, or because there is some other SMTP server you use — then Thunderbird can use that SMTP server to deliver Owl messages, and all is well. Well, sort of. There are some caveats you need to be aware of.

IMPORTANT: Because email messages sent interactively through Owl go directly through Exchange while messages sent through Send Later go through SMTP, the headers of the two messages will be different an an astute observer will be able to figure out through deductive reasoning and a careful examination of the headers that the message was sent by Send Later, i.e., that it was not written at the time it was sent. Depending on why you are using Send Later to delay messages, this may or may not be something you care about.

If you have multiple email accounts configured in Thunderbird, some of which are Owl accounts and some of which are IMAP/SMTP accounts, and you don’t do anything special to configure your Owl account for SMTP, then when you send a message via Send Later Thunderbird will deliver it through your default SMTP server, which is usually the first SMTP server that was added to your Thunderbird profile. For example:

  • Create a new Thunderbird profile.
  • Add account A, an Owl account, to the profile.
  • Add account B, an IMAP/SMTP account.
  • Add account C, an IMAP/SMTP account.
  • Schedule a message from your Owl account via Send Later.
  • At the scheduled delivery time, the message will be sent via the SMTP server for account B.

The SMTP server may not allow the message to be sent through it if the sender address doesn’t match the domain the SMTP server is intended to be used for. In that case the SMTP server will reject the message and the send will fail. Obviously, for Owl and Send Later to work you need to use an SMTP server that will allow you to send messages from your Owl email address through it.

To add an SMTP server to your Thunderbird profile independent of adding a full email account:

  1. Open Account Settings.
  2. Click on “Outgoing Server (SMTP)” on the left.
  3. Click “Add”.
  4. Fill out the server details and click “OK”.

If this is the only SMTP server in your profile, it will become the default and will be used for Owl messages sent via Send Later. The first time a message is sent that way you will be prompted for the server password, and you should tell Thunderbird to save it if you want Thunderbird to be able to send scheduled messages in the future without prompting you for a password.

To change which SMTP server your Owl account uses for Send Later messages:

  1. Open Account Settings.
  2. Click on “Manage Identities…”
  3. Select the identity for your Owl account and click “Edit…”
  4. Near the bottom of the window where it says “Outgoing Server (SMTP)”, click on the pop-up menu and select the SMTP server you want to use.
  5. Click “OK”.

Dynamic functions for complex scheduling rules

The scheduling functionality built into Send Later is quite flexible, but sometimes you may want to implement more complex scheduling rules.

For example, the most common request I’ve received is for Send Later to have a button which tells it, “Send this message at the start of the next work day,” so that people can do work during off hours without their clients / customers / colleagues knowing that they’re doing so.

To satisfy this need, Send Later allows you to write your own code — or import code written by others — that implements arbitrarily complex scheduling rules. These scheduling rules are called dynamic functions, and you manage them in the dynamic function editor, which you can open either from the “Advanced” tab of the Send Later preferences window, or from the context menu that pops up when you click on “Send Later” in the status bar of the main Thunderbird window.

The first time you open the editor, it will create and display a sample scheduling function called “ReadMeFirst” which has a big comment in it explaining more about what your code needs to do. It will also create two other sample functions, “BusinessHours” and “DaysInARow”, which you can play with to learn about how dynamic functions work.

In fact, the “BusinessHours” function is an implementation of the “Send this message at the start of the next work day” logic I’ve been asked for so many times!

Don’t worry… If you accidentally delete or mess up one of these files, you can restore it by downloading and saving it from here, importing the downloaded file into the editor, and saving: ReadMeFirstBusinessHoursDaysInARow.

There are two ways to use a dynamic function once it’s ready to go.

First, you can pick the function you want to use from the “function” pop-up menu in the Send Later dialog “(1)” in the picture below). As you hover over the function names in the menu, the help text for each function is displayed to assist you in picking the right function. Furthermore, when you select a specific function, a help icon (2) appears next to the menu with the help text for the function you selected bound to it for easy reference.

You can apply time-of-day and day-of-week restrictions to functions in the dialog (3). Furthermore, some functions (including “BusinessHours”) accept arguments to customize their behavior, and you can specify those arguments in the text field provided (4), which is hidden until you select the “function” option.

To see what the function’s calculations will yield before actually sending the message, click the “Calculate” button (5), and the function, restrictions, and arguments you specified are executed and the result appears in the “Send at” box. You don’t need to push the “Calculate” button before sending your message, you can just click the big “Send according to function” button (6) and the right thing will happen. In fact, Send Later does the calculations again when you click the big button, even if you previously clicked “Calculate.”

As noted above, if you need to use the same settings repeatedly, you can select “Save these values as the defaults” (7) so you don’t have to enter them over and over; this works for scheduling with functions just like it does for entering a single send time explicitly or using one of the recurrence options.

Of course, a picture is worth a thousand words:

Send this email later_010

The other way you can use dynamic functions is by binding them to one or more of the shortcut buttons. In the Preferences tab for one of the shortcut buttons, enter “ufunc:name” where name is the name of the function you want to bind to that shortcut. Don’t forget to change the button label too!

You can even specify arguments to be passed to the function. For example if you specify “ufunc:BusinessHours([0, 1, 2, 3, 4], [9, 0], [17, 0])”, then that shortcut button will schedule messages to be sent between 9:00am and 5:00pm Sunday through Thursday (see the help text for the BusinessHours function for an explanation of how to interpret those arguments).

You may not need to reinvent the wheel. Take a look at the library of dynamic functions contributed by other Send Later users. Also, consider sharing the functions you create! That page has instructions there for adding to the library.

Dynamic recurrence

In addition to supporting arbitrary logic for scheduling a message once, dynamic functions can also support arbitrary logic for sending messages multiple times, i.e., for recurring messages. This is very powerful functionality, but it’s also a bit complicated, so bear with me while I walk you through it.

A dynamic function implements recurrence by putting a recurrence specification string in the “nextspec” variable before the function returns. The recurrence specification does one of two things: either it specifies a recurrence type that Send Later knows how to handle internally, after which the dynamic function is “out of the loop” for subsequent deliveries of the message and doesn’t get called again; or it tells Send Later to continue calling it each time the message needs to be rescheduled.

The internal recurrence types, which correspond to the options in the Send Later dialog, are as follows:

  • minutely – Send the message every minute.
  • daily – Send the message once per day.
  • weekly – Send the message once per week.
  • monthly day-of-month – Send the message on the specified day of every month.
  • monthly day-of-week week-of-month – Send the message on the specified day (0 = Sunday – 6 = Saturday) of the specified week of the month. For example, “monthly 1 3” means to send the message on the third Monday of every month.
  • yearly month day– Send the message on the specified day of every month (0 = January – 11 = December). For example, “yearly 10 5” means November 5 of every year.

In addition, after one of the primary recurrence specifications shown above, the function can include any of the following modifiers in the specification string:

  • ” / number” (that’s a space, then a slash, then another space, then a number — the syntax is important!) to indicate every number minutes, e.g., “minutely / 20” means every 20 minutes;
  • ” between YYMM YYMM” to indicate a time restriction; and
  • ” on d1 d2 …” to indicate a day-of-week restriction, where “d1 d2 …” is a list of space-separated day numbers, .with the numbering starting with 0 for Sunday.

If, on the other hand, your function wants Send Later to call it repeatedly to do the scheduling, then it should set “nextspec” to “function ” + specname. This specification string can also use the “between” and “on” modifiers shown above, but not the “/” modifier.

If your function takes arguments that control its behavior and/or keeps state between invocations, then those need to be assigned as an array to the “nextargs” variable before your function returns.

There are two ways for a recurring dynamic function to stop sending a recurring message:

  • if the function knows that the message it was just asked to schedule is the last one, then it should simply not set “nextspec” to anything (i.e., leave it null), and Send Later will use the final send time it provided and then not schedule the message any further; or
  • if the function determines that the current invocation is too late to send the message any more, i.e., it wants to stop the message immediately rather than after the next time it is sent, then it should set “next” to -1 and not set “nextspec” to anything, and Send Later will stop the message immediately.

Suppressing scheduled message delivery

If you set the preference “extensions.sendlater3.senddrafts” to false in the advanced config editor (described above), then Send Later won’t deliver scheduled drafts when their time comes; it’ll just leave them in your Drafts folder as if their delivery time has not yet arrived. In case you are wondering what use this might have… One clever Send Later user decided to eliminate the requirement for Thunderbird to be running all the time to deliver scheduled messages, by writing an independent service to scan for and deliver scheduled messages from his IMAP Drafts folder. Unfortunately, if he happened to be running Thunderbird when a draft was scheduled to be sent, his Thunderbird and his service might have tried to deliver the same draft at the same time, thus causing unpredictable behavior and/or duplicate messages. He can avoid this issue by setting the “senddrafts” preference to false.

Server-side Send Later

(This is very advanced usage. It can be complicated to set up, and things could go embarrassingly wrong if you mess it up. Proceed at your own risk.)

If you want scheduled drafts to be sent even when your computer is shut down or Thunderbird isn’t running, and you have access to a server somewhere on which you can keep Thunderbird running all the time, here’s how you can set things up to have scheduled messages sent via that server.

  1. Use IMAP, not POP3, to access the email account in question. Otherwise, Thunderbird can’t store your scheduled drafts on the mail server and the server-side Thunderbird won’t be able to read and send them.
  2. Install Thunderbird on the server.
  3. If you can, set up the server to log you in automatically when it reboots, to start Thunderbird automatically when you log in, etc. I.e., do as much as you can to ensure that Thunderbird will stay running all the time.
  4. Configure your email account into Thunderbird on the server. Important: see below for a very important note about configuring accounts and identities on different computers.
  5. On the client, set extensions.sendlater3.senddrafts to false as described above.
  6. On the client, use the advanced config editor to find the value of the preference extensions.sendlater3.instance.uuid. Copy the value into a text file or save it in some other way.
  7. On the server, use the advanced config editor to set extensions.sendlater3.instance.uuid to the value you copied from the client.

After you follow these steps, the client will stop sending out scheduled messages, and the server will start sending them out instead, since you’ve tricked it into thinking it is the same “instance” of Send Later as the client.

If you use Send Later on multiple clients, e.g., on a desktop and a laptop, then you can make the value of extensions.sendlater3.instance.uuid the same on all of them, as long as extensions.sendlater3.senddrafts is only set to true in one Thunderbird, i.e., the one that you keep running all the time.

Remember that this only works if Thunderbird stays running on the server. Don’t forget to keep an eye on it and restart it if it shuts down. If you want to be especially careful, you can schedule a recurring message to yourself as a simple monitor — if you don’t receive the recurring message at the scheduled time, you know that Thunderbird on the server has stopped running and you can log in and restart it.

Accounts and identities on different computers

When you compose a draft message, Thunderbird inserts special, hidden settings into the message indicating the account and identity used to compose the draft. Although you don’t see them in the user interface, Thunderbird assigns numerical identifiers to accounts and identities; these numerical identifiers are what gets put into the hidden settings in the draft message. You can see these identifiers by looking in your prefs.js file (Help | Troubleshooting Information, click on the button to open your profile directory, and load the file “prefs.js” in that directory into a text editor) for lines containing “mail.identity.id” and “mail.account.account”.

When you only use Thunderbird on one machine, you never have to worry about what those hidden identifiers are. However, when you try to share accounts between multiple Thunderbird installations, and you have more than one account and/or identity configured, then you will run into problems if the identifiers for the accounts and identifiers are different. In particular, if you configure things as described above to schedule messages from one computer and send them from another, and the account or identity numbers don’t match on the two computers, then the scheduled messages will be sent from the wrong identity and/or account.

There are several ways to avoid this problem:

  1. Back up your Thunderbird profile from one computer and restore it on the other, thus guaranteeing that the account and identity configuration on the two computers will match. This is harder than it sounds because there are file paths hard-coded in various locations in your profile, mostly in prefs.js, that will ned to be updated if your profile is in a different directory on the second computer. A tool like MozBackup may help with this, but it only runs on Windows and it may not fix everything it needs to when the profile is restored.
  2. Create a new Thunderbird profile on the second computer, then quit out of Thunderbird there without configuring any accounts, load the new profile’s prefs.js into a text editor, and copy all the mail.account*, mail.identity.*, mail.server.*, and mail.smtp*, lines from your old prefs.js file to the new one, omitting any lines that have hard-coded file paths in them. Then restart Thunderbird on the new computer and log into all the accounts and send test messages from all your identities so that Thunderbird’s password manager can save all the necessary passwords.
  3. Edit prefs.js by hand (with Thunderbird not running!) on one of the computers to swap around the numbers for all the accounts, identities, servers, and SMTP servers so they match the numbers on the other computers. Editing prefs.js is dangerous, and this is not for the faint of heart, and make sure you save a backup copy you can restore if you screw things up!

Making “Send” do “Send Later” only some of the time

You may be in a situation where some of the time, you want to make sure to schedule every message you send, while other times, you want to send messages right away. For example, you might catch up on work late at night, but letting your clients know that might give them the incorrect impression that you don’t mind if they call you at god-awful hours :-). With Send Later and userChromeJS, we can make that happen.

The userChromeJS add-on allows you to add arbitrary JavaScript code and functions to your Thunderbird installation. Here’s how you do that:

  1. Install the userChromeJS add-on.
  2. Find the userChrome.js file created by userChromeJS. It will be in the “chrome” subfolder of your Thunderbird profile folder.
  3. Using your favorite text editor, add the code you want to userChrome.js, then exit from and restart Thunderbird.

Here’s an example of code you can put in userChrome.js to solve the problem above, i.e., you want the “Send” button to do “Send Later” after hours:

// Set up a timer to call a function every five minutes to check
// whether we want the "Send" button to actually do "Send Later".

// This is the function that the timer will call.
var SendButtonPrefCallback = {
    notify: function(timer) {
    var now = new Date();
    // Sunday or Saturday
    var weekend = now.getDay() == 0 || now.getDay() == 6;
    // Before 9am
    var early = now.getHours() < 9;
    // After 5pm
    var late = now.getHours() > 4;
    // Put it all togther
    var do_popup = weekend || early || late;
    // Set the appropriate Send Later preference
    var prefService = Components
    prefService.setBoolPref("extensions.sendlater3.sendbutton", do_popup);

// This is the variable that the timer will be stored in.
var SendButtonPrefTimer = null;

// Now set up the timer.
if (! SendButtonPrefTimer) {
    SendButtonPrefTimer = Components.classes["@mozilla.org/timer;1"]

// Note: This timer's going to run in every open Thunderbird window,
// but there really isn't any harm in that, so it's easier to just let
// that happen then to try to figure out how to make it run in only
// one window.

Checking for scheduled messages more than once per minute

If you need to control when messages are sent with smaller granularity than one minute, you can tweak the Send Later configuration options to specify more exactly how often to check for scheduled messages:

  1. Open the Config Editor (open the Preferences window, click “Advanced”, click the “General” tab, and click the “Config Editor…” button.
  2. Enter “extensions.sendlater3.checktimepref” in the Search box.
  3. Double click on the first displayed preference and change it to the frequency you want Send Later to check with, times 1000. For example, if you want it to check every 15 seconds, change it to 15000.
  4. Double click on the second displayed preference, the “is_milliseconds” preference, to change it from false to true.
  5. Restart Thunderbird.

Important notes:

  • Setting the delay between scans too low could cause the add-on to become confused. Fifteen seconds is probably pretty safe. Five seconds may even be safe, though it’s pushing it. Less than five seconds is probably a bad idea.
  • Whatever check frequency you configure, a scheduled message could be sent up to that many seconds later than it was actually scheduled. For example, if you’re checking every 15 seconds, messages could end up being sent up to 15 seconds after their scheduled send times.
  • Remember that once Send Later decides to put the message into your Outbox and tell Thunderbird to send it, the actual transmitting of the message takes a bit of time as well, especially if it’s large.


Messages don’t send or send multiple times

Are you using the add-on correctly?

If scheduled messages get moved into your Outbox (underneath Local Folders) at the scheduled send time but don’t get delivered from there, then the first thing to do is confirm that you haven’t told Send Later not to deliver messages. Open Send Later’s preferences (click “Send Later” at the bottom of the main window and select “Send Later preferences” from the menu) and make sure the box next to “Trigger unsent message delivery from Outbox” is checked. It is checked by default, so if it isn’t, then you unchecked it for some reason, and you should check it and click “OK” to save the change. Then, to cause past messages that were previously put into the Outbox to be delivered, select the “File | Send Unsent Messages” menu command. If that’s not the problem, then read on.

Another common mistake when using the add-on is clicking on the “Put in Outbox” button rather than the “Send by” button. As documented above, the button that actually causes a message to be scheduled for later delivery is this one:

If you instead click the ‘Put in Outbox” button below it, then you’re not scheduling the message for later delivery, you’re putting it directly into the Outbox to be sent the next time you do “File | Send Unsent Messages” or the next time Send Later delivers a separate scheduled message, since every time Send Later delivers a message, all pending messages in the Outbox are delivered.

Make sure you are using the add-on properly and its preferences are set correctly before proceeding with the following troubleshooting steps.

If scheduled messages are going into your Drafts folder but not moving into your Outbox at the scheduled time, then check if your mail server is discarding the Send Later headers, as described above. If not, then proceed with the following troubleshooting steps.

Messages not being sent: isolating the problem

If Send Later fails to deliver messages at the scheduled time, or if scheduled messages are delivered repeatedly, the two most likely causes are corrupt Drafts folders and a corrupted Outbox folder. A corrupted Outbox may even cause Thunderbird to crash when it tries to deliver scheduled messages. Note that corrupted folders are not Send Later’s fault… There are bugs in other parts of Thunderbird, which can cause folders to become corrupted.

If your messages aren’t being delivered properly, then please perform the following two diagnostic tests to isolate exactly where the problem lies:

  1. Disable the Send Later add-on.
  2. Restart Thunderbird.
  3. Compose a new message with a valid recipient, Subject, and message body.
  4. Select the “Send Later” command on the “File” menu of the composition window.

If you get an error at this point, then Send Later is not the problem. Rather, one of the following is wrong:

  • corrupt Outbox folder — see below for how to repair it;
  • full Windows temporary directory — see below for how to repair it;
  • your hard disk is full; or
  • something is broken in your Thunderbird profile — unfortunately the only way I’ve been able to find to resolve this is to migrate to a new Thunderbird profile and get rid of the old one.
  1. Start with a successful Test , above.
  2. Check the “Outbox” folder underneath “Local Folders” and confirm that the message you composed is there.
  3. Select the “Send Unsent Messages” command under the “File” menu in the main Thunderbird window and confirm that the message in your Outbox folder is sent successfully.

If the “Send Unsent Messages” command is grayed out in the menu, i.e., you cannot execute it even though there is a message in the Outbox, or if the message does not send successfully when you execute this command, ,then Send Later is not the problem. Rather, one of the problems and solutions listed above in “Test ” applies.

  1. Start with successful Tests and above.
  2. Re-enable the Send Later add-on and restart Thunderbird.
  3. Compose a new message with a valid recipient, Subject, and message body.
  4. Schedule the message with Send Later to be sent five minutes in the future.
  5. Confirm that the message is saved to your Drafts folder.

If, instead of the message being saved into the Drafts folder, you get an error, then try repairing your Drafts folder and then repeat this test. If that doesn’t fix the problem, then the error you’re getting probably isn’t a Send Later issue, it’s a generic Thunderbird issue, but if you can’t figure out what the problem is, feel free to send us the error message you’re getting and we’ll try to help.

  1. Start with a successful Test , above.
  2. Enable the “Send Later” column in the message list in your Drafts folder, if it isn’t already displayed.
  3. Make sure that the Draft you scheduled shows the correct scheduled send time in the Send Later column. If it doesn’t, then you are probably running into this issue, and you need to use the workaround documented there — configure Thunderbird to save Drafts locally rather than on the mail server — to be able to use Send Later.
  1. Start with a successful Test , above.
  2. Wait for the scheduled send time of the message and confirm that it is sent correctly by Send Later.
  3. If it isn’t, and all the other tests above were successful, then contact us for further assistance.

Corrupt Outbox folder

If your messages aren’t being delivered or are being delivered multiple times, then the first thing you should try is clearing your Outbox. Here’s how to do that:

  1. Make sure the “Outbox” folder under “Local Folders” doesn’t have any messages in it (because we’re about to delete the folder). If it does, and you want to save them, move them into your Drafts folder to be resent later.
  2. Right-click (on Mac, perhaps ctrl-click) on “Local Folders” and select “Settings…”.
  3. Note the directory in which your local folders are stored.
  4. Browse to that directory.
  5. Exit completely from Thunderbird.
  6. Delete Outbox and Outbox.msf in the Local Folders directory if they exist. Also delete “Unsent Messages” and “Unsent Messages.msf” if they exist. If neither of them exists, then you’ll have to use the advanced configuration editor (described above) in Thunderbird and look at the setting mail.default_sendlater_uri to find out the name of your Outbox folder on disk and then delete it (after exiting again from Thunderbird).
  7. Try scheduling a message with Send Later again and see if the problem is gone.

Corrupt Drafts folders

A good sign that one of your Drafts folders is corrupted is if Send Later isn’t noticing that there are scheduled messages, i.e., the message at the bottom of your Thunderbird window says “IDLE” instead of “PEND 1”, “PEND 2”, etc. However, if messages aren’t getting sent at the scheduled time, then you may still have a corrupted Drafts folder even if the message says “PEND”. You need to repair them all:

  1. Locate the Drafts folders for all of your accounts. The easiest way to do that, if you have multiple accounts, is to switch to the unified folder view (View | Folders | Unified) and expand “Drafts”.
  2. Right click on each one and select “Properties…”.
  3. Click the “Repair Folder” button in each Properties window, then click “OK”.

NOTE: Repairing a folder resets its visible columns, column layout, and sorting, so if you’ve customized the columns and/or sorting, you’ll have to put the customizations back after repairing the folders.

Full temporary directory on Windows

If your Windows temporary directory ends up with too many files in it, which is partially Thunderbird’s fault since it has a habit of creating temporary files and not deleting them, then both Send Later and Thunderbird may start malfunctioning. The two surefire signs of this are, (a) Send Later is able to copy messages into your Outbox for delivery, but once they’re there, Thunderbird fails to deliver them, and (b) when there are messages in your Outbox, the File | Send Unsent Messages command doesn’t work, or is greyed out and can’t even be selected. If you this you may be running into this problem, you should run the Windows Disk Cleanup utility and tell it to clean up temporary files.

Send errors with Gmail when Thunderbird is configured to save copies

Many users of Send Later report errors when the add-on attempts to send scheduled messages through a Gmail account. These errors happen more often, but not only, when Send Later attempts to deliver multiple messages at the same time. This is usually caused by an error in the Thunderbird configuration for the Gmail account. In particular, it is not necessary to configure Thunderbird to save copies of sent messages in Gmail’s Sent Mail folder, since Gmail saves copies there automatically (this is documented in Google’s configuration instructions for Thunderbird). When Thunderbird is incorrectly configured to save copies, it can cause message delivery errors. When this occurs, the delivery error happens after the message is sent to its recipients, when the copy is being saved in Sent Mail. This could potentially cause the recipients to receive multiple copies of the message, since if the user then tells Thunderbird to try sending it again, it might re-attempt the entire delivery, not just the saving in Sent Mail. Therefore, if you are experiencing errors with Send Later through a Gmail account, check your account settings to see if you have “Place a copy in” checked in the “Copies & Folders” settings, and if so, turn it off.

Debug logging

If you ask us for help with a problem you are having with the add-on that we can’t reproduce ourselves, then we may ask you to enable debug logging on the add-on, perform some task with debug logging enabled, and then send us the resulting debug log. Here are the instructions for how to do that.

  1. Click on “Send Later” at the bottom of the main Thunderbird window and select “Send Later Preferences”, or select “Add-ons> Send Later” from the main menu button, or select Go to “Tools > Add-on Preferences > Send Later” from the toolbar.
  2. Click on the “Advanced” tab.
  3. Change “Console log level” to “All” (or whatever other value I tell you to change it to).
  4. Click on “OK”.
  5. In the main Thunderbird window, type Ctrl-Shift-J to open the error console.
  6. Click the little trash can icon in the upper corner to clear the window.
  7. Do whatever task I told you to do with debug logging enabled.
  8. Repeat steps 1-4 above, but this time change the setting to “Fatal” instead of “All”.
  9. Right click on one of the messages in the error console window and select “Select All”.
  10. Copy and paste the selected messages into an email message to us.

Alternative instructions

If the instructions above don’t work, we might ask you to do the following instead.

  1. Open the Thunderbird Options (Windows) or Preferences (other platforms).
  2. Click on “Config Editor…” in the General preferences (if there’s an “Advanced” section under “General”, that’s where it will be).
  3. Search for “browser.dom.window.dump.enabled”.
  4. If it’s set to false, then double-click on it to change it to true.
  5. Exit from Thunderbird.
  6. On Windows:
    1. Open a command window.
    2. Run “cd %ProgramFiles%\Mozilla Thunderbird” (if that doesn’t work, try “cd %ProgramFiles(x86)%\Mozilla Thunderbird”).
    3. Run “thunderbird -console”.
  7. On Linux:
    1. Open a terminal window.
    2. Run “thunderbird >| /tmp/thunderbird.log 2>&1”.
  8. On Mac OS:
    1. Open a terminal window.
    2. Run “/Applications/Thunderbird.app/Contents/MacOS/thunderbird-bin >| /tmp/thunderbird.log 2>&1”.
  9. Click on “Send Later” at the bottom of the main Thunderbird window and select “Send Later Preferences”, or select “Add-ons> Send Later” from the main menu button, or select Go to “Tools > Add-on Preferences > Send Later” from the toolbar.
  10. Click on the “Advanced” tab.
  11. Change “Dump log level” to “All” (or whatever other value we tell you to change it to).
  12. Click on “OK”.
  13. Do whatever task we told you to do with debug logging enabled.
  14. Repeat steps 9-12 above, but this time change the setting to “Fatal” instead of “All”.
  15. On Windows:
    1. Find the console window that Thunderbird opened with all the debug logging in it.
    2. Right-click on the title bar of the console window and do “Edit > Select All”.
    3. Hit Enter to copy the selected text.
    4. Paste the copied text into an email message to us.
  16. On Linux or Mac OS:
    1. Exit from Thunderbird.
    2. Email us the file /tmp/thunderbird.log as an attachment or paste its contents into an email message to us.

Helping to improve the add-on


NOTE: This information about translating is currently out-of-date because we are not yet set up to manage translations for the new version of Send Later for Thunderbird 78. It’s left here for reference purposes, but contrary to what’s written below, you shouldn’t “just jump right in” to translating on Crowdin, until we’ve updated things.

If the add-on’s messages display in a different language than the rest of Thunderbird, then that means that it hasn’t been translated for your language. Translating the add-on is done through Crowdin and is quite easy. Everything you need to know is here. I am happy to help you out if you encounter any problems with Crowdin or have any questions, and my wonderful team of current translators are available to help as well. If you are interested in translating the add on into your language, feel free to either email us about it or just jump right in on Crowdin. Thanks!


The complete source code for the add-on is available on Github.

Getting help

The “Send Later users” mailing list

The Send Later users mailing list is a great place to ask questions about the add-on, chat with other users about how to use it, or discuss future enhancements with the developer.

Contacting the developer

Please do not post bug reports or requests for support as comments below (feature requests are fine, though!). If you need help using the add-on, please e-mail us instead and we will respond as soon as we can (which is usually very quickly). Thanks!

Remote support

In rare cases, when you are having a problem with Send Later that we cannot reproduce, we may need to connect to your computer remotely to see it in action. We may even need to ask you to let one of us “steer” your keyboard and mouse briefly while troubleshooting. When this is necessary, we use TeamViewer. Click here to download the TeamViewer client which will give me access to your desktop, then email us your TeamViewer ID and password (please do not email them to us unless we’ve asked you for them!). Thanks to TeamViewer for providing its software for free for non-commercial use!

Other resources

The kind folks at TCH-Support have published a video tutorial in German of how to use Send Later. They’ve also produced an English version. Enjoy!

I have dedicated countless hours to developing and supporting Send Later. I believe in free software, and the add-on will be completely free for as long as I continue to maintain it, which will be, I hope, for a good long time. Having said that, I am extremely grateful for the donations made by users like you,and the amount of time I devote to improving Send Later is strongly influenced by them. Please click here to donate via Paypal; if that link doesn’t work, try this one; if that doesn’t work either, you can send a Paypal payment to “jik@kamens.us”. A donation of $10 or more makes you eligible for listing, including a link, banner or button if you’d like, on the supporters list! If you don’t like Paypal or can’t use it for some reason, there are other ways you can make a monetary contribution to support Send Later:

  • You can Venmo me at “Jonathan-Kamens”.
  • You can send Bitcoin to 16kWgAVVUSCz1j1oevBFhCGmZQsvi92fmy (if you do this, please email jik+sendlater3@kamens.us if possible and let me know, since I don’t check my Bitcoin wallet that often).

A non-monetary way you can help is by writing a review. Even if you’ve written a review before, please do it again! Here’s why: reviews are linked to specific versions of the add-on, so when we release new versions and expire old ones, the reviews linked to them are removed from the site. Also, if there is a specific feature you would like us to add, and you’re willing to fund its development, please email us and we can discuss it. Of course, you should feel free to send us feature requests at any time, even ones you do not wish to fund; We’ll put them into out queue and get to them as soon as we can.

Check out my other add-ons

I’ve written or maintained several other add-ons which you may find useful:

  • Folder Pane View Switcher” puts two little arrows above the folder tree which you can click to scroll back and forth through the available folder tree views. Furthermore, it causes the folder tree to switch to the “All Folders” view automatically if you are in the middle of dragging and dropping messages and you hover your mouse over the title bar at the top of the folder tree, so that you can drop the messages into a folder that isn’t displayed in your current view.
  • Reply to Multiple Messages” lets you select multiple messages in the message list and compose a single reply to the senders of all of the selected messages.
  • Enhanced Priority Display” makes message priorities display better by replacing the words in the “Priority” column with icons, highlighting the rows in the message list for high-priority messages, and fading the rows in the message list for low-priority messages.
  • IMAP Received Date” makes the “Received” column in IMAP folders show when messages were actually received.
  • Undigestify” unpacks RFC 1153, ListStar, and Yahoo digest messages into separate messages.
  • Show All Body Parts” enables the View | Message Body As | All Body Parts message display mode, so that you can access all of the parts of a message, including for example both the text and HTML version of the message and all its inline images, as attachments.
  • ToggleReplied” lets you to toggle on and off the “Forwarded”, “Replied”, and “Redirected” flags on existing email messages. This add-on was originally written by Christian Eyrich. He is no longer maintaining it, so I’ve released an updated version of it which is compatible with the newest Thunderbird versions.
  • Remote Content By Folder” lets you decide which messages to show images in automatically based on what folder they are in (e.g., you might want to automatically show images for messages in your inbox, but not your Spam folder).
  • userChromeJS” is a rebuild from the ground up for Thunderbird 68+ of the earlier add-on of the same name. It allows you to configure Thunderbird to execute arbitrary JavaScript code in every Thunderbird window when it opens. See also its home on Github.


A number of people deserve credit for helping to make this add-on what it is today. A huge thank you to Karthik Sivaram, the author and maintainer of the add-on prior to Thunderbird 3! I would never have been able to create and maintain the current version if not for its predecessor that he wrote. Thanks, also, to the people who have translated the add-on into non-English languages (at present, Dutch, Finnish, French, German, Italian, Japanese, Polish, Spanish, Swedish, and Simplified Chinese). These translations were created by Dtrieb from BabelZilla and Erwin D. Glockner (German), urko from BabelZilla (Spanish), Samtron-Translations (Finnish), Bigpapa from BabelZilla (French), Cesare from BabelZilla (Italian), Amigomr from BabelZilla (Japanese), markh from BabelZilla (Dutch), Maciej Kobuszewski (Polish), Mikael Hiort af Ornäs (Swedish), and Wang.H.K from BabelZilla (Simplified Chinese). Please see below if you would like to help add another translation. It’s not hard!


I am grateful to the hundreds of people who have made monetary contributions to support the ongoing development of Send Later. Too many have contributed to be able to list you all here, but special recognition is due to those who have contributed significantly more than the suggested donation.

Gold supporters (>$50)

Silver supporters (>$25)

  • Trace Media Marketing — a New York SEO company
  • Creative Conflict Resolutions, LLC, Boulder, CO — Mediation/Arbitration — Satisfying Settlements that Last™
  • PSDT: Perl training, mentoring, & code review by author Peter Scott.
  • Thanks for a valuable piece of software from Scalable Finance — Advising Business Angels, Sourcing investments, Venture Capital and Private Lending.
  • McCormick & Murphy, P.C., a Denver area personal injury lawyer
  • michael-held.com — Munich-based Graphic Designer
  • elliptic_marketing Online Marketing Agency in Miami – Experts in email marketing, digital advertising, and Hispanic marketing campaigns.
  • Dr. Ken Rich
  • Metasepia Games — a women’s game studio creating interactive fiction games
  • Steve Wozenski
  • Tilman Berger
  • Anonymous (multiple)

Bronze supporters (>$10)

  • MagicLamp Networks ― Dallas Web Design & eCommerce
  • Ingo from Germany
  • Håkon from Norway
  • Ricky from California
  • — South Austin’s only coworking space
  • The EML Group of companies in New Zealand and Australia
  • Erowid
  • konehead design™ — Communication Ideas that work. Discover the affordability of quality design.
  • Exports International LLC — Happy to support a fine product that answered an email need of ours.
  • of Los Angeles – Custom Private Luxury Tours in California
  • Christoph from Germany — “Interesting: Don’t pay for software, but support the idea behind it …”
  • “Keep up the terrific work and don’t stop developing Send Later!” — Mike C.
  • kathi and the vom Viersen Rottweilers, Chicago, IL
  • Telapost – Thank you for the excellent add-on!
  • Tdotwire.com — Free Dating in Toronto
  • purple_heart“Excellent add-on for both Thunderbird and Posbox! Support is second to none!” — Jerry (Pop) Fairfield
  • Bome Software
  • www.radiocity.ch — internet code & design, Zurich, Switzerland
  • Conrad from New Jersey
  • Naoaki Ichihara
  • Fensons – web design and development
  • Charles Manske and Optimage Health support good software like ‘Send Later’ because if it’s valuable, you should pay something for it!
  • Call the Ninja $200 Flat-rate Data Recovery. No recovery, no fee. Serving clients across LA and the United States.
  • David Terrell
  • Paul Wright
  • Michael Sachs, M.D.
  • Marco Cirspini
  • Patrick Murphy, James Valley Hutterian Brethren
  • Cafe Astrology — “The add-on is extremely useful and works well.”
  • Thierry Viéville, Inria — “so smart, so useful : i saved so much time and avoid also many mistakes 🙂 for years by sending later with Send Later, thanks also for the help when i did need it”
  •    https://obeeapp.com/
  •  Contidos Dixitais
  • Felix Salmones from Spain — “Don’t send now, what you can Send later… 🙂 ”
  • bwithage — “Canada — Hockey Stars and Nanaimo Bars”
  • Thanks for a great extension! Jim Roper, in Brazil
  • Dan Kloke (x2)
  • Ondra Zlamal
  • Angelo V. – SanGio.de – Thank you for the excellent add-on!
  • Patrick Bell
  •  Brian S. Wilson: Great plugin and something Thunderbird has needed for a long time.
  • Tomas Flaska
  • ender informatics gmbh
  • Jörg-Ingo from Germany
  • Faunt: Find sustainable products easily
  • www.bcdb.info — ISDS Working Border Collie pedigrees
  • Valley Justice Coalition — Criminal Justice Advocacy in Harrisonburg, Virginia
  • Anonymous (multiple)

There’s room on this list for you too! 🙂

Send Later Release notes

Release 7.4.4 (May 28, 2020)

If you’ve just upgraded from Thunderbird 60 to Thunderbird 68, then please see below for information about the Send Later upgrade for Thunderbird 68, in addition to the notes following this paragraph for subsequent releases.

Changes in 7.4.4:

Somehow some Dutch strings ended up in the Danish translation. I honestly have no idea how this happened, but in any case, it is now fixed.

Please help make Send Later better!

  • I need translators. Send Later’s Armenian, Bulgarian, Danish, Japanese, Polish, Slovenian, and Turkish translations are incomplete. Please email me if you speak one or more of these languages and are able to help translate.
  • Please write a review for the current version of the add-on, even if you’ve written one before for an earlier version. I have to periodically remove old versions of the add-on from addons.thunderbird.net, and when I do that, the reviews written for those versions disappear, so even if you’ve written a review before, please update it for the current version.
  • Don’t forget to join the Send Later mailing list!
  • Finally, if you like Send Later, please consider contributing to support its continued development. A donation of $10 or more makes you eligible for listing, including a link, banner or button if you’d like, on the supporters list!

Check out my other add-ons!

Release 7.4.3 (March 17, 2020)

If you’ve just upgraded from Thunderbird 60 to Thunderbird 68, then please see below for information about the Send Later upgrade for Thunderbird 68, in addition to the notes following this paragraph for subsequent releases.

Changes in 7.4.3:

Remove the Kickstarter campaign pop-up, since the campaign has succeeded and is almost over.

Release 7.4.2 (March 1, 2020)

If you’ve just upgraded from Thunderbird 60 to Thunderbird 68, then please see below for information about the Send Later upgrade for Thunderbird 68, in addition to the notes following this paragraph for subsequent releases.

Changes in 7.4.2:

Fix bug in putting previous scheduled send time in compose toolbar

If the user adds the send time text box to the compose toolbar and then edits a previously scheduled message, the previous send time is supposed to show up in the text box automatically, but instead the word “long” was showing up because I forgot a couple of curly braces in a date formatting string. I’m amazed that this has been broken for almost six months and no one has mentioned it to me before now.

Translation updates

Complete Catalan, Chinese (both simplified and traditional), Finnish, Galician, Portuguese (both European and Brazilian), and Russian translations.

Add to (not yet finished) Danish, Polish, and Slovenian translations.

As always, thank you to my translators!

Please help make Send Later better!

  • I need translators. Send Later’s Armenian, Bulgarian, Danish, Japanese, Polish, Slovenian, and Turkish translations are incomplete. Please email me if you speak one or more of these languages and are able to help translate.
  • Please write a review for the current version of the add-on, even if you’ve written one before for an earlier version. I have to periodically remove old versions of the add-on from addons.thunderbird.net, and when I do that, the reviews written for those versions disappear, so even if you’ve written a review before, please update it for the current version.
  • Don’t forget to join the Send Later mailing list!
  • Finally, if you like Send Later, please consider contributing to support its continued development. A donation of $10 or more makes you eligible for listing, including a link, banner or button if you’d like, on the supporters list!

Check out my other add-ons!

Release 7.4.0 (February 3, 2020)

If you’ve just upgraded from Thunderbird 60 to Thunderbird 68, then please see below for information about the Send Later upgrade for Thunderbird 68, in addition to the notes following this paragraph for subsequent releases.

Changes in 7.4.0:

Translation updates.

Please help make Send Later better!

  • I need translators. Send Later’s Armenian, Bulgarian, Danish, Japanese, Polish, Slovenian, and Turkish translations are incomplete. Please email me if you speak one or more of these languages and are able to help translate.
  • Please write a review for the current version of the add-on, even if you’ve written one before for an earlier version. I have to periodically remove old versions of the add-on from addons.thunderbird.net, and when I do that, the reviews written for those versions disappear, so even if you’ve written a review before, please update it for the current version.
  • Don’t forget to join the Send Later mailing list!
  • Finally, if you like Send Later, please consider contributing to support its continued development. A donation of $10 or more makes you eligible for listing, including a link, banner or button if you’d like, on the supporters list!

Check out my other add-ons!

Release 7.3.9 (January 25, 2020)

Translation updates.

Release 7.3.8 (January 23, 2020)

Changes in 7.3.8:

This add-on will no longer be supported when Thunderbird 78 is released in a few months, unless enough people commit to supporting continued maintenance of the add-on to make it feasible. To show your commitment, please visit the Kickstarter campaign and make a pledge. As a bonus, Kickstarter supporters of this and my other add-ons will receive significant discounts on add-on licenses.

This release of the add-on adds a pop-up message warning users about the potential end of support and encouraging people to visit the Kickstarter campaign and support it.

Release 7.3.6 (January 22, 2020)

Changes since 7.3.5:

Fix errors for users of Thunderbird in Danish.

Release 7.3.5 (January 17, 2020)

Changes in 7.3.5:

Fix Send Later for compatibility with Owl for Exchange.

Release 7.3.4 (December 8, 2019)

Changes in 7.3.4:

FIX: Update the menu properly in the dynamic function editor

When creating or deleting functions in the dynamic function editor, update the list of available functions in the menu properly. Previously, updates were failing, so you had to close and re-open the editor window to refresh the list of available functions.

ENH: Accept CRLF line breaks in dynamic function export files

Now that dynamic function export files, i.e. “.slj” files, have line breaks in them, it’s possible for them to be transmitted and copied in such a way that their LF line terminators get turned into CRLF, e.g., if someone views a .slj file in a browser and then copies and pastes it into a text file on Windows. There’s no reason why we can’t support this, so let’s do it.

I18N: Several updates to the Chinese translations

Release 7.3.3 (November 27, 2019)

If you’ve just upgraded from Thunderbird 60 to Thunderbird 68, then please see below for information about the Send Later upgrade for Thunderbird 68, in addition to the notes following this paragraph for subsequent releases 7.3.3, 7.3.2, 7.3.1, 7.3.0, 7.2.1, 7.2.0, 7.1.3, and 7.1.2.

Changes in 7.3.3:

Finish up the last few strings in the Polish translation.

Thanks to Wojciech Kazimierczak for getting the Polish translation across the finish line!

Release 7.3.2 (November 27, 2019)

Changes in 7.3.2:

Fix potential message corruption in non-English locales

In some foreign languages it was possible for scheduled messages to be corrupted when they were sent, because a date being inserted at the top of the message contained a textual description of the sender’s time zone, which could include foreign-language characters which confused Thunderbird into thinking there was a line break in the message where there shouldn’t be one.

This has been fixed by no longer inserting the textual time zone description into the message.

Release 7.3.1 (November 21, 2019)

Changes in 7.3.1:

Fix date parsing in the Polish locale

Prior to release 7.3.0, we weren’t actually parsing dates in Polish for people using Thunderbird in Polish, so we didn’t notice that there was a bug for Polish in the third-party date-parsing library Send Later users. Starting in 7.3.0 we were doing a better job of selecting the language for parsing dates, so we started actually trying to parse dates in Polish, which caused the hidden bug to show up.

In this release we patch that bug, so now Polish users of the add-on should be able to type dates into the prompt window.

Release 7.3.0 (November 20, 2019)

Fix date-parsing for non-English locales (again)

The previous fix for Thunderbird 68 to make Send Later determine the correct locale to parse dates in apparently broke before Thunderbird 68 actually shipped, so an additional fix is called for.

People using Thunderbird in a foreign language that Send Later knows how to parse should be able to type dates in that language again.

This release also contains a small update to the Italian translation.

Release 7.2.1 (November 5, 2019)

Changes in 7.2.1:

Extra logging and error handling to work around an issue that seems to be cropping up for the first time in Thunderbird 68, preventing scheduled messages in some Drafts folders from being sent.

Compatibility changes for Thunderbird 71+.

Translation updates.

Release 7.2.0 (September 23, 2019)

Changes in 7.2.0:

New feature: Support a simple n-minute delay for all sent messages

You can now configure Send Later (via its preferences) to schedule all messages which you send with the Send button or Ctrl-Enter to be delayed by a specified number of minutes.

Note that this feature and the “‘Send’ does ‘Send Later'” feature are incompatible so only one of them can be enabled at a time.

This is the long-awaited replacement for the functionality of the old “BlunderDelay” Thunderbird extension.

Bug fixes:

The preferences window works in Thunderbird 71+ now.

Some (but perhaps not all) instances of the “Send Later” column showing in folders where it shouldn’t have been fixed.

Release 7.1.3 (September 18, 2019)

Fix a bug which has been preventing saving or removing dynamic scheduling functions from working since Thunderbird 68.

Update translations.

Release 7.1.2 (September 9, 2019)

Changes since 7.1.0 (7.1.1 was never released):

Fix the OK, Cancel, and Reset buttons in the preferences window, which were broken in Thunderbird 68.

Add a preference to allow the user to disable the Ctrl-Alt-1, -2, and -3 key bindings in the message composition window.

Spread out the links at the bottom of the preferences window so they aren’t all scrunched together.

Implement a compatibility fix for Thunderbird 70+ to make the toolbar buttons in the message composition window work properly again.

Update some translations.

Release 7.1.0 (September 6, 2019)

Welcome to the Send Later release notes!

Typically, these release notes only include changes since the most recent release. However, since some of you may have just upgraded from Thunderbird 60 to Thunderbird 68 and therefore made a big jump from Send Later 6.4.6 to 7.1.0, and since by default Send Later doesn’t display release notes for patch releases, it has been a while since Send Later has shown release notes to most of you. Therefore, these notes summarize what has changed between versions 6.4.6 and 7.1.0 of Send Later.

First and foremost, significant modifications to Send Later were required to make it compatible with Thunderbird 68. These changes have been tested pretty extensively, but there may still be rough edges, so please make sure to let me know about any issues you encounter. You can either email me or post an issue on Github.

As you know, the Send Later window that pops up when you type Ctrl-Shift-Enter or select the “File | Send Later” menu command allows the date and time to send a message to be entered either by typing it out or by pointing and clicking at “datepicker” and “timepicker” widgets. However, due to changes in the version 68 of the Thunderbird application, the datepicker and timepicker are now only displayed if you have the “Lightning” add-on installed and enabled. This also means that you can’t set delivery time ranges in a message unless “Lightning” is there.

Speaking of that, when you do change the delivery time range in the prompt window, Send Later is now smart enough to adjust the other end of the range when it makes sense to do so. For example, if the start time is set to 11:00 AM and then you change the end time to 10:00 AM, the start time will adjust automatically to 10:00 AM, since it doesn’t make sense for the start time to be later than the end time.

Unfortunately, the datepicker and timepicker that Send Later is now using don’t work when inserted into the composition window toolbar, so they are no longer among Send Later’s custom toolbar widgets.

The Send Later progress bar which used to appear at the bottom of the main Thunderbird window every minute, and which was never particularly accurate or useful, is gone. In its place, when send Later is checking for scheduled messages to send its status at the bottom of the window changes to “CHECKING”.

SeaMonkey and Postbox are no longer supported. Support for them may return at some point, but it’s not clear when or if that will happen.

There have been lots of updates to the translations, including a new Hungarian translation. Thanks very much to all of my translators!

Speaking of translations, previously the add-on was displaying “Send Later” as the name of the add-on even for translations which had opted to translate the name into a foreign language. This has now been fixed.

Previously, when you went to edit the preset buttons in the preferences, the label preference for each button showed “” instead of the actual label for the button. This was confusing and has been fixed, so now the actual label for the button is displayed in the preferences.

A tooltip has been added for the “Send Later” composition window toolbar button.

The library that Send Later uses for parsing dates and times, SugarJS, has been updated to a newer version which should be at least slightly better at parsing.

Release 7.0.9 (September 5, 2019)

Translation updates.

BUGFIX: Previously, the English version of Send Later was displaying the scheduled message count twice at the bottom of the main Thunderbird window, e.g., if there were two scheduled messages it would display “PEND 2 2” instead of “PEND 2”. This has been fixed.

Release 7.0.8 (August 10, 2019)

Changes since 7.0.7:

Thunderbird 68 compatibility changes.

Release 7.0.7 (August 6, 2019)

Upgrade the SugarJS library for some minor improvements in date-parsing.

Non-functional changes to future-proof the add-on against upcoming breaking changes in Thunderbird.

Release 7.0.6 (July 25, 2019)

Some code hygiene changes which don’t actually have any user-visible impact, at least not currently, but might in the future, so I made the changes to future-proof the code.

Release 7.0.5 (July 15, 2019)

Make the add-on icon show up in the Tools | Add-On Preferences menu.

Make some additional minor Thunderbird 68+ compatibility changes.

Release 7.0.4 (July 14, 2019)

TRANSLATIONS: Various improvements to translations:

      • Complete Hungarian translation, thanks to Óvári!
      • Additions to the Dutch and Greek translations.
      • The correct, translated add-on name now appears throughout the add-on, for translations that choose to localize it, rather than the add-on name sometimes appearing as “Send Later” in English.
      • Allow the log level settings in the preferences to be translated.
      • Reorganize bits and pieces of the translation framework to accommodate language structure differences between English and some other languages, most notably Hungarian.
      • Remove some English strings that somehow crept into the Armenian translation.

Thanks, as always, to all of my awesome translators!

FIX: Eliminate “double down arrows” in compose window.

Send Later was causing there two be an extra downward-pointing arrow on the right end of pop-up menu buttons. Not anymore!

FIX: Fix broken numeric input boxes.

A couple of text-entry boxes for entering numbers weren’t functioning properly due to changes in Thunderbird 68. This has now been fixed.

ENHANCEMENT: Get rid of confusing “<from locale>” in preferences window.

Previously, when the user went to edit the label and value for one of the shortcut buttons, the label text that appeared in the preferences tag by default was “<from locale>”. This was confusing and people didn’t really know what to make of it. Now, the actual label text in the current language will appear instead, unless the user changes the label text, in which case the user’s specified text will appear.

ENHANCEMENT: Add a tooltip for the “Send Later” button in the compose window toolbar.

Release 7.0.3 (June 17, 2019)

Changes since 7.0.2:

Restore date-picker and time-pickers

For Thunderbird 68+, restore the date-picker and time-pickers to the Send Later prompt window, which means that it is once again possible to schedule a message exclusively using the mouse, and it is once again possible to put time-of-day restrictions on the delivery of scheduled messages.

Two caveats:

      1. The date-picker and time-pickers are only available in Send Later when the Lightning add-on is installed and enabled. This is because there is still no working date-picker or time-picker functionality in the core Thunderbird application, so Send Later is for the time being using the date-picker and time-picker included with Lightning.
      2. The Send later date/time-picker that could previously be added to the message composition toolbar is still unavailable, because the date-picker and time-picker in Lightning doesn’t work in toolbar buttons.

This change adds one additional new bit of functionality that wasn’t there before: when you change either the start or end time in the “Between” range in the prompt window, the other time bracketing the range is adjusted to preserve the validity of the range. So, for example, if the start time is set to 11:00 AM and then you change the end time to 10:00 AM, the start time will change to 10:00 AM automatically.

Translation updates

Add an incomplete Hungarian translation.

Add the bare-bones of a Danish translation (you won’t actually see any translated strings in the UI yet).

Thanks as always to my translators! Be in touch if you want to help translate.

Release 7.0.2 (June 16, 2019)

Changes since 7.0.1:

Fix a bug which was preventing messages from being marked replied or forwarded when a reply or forward was scheduled with Send Later.

Fix a Thunderbird 69 compatibility issue which was preventing the Send Later prompt window from going away after a message was scheduled.

Release 7.0.1 (March 30, 2019)

Changes since version 6.4.6:

This release of Send Later only works with Thunderbird 68 and newer. For older versions of Thunderbird, you need to download version 6.4.6.

This is the first release of Send Later which attempts to be compatible with Thunderbird 68, so there may be some rough edges I haven’t stumbled across yet. Please let me know if you run into any problems that aren’t mentioned below!

Here are the known, user-visible changes in this release:

The datepicker and timepickers in the Send Later dialog are currently disabled, and the datepicker / timepicker combo that goes in the compose window toolbar doesn’t work. This is because there are currently problems with the datepicker and timepicker widgets, so I can’t get them to work in Send Later. This has two functional impacts until I am able to fix it:

      1. You have to enter the send time by typing it rather than being able to click.
      2. You can’t set time-of-day restrictions on scheduled messages.

The preferences window (tab, actually) now has “Reset”, “Cancel”, and “OK” buttons, and any changes you make to preferences aren’t actually saved untli you close the window or click the “OK” button.

At some point prior to Thunderbird 68 the functionality for validating preferences before saving them was lost. This has now been fixed.

The progress bar, which was has not been particularly useful for a long time, is gone. Instead of a progress bar, Send Later now displays a status of “CHECKING” while it is doing its periodic check for scheduled messages. Note that this message has not yet been translated so at least for this release it will appear as “CHECKING” in all languages.

References to addons.mozilla.org have been replaced with addons.thunderbird.net throughout.

Release 6.5.0 (March 1, 2020)

Fix bug in putting previous scheduled send time in compose toolbar

If the user adds the send time text box to the compose toolbar and then edits a previously scheduled message, the previous send time is supposed to show up in the text box automatically, but instead the word “long” was showing up because I forgot a couple of curly braces in a date formatting string. I’m amazed that this has been broken for almost six months and no one has mentioned it to me before now.

Release 6.4.8 (February 3, 2020)

Compatibility changes for Thunderbird 45 through 52. You shouldn’t still be using them! But if you are, Send Later should work with them.

Release 6.4.7 (January 29, 2020)

Add the pop-up about the Kickstarter campaign to save Send Later and my other add-ons to the Thunderbird 60 version of Send Later because many people are still using Thunderbird 60.

Release 6.4.6 (January 7, 2019)

Changes since 6.4.5:

Fix a bug which was preventing arguments to dynamic scheduling functions from working in some contexts.

Release 6.4.5 (January 7, 2019)

Changes since 6.4.4:

There are no user-visible changes in this release. It modifies the format of dynamic scheduling function export files slightly to make them easier to read and edit in text editors outside of Thunderbird. This change was made to facilitate the creation of a library of shared scheduling functions.

Release 6.4.4 (January 6, 2019)

Changes since 6.4.3:

Make the dynamic function editor window resizable.

Fix the “Import…” and “Export…” buttons in the dynamic function editor, which it turns out were broken by a change in Thunderbird 57.

Release 6.4.3 (November 13, 2018)

Changes since 6.4.2:

Some versions of Thunderbird being used in a locale that uses UTF-8 (i.e., non-ASCII) characters were garbling the display of dates in the send button in the prompt window. This has been fixed.

The Turkish and Armenian translations have been updated, but are still incomplete.

Release 6.4.2 (November 12, 2018)

Fix how the scheduled date of messages in the Drafts folder is displayed so that the formatting obeys the current locale. For example, in the United States, the date should be displayed in MM/DD/YYYY format, while in the United Kingdom it should be DD/MM/YYYY.

Fix bug in date-picker for some older Thunderbird versions. The API in Thunderbird for formatting dates has been in a great deal of flux for the past several Thunderbird releases. Release 6.4.1 of Send Later was an attempt to make the date code in Send Later compatible up to Thunderbird 60.3.0. Unfortunately, although the changes did achieve compatibility with newer Thunderbird releases, they broke compatibility with older ones. This release attempts to address that.

Add some improvements to the Bulgarian translation.

Release 6.4.1 (November 8, 2018)

Fix two problems with the date-picker widgets, i.e., the user interface elements in the compose window toolbar and Send Later pop-up dialog which allow you to choose the date for which to schedule the message:

      1. Send Later should now correctly obey the user’s locale settings when determining the order in which to put the year, month, and day in the date-picker.
      2. The date-picker will now (I hope) work correctly in some locales where previously it didn’t work at all.

The minimum compatible Thunderbird version for Send Later is now 32. Note that this was actually true before this release as well, but before, the minimum compatible version was incorrectly being specified as 25.

Translation updates:

      • Add a Bulgarian translation.
      • Finish the Czech translation.
      • Finish the Finnish translation.
      • Finish the Greek translation.
      • Finish the Norwegian translation.
      • Finish the Romanian translation.

I want to give a big shout-out to my translators!

      • Krasimir Stoychev (bg)
      • Vlasta Konvičná (cs)
      • Dtrieb from BabelZilla (de)
      • Erwin D. Glockner (de)
      • Dimitrios Patikas (el-GR)
      • urko from BabelZilla (es)
      • strel (es)
      • Samtron-Translations (http://translations.samipupu.com/) (fi)
      • Kari Eveli (fi)
      • Bigpapa from BabelZilla (fr)
      • Shai65 from BabelZilla (he)
      • HrantOhanyan from BabelZilla (hy-AM)
      • Cesare from BabelZilla (it-IT)
      • Amigomr from BabelZilla (ja)
      • Michael Murer (nb-NO)
      • markh from BabelZilla (nl)
      • Maciej Kobuszewski (pl)
      • Piotr Przybylski (Gabry$) (pl)
      • João Martins (Jonypokas) (pt-PR)
      • wetabax from BabelZilla (pt-PR)
      • Mikael Hiort af Ornäs (sv-SE)
      • Wang.H.K from BabelZilla (zh-CN)
      • Mike (zh-TW)

Release 6.4.0 (October 20, 2018)

Changes since 6.3.9:

Bump compatibility in the XPI file to make installation more reliable. This should fix the trouble some people were having trying to install Send Later in Thunderbird 60.2.

Update the first day of the calendar week for some translations.

Add some Romanian translation strings.

Release 6.3.9 (October 3, 2018)

Changes since release 6.3.8: The simplified Chinese translation has been completed. Thanks, as always, to my translators!

Release 6.3.8 (April 5, 2018)

BUGFIX: Fix date-parsing for non-English locales

Release 6.3.6 broke date-parsing in languages other than English. This release fixes it.

Release 6.3.7 (March 28, 2018)

Changes since release 6.3.6:

There was a bug in release 6.3.6 which broke the send later dialog and dynamic scheduling functions on some versions of Thunderbird. This has been fixed.

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.

Release 6.3.6 (March 22, 2018)

This release contains only changes that no one should notice:

Compatibility changes for recent versions of Thunderbird.

Upgrade to the current version of SugarJS.

Release 6.3.5 (February 24, 2018)

BUGFIX: If a user set the hidden extension extensions.sendlater3.first_day_of_of_week to change how calendars display in date-pickers in Send Later, then the dates weren’t lined up properly under the day headers in the calendars. This has been fixed.

Release 6.3.4 (February 12, 2018)

BUG FIX: Fully remove Send Later headers that are wrapped by IMAP servers

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.

Release 6.3.3 (December 26, 2017)

Changes since 6.3.2:

Fix preferences button in add-ons manager in Thunderbird 59+.

Release 6.3.2 (December 14, 2017)

Changes for compatibility with the newest Thunderbird and SeaMonkey versions.

Release 6.3.1 (September 26, 2017)

Changes since release 6.3:

Update the Dutch, Galician, Japanese, Portuguese from Portugal, Brazilian Portuguese, and Turkish translations. Thank you to my translators!

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+.

Release 6.3 (August 20, 2017)

Changes since release 6.2.1:

COMPATIBILITY: Postbox is no longer supported

Unfortunately, Postbox does not support the newer JavaScript constructs I’ve had to start using to maintain compatibility with upcoming Thunderbird and SeaMonkey releases. Therefore, I can’t continue to support Postbox in new Send Later releases until the maintainers of Postbox upgrade their JavaScript interpreter. In the meantime, Postbox users can continue to use version 6.2.1 of Send Later, the final release which is compatible with Postbox.

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

Several old, obsolete JavaScript constructs and interfaces used by Send Later are being desupported in impending Thunderbird and SeaMonkey releases. I’ve therefore had to update Send Later’s code to use newer, supported constructs and interfaces. These are not compatible with Thunderbird releases prior to 20 or SeaMonkey releases prior to 2.17, so those older releases can no longer be supported.

Release 6.2.1 (June 29, 2017)

Changes since release 6.2:

Add a new preference controlling whether scheduled drafts are marked as read in the drafts folder or remain marked unread. This preference is enabled by default, i.e., drafts are marked read by default, because I believe this is the behavior the majority of users want.

Translation updates, including part of a new Czech translation.

Release 6.2 (June 15, 2017)

Changes since release 6.1.3:

New feature: Automatically cancelling recurring messages upon reply

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.

Bug fixes:

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.

Release 6.1.3 (May 24, 2017)

Changes since release 6.1.2:

New Russian translation.

Minor updates to some other translations.

Release 6.1.2 (March 1, 2017)

Changes since release 6.1:

Guard against a corrupted Outbox causing messages to be resent

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.

Translation updates.

Update the URL of the user guide because it’s got SSL (https) now.

Release 6.1 (August 20, 2016)

Changes since release 6.0.3:

Enhancements to day/time restrictions and scheduling functions

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.

Other enhancements

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.

Bug fixes

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.

Non-functional changes

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.

Release 6.0.3 (August 6, 2016)

Changes since release 6.0.2:

BUG: Scheduling messages with monthly recurrence was broken and 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.

Release 6.0.2 (July 7, 2016)

This release of Send Later includes several exciting new features!

Dynamic scheduling function support

Send Later 6.0 includes a totally new dynamic scheduling function editor and makes dynamic scheduling functions fully accessible through the Send Later dialog and shortcut buttons. This means that you can easily write JavaScript function to implement arbitrarily complex message scheduling logic (for example, the most common request I get: “Can I click a button to make the message send during business hours, rather than in the middle of the night when I’m composing it?”).

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.

SpamFighter compatibility

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$).

Bug fixes

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.

Release 5.2.1 (June 16, 2016)

Summary: 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. Please read on for the details surrounding this change.

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.

Additional information about this release.

This release includes a few translation updates. Thanks, as always, to my translators!

Release 5.2 (June 15, 2016)

Release 5.2 has been withdrawn from addons.mozilla.org and is no longer available there, due to a bug described above in the release notes for 5.2.1.

Changes since release 5.1:

This release adds a preference which, if enabled, causes both the “Send Now” and “Put in Outbox” buttons to always be displayed in the Send Later dialog, rather than displaying one or the other based on how the dialog was opened.

The only-display-one-or-the-other functionality was added in Send Later release 5.1 in an effort to minimize the incidents of people using these buttons incorrectly. However, since the 5.1 release, I’ve heard from a number of people whose workflows depended on both buttons being present all the time. I had not anticipated these workflows when making the change. Since they are reasonable workflows, I am adding this preference to enable them.

Release 5.1 (June 13, 2016)

Changes since release 5.0.1:

Send Later is now fully compatible with Enigmail! Many thanks to Patrick Brunschwig from the Enigmail development team for working with me to make this possible.

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.

Release 5.0.1 (June 6, 2016)

Fixed a couple of bugs in the time-of-day restriction functionality introduced in release 5.0.

Release 5.0 (May 31, 2016)

Changes since release 4.4.5:

There are some exciting changes in this release of Send Later!

New features:

      • 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.

Bug fixes:

      • 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.

Release 4.4.5 (April 11, 2016)

Changes since release 4.4.4:

Disable scheduling messages when Enigmail is active

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.

Release 4.4.4 (August 26, 2015)

Changes since release 4.4.3:

Bug: Fix Send Later column after using quick filter

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.

Release 4.4.3 (July 18, 2015)

Changes since 4.4.1:

Bug fix: If the user runs Thunderbird when the system clock is incorrectly set in the future, and then subsequently the system clock is fixed, Send Later would stop delivering scheduled messages.

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.

Release 4.4.1 (March 19, 2015)

Compatibility change for Thunderbird 37+.

Release 4.4 (January 22, 2015)

Changes since release 4.3.1:

All the shortcut keys in the Send Later prompt window mentioned in the user guide now work in Mac OS, using the Mac OS command key as for other standard Mac OS shortcut keys.

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.

Release 4.3.1 (December 9, 2014)

Changes since release 4.3:

Fix the accelerator keys for the shortcut buttons, i.e., you can now type Alt-1, Alt-2, or Alt-3 in the Send Later dialog to activate the first, second, or third shortcut button. This has been broken for over two years, but no one reported the problem until recently!

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. 😉

Release 4.3 (November 21, 2014)

Changes since release 4.2.4:

      • 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.

Changes since release 4.2:

      • 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.

Release 4.2.4 (June 10, 2014)

Remove the “X-Enigmail-Draft-Status” header before sending a scheduled message.

French and Dutch translation updates. Thanks, as always, to my translators!

Release 4.2.3 (April 10, 2014)

Add a workaround for a Thunderbird / Postbox bug which occasionally causes Send Later to send messages multiple times.

Release 4.2.2 (September 28, 2013)

Changes since release 4.2.1: Fix compatibility with Thunderbird 17. Sorry about that!

Release 4.2.1 (September 21, 2013)

Changes since release 4.2.0:

      • Compatibility with Thunderbird 26+, SeaMonkey 2.23+.
      • Dutch and Finnish translation updates (thank you to my translators!). NOTE: I need a new translator for Traditional Chinese (zh-TW). If you’re interested in helping out, please let me know (email jik+sendlater3@kamens.us)! Thanks!
      • Fix home page URL.

Release 4.2.0 (July 1, 2013)

Changes since 4.1.7:

When the user clicks on the “Put in Outbox” button, a warning now pops up explaining what that button does and why the user might actually want to click on the “Send around” button instead. There is a check-box in this pop-up to prevent it from being displayed in the future. The purpose of this new warning is to help alleviate the confusion from which some users suffer about which button to click to schedule a message.

New Armenian translation. Thanks to HrantOhanyan from BabelZilla!

Release 4.1.7 (March 13, 2013)

Changes since 4.1.6:

      • Traditional Chinese (zh-TW) translation from Mike. Thanks to Mike and all my other translators!
      • Updated date-parsing code (version 1.3.8 of SugarJS), including some improvements to French date parsing.
      • Postbox compatibility updates; Send Later now requires Postbox 3.0.6 or newer.
      • Update compatibility range for SeaMonkey and Thunderbird.

Release 4.1.6 (January 2, 2013)

Changes since 4.1.5: Compatibility with Thunderbird 20+.

Release 4.1.5 (December 3, 2012)

Changes since 4.1.4: Hebrew translation from Shai65 at BabelZilla. Thanks, Shai! Note: Hebrew date-parsing doesn’t work yet, so all you Hebrew users will still need to type your dates in English. New version of SugarJS with updates to date-parsing.

Release 4.1.4 (November 1, 2012)

Important notes about this release:

      • If you use recurring messages, check to see if any of them have disappeared from your Drafts folder, and if so, put them back by copying them from Sent Items and rescheduling them!
      • If you had Send Later in your compose window toolbar prior to this release, you may need to add it back. The toolbar customization mechanism was recently changed. It’s better now, but it’s incompatible with the old mechanism. See above for details.

Bug fix: Fix the Dutch, Finnish and Swedish translations to reflect the fact that the check interval preference is now minutes rather than milliseconds. I’m not sure how updating these particular translations got overlooked when this functionality change was made. Sorry! Enhancement: When Thunderbird encounters an error sending unsent messages (i.e., delivering messages from the Outbox after Send Later has put them there), log the error in the error console, to assist in debugging what is causing it (which, to be clear, is a Thunderbird problem, not a Send Later problem). Enhancement: Update the Swedish translation. Enhancement: Update the URL of the user guide in error messages (the old URL works but is deprecated). Also, add the user guide URL to a Finnish error message that was missing it. Non-functional: In the source code for the add-on, comment out a function that is only used during testing so that the add-on validator on addons.mozilla.org doesn’t complain about it.

Release 4.1.3 (October 19, 2012)

Changes since 4.1.2: Bug fix: A bug was introduced in version 4.1.2 which caused recurring messages to fail to be rescheduled after being sent. Enhancement: Add access keys for the “Put in Outbox” button in the prompt window. You can now type Alt-O (or the equivalent in other languages) to activate the button. Bug fix: Dynamic recurrence functions should be able to return Date objects, not just numbers of minutes.

Release 4.1.2 (October 13, 2012)

NOTE: If you had Send Later in your compose window toolbar prior to this release, you may need to add it back. The toolbar customization mechanism was recently changed. It’s better now, but it’s incompatible with the old mechanism. See above for details. Changes since release 4.0.6: Fix bug introduced in version 4.0.7: Don’t send scheduled messages twice! Bug fix: The scheduled send time was not being calculated properly when it was entered using the date and time pickers, and the keyboard rather than the mouse was used to change their values. Enhancement: Dynamic shortcuts can now implement recurrence! See above. Enhancement: Make explanatory text appear inside the text box in the “Customize Toolbar” window so that it’s clearer that the text box is for Send Later. Bug fix: In rare cases Send Later was failing to notice scheduled drafts. Bug fix: Various date parsing improvements from Andrew Plummer, the author of SugarJS, the date parsing library used by Send Later. Bug fix: Don’t cause “Error Copying Message to Drafts Folder” when hitting Ctrl-Enter in the text box in the pop-up window, or when clicking on the shortcut buttons in the toolbar. Bug fix: Do not allow Enter or Ctrl-Enter to work when valid time has not been entered. Enhancement: Dynamic shortcut buttons can now return a Date object rather than the number of minutes into the future. Bug fix (internal, no change in functionality): Use closures instead of script fragments for event listeners, as suggested by AMO editors. See https://developer.mozilla.org/en/XUL_School/DOM_Building_and_HTML_Insertion#listeners.

Release 4.1.1 (October 13, 2012)

Release 4.1.1 was withdrawn before it was fully released due to a bug discovered during beta testing.

Release 4.1.0 (October 10, 2012)

Release 4.1.0 was withdrawn before it was fully released due to a bug discovered during beta testing.

Release 4.0.9 (October 9, 2012)

Release 4.0.9 was withdrawn before it was fully released due to a bug discovered during beta testing.

Release 4.0.8 (October 9, 2012)

Release 4.0.8 was withdrawn before it was fully released because it did not contain the fix to the double-send bug discovered in release 4.0.7.

Release 4.0.7 (October 5, 2012)

Release 4.0.7 was withdrawn because of a serious bug — scheduled messages were being sent twice.

Release 4.0.6 (September 26, 2012)

Changes since release 4.0.4: Enhancement: Change the add-on’s name from “Send Later 3” to “Send Later”, translated for every supported language. The add-on was previously named “Send Later 3” because there was an old “Send Later” add-on with similar functionality for old Thunderbird versions, but that add-on has not been maintained for years and is no longer even available on addons.mozilla.org, so it is time to take its place. Enhancement: Add back the ability to choose the date and time using the mouse using date and time pickers, instead of or in addition to use free-form text input. Enhancement: Each of the add-on’s compose window toolbar items can now be added and positioned separately, giving the user complete control over the items appearing in the toolbar. Furthermore, the user can choose whether to put free-form text input, date/time pickers, or both in the toolbar. Enhancement: Since the shortcut buttons are now added or removed by customizing the compose window toolbar directly, there are no longer checkboxes in the add-on’s preferences controlling whether the buttons appear in the toolbar. Enhancement: Change the “SENDLATER3” status tag at the bottom of the main Thunderbird window to match the add-on’s name in every language. Enhancement: Add a Chinese description to the install manifest, so that the description that shows up in Tools | Add-ons for Chinese users will be in their native language. Bug fix: The Send Later button in the pop-up prompt window is now activated, as it should be, when the window first comes up when re-scheduling a previously scheduled draft. Bug fix: Prepopulating the scheduled send time when editing a previously scheduled message was not working in some circumstances. Bug fix: The schedule button in the toolbar was not always being updated properly with the scheduled send time. Enhancement: Improvements to Dutch date parsing. Bug fix: If user has OS configured with custom date format, then sometimes the prepopulated scheduled send time inserted when editing a previously scheduled message is not understood by Send Later 3! Bug fix: Add missing space after typo in error message.

Release 4.0.5 (September 25, 2012)

Release 4.0.5 was replaced by release 4.0.6.

Release 4.0.4 (September 19, 2012)

Enhancement: Add Dutch date parsing. Bug fix: Some users have been seeing “Drafts folder may be corrupt” errors repeatedly, even after repairing all of their Drafts folders. Bug fix: In recent (not yet released to the general public) versions of Thunderbird and SeaMonkey, displaying the release notes after updating the add-on was not working properly. Bug fix: When editing a previously scheduled recurring message, the text box and button in the toolbar are supposed to be disabled because recurring messages can only be scheduled from the pop-up dialog. However, they were not being disabled as they should have been. This is now fixed. Bug fix: In recent (probably not yet released to the general public) versions of Thuderbird and SeaMonkey, when the user edited a previously scheduled draft and then immediately tried to close the message compose window without actually making any changes to the draft, Thunderbird was asking the user whether to save the draft, even though it was unmodified and didn’t need saving.

Release 4.0.3 (September 8, 2012)

I am very excited to announce release 4.0.3 of Send Later 3! This release includes four major enhancements which have been requested by users more than any others. If you like Send Later 3, please consider contributing to support its continued development (A donation of $10 or more makes you eligible for listing, including a link, banner or button if you’d like, on the supporters list!) or writing a review (even if you’ve written one before). Thanks! You can also be very helpful with minimal effort by beta-testing new versions of the add-on. I do my best to test new versions thoroughly, but I can miss things, so the more people I have testing new versions with me, the more likely it is that they will work for everyone. I fix problems discovered by beta testers very quickly, and if you do encounter a problem, you can always revert to the previous non-beta version until I am able to fix it. So please, help make Send Later 3 better for everyone by signing up as a beta tester! See the user guide for more information if you’re interested. Thank you. Don’t forget to join the mailing list! Before describing the changes in this release, I want to give a huge shout-out to Andrew Plummer, the maintainer of the SugarJS library upon which much of the functionality in the new release depends. I also want to give a huge round of applause to my translators who have helped to make this release great. They are:

      • Dtrieb from BabelZilla (de)
      • Erwin D. Glockner (de)
      • urko from BabelZilla (es-ES)
      • Samtron-Translations (fi-FI)
      • Bigpapa from BabelZilla (fr)
      • Cesare from BabelZilla (it-IT)
      • Amigomr from BabelZilla (ja-JP)
      • markh from BabelZilla (nl)
      • Maciej Kobuszewski (pl)
      • Mikael Hiort af Ornäs (sv-SE)
      • Wang.H.K from BabelZilla (zh-CN)

Free-form date/time entry

The date and time for scheduling a message are no longer entered using clunky drop-downs. Instead, you just type in the date and time you want, and Send Later 3 parses what you typed and figures out what you meant. Date parsing is currently supported in the following languages: English, French, German, Italian, Spanish, Portuguese, Swedish, Russian, Polish, Japanese, Korean, Simplified Chinese, and Traditional Chinese (contact me about adding support for additional languages). The add-on first attempts to parse dates using the language indicated by your locale, and if that fails, it falls back on English. Date parsing understands all sorts of interesting syntaxes in addition to conventional date/time entry. For example, “the day after tomorrow”, “next Thursday at 15:00”, “the beginning of next week”, etc. Date parsing in Send Later 3 is provided by the most excellent SugarJS library, created and maintained by Andrew Plummer. Because such interesting date syntaxes can be ambiguous, Send Later 3 tells you what it thinks you meant by parsing your text in real-time and showing in the send button when the message will be sent. This new functionality also makes it easier to schedule multiple messages at the same time, something which has been frequently requested. Rather than being forced to painstakingly selected the same values in the drop-downs over and over, you can simply copy the desired date/time into your clipboard and paste it into the date/time entry field of each message. Add the field to your toolbar to make it even faster!

Enhanced recurring messages

When scheduling a recurring message, you can now indicate a count in addition to a unit. In other words, whereas before you could specify only daily, weekly, monthly or yearly, now you can specify every 3 days, every 5 weeks, etc. Furthermore, you can schedule monthly messages on the same week and day of every month, e.g., “the third Tuesday of the month.”

SeaMonkey support

Send Later 3 now supports SeaMonkey!

Support for the Mail Merge add-on

Starting with its version 3.4.0, the Mail Merge add-on supports Send Later 3! Instructions for using Mail Merge with Send Later 3 can be found here. (Note: Just to be clear, support for Send Later 3 in Mail Merge required changes to Mail Merge, not changes in Send Later 3. I’m not trying to take credit for the most excellent work of the author of the Mail merge add-on; I’m just letting people know that you can now use Mail Merge with Send Later 3.)

Other changes

In addition to the major enhancements described above, there are also a number of other changes in this release:

      • There is a bug in Thunderbird 15 that breaks Send Later 3. This release includes a workaround for the bug.
      • The “Send Later” column now displays properly in the unified Drafts folder.
      • The color changes to the Send Later 3 pop-up window, which a number of people described as “garish” and did not care for, have been removed. These are no longer necessary now that the UI has been simplified and made clearer in other ways.
      • The preference for controlling how often to check for messages whose scheduled send time has arrived has been changed from milliseconds to minutes, which makes a heck of a lot more sense.
      • The pop-up window that requests donations for Send Later 3 has been changed so that it no longer has the potential to cause Thunderbird to hang on some platforms. This hang is due to a Thunderbird bug, not a bug in Send Later 3, but since the Thunderbird bug has not yet been fixed, it is important to work around it in the add-on.
      • A bug which was causing recurring messages to be marked unread in the Drafts folder has been fixed.
      • A workaround has been introduced in the code which should reduce the frequency of Send Later 3 complaining about a corrupt Drafts folder, specially when using POP3 or local folders.
      • Send Later 3 now replaces the message ID in outgoing messages so that it does not inadvertently send multiple, different messages with the same message ID (relevant for both recurring messages and messages scheduled from templates).

Release 3.3.10 (May 28, 2012)

There are no functional changes in this release. See below for functional changes in previous releases. The only purpose of this particular release is to get the word out about this: THIS IS THE LAST VERSION OF THE ADD-ON WHICH WILL SUPPORT THUNDERBIRD 7 AND OLDER AND POSTBOX 2. The next version to be released after this one will include significant new functionality which cannot be implemented within Thunderbird 2 or Postbox 2. Users who do not wish to upgrade to a newer version of Thunderbird or Postbox may continue to use this version as-is, but there will be no further bug-fix or feature releases compatible with Thunderbird 2 or Postbox 2.

Release 3.3.9 (May 25, 2012)

Changes since 3.3.8:

      • Fix sorting of Drafts folders by the Send later column.
      • Another attempt to fix display of drop-down menus in compose toolbar on Thunderbird 2 on non-Linux platforms. I’m can’t be certain the fix in version 3.3.8 was correct, because I can’t reproduce the issue and haven’t gotten feedback from anyone in the field one way or the other, but this new version of the fix should be more robust.

Release 3.3.8 (May 10, 2012)

Changes since 3.3.7:

      • Change the label on the “Passthrough to Send Later” button to “Put in Outbox” and change its tooltip to be clearer as well. This is an attempt to fix the most common usage error people experience with this add-on, which is clicking this button when they should be clicking “Send Later at time(s) specified above”. Thank you very much to the Send Later 3 translators who assisted with this change!
      • Change the font sizes and colors in the Send Later 3 dialog to make the primary functionality group clearer and attract the eye better, primarily to help people avoid clicking the “Put in Outbox” button when they should be clicking “Send Later at time(s) specified above”.
      • Fix the display of the drop-down menus in the compose toolbar on Thunderbird 2 on platforms other than Linux.
      • Add a missing tooltip for the Send Later button in the compose toolbar on Thunderbird 2.
      • When displaying the release notes, scroll directly to the release notes for the version of the add-on that the user has installed.
      • When asking the user to make a donation, make the request before sending the message rather than afterward, because otherwise on some platforms, e.g., Mac OS X, the donation request window disappears when the compose window is dismissed.
      • New Simplified Chinese translation from yfdyh000 at BabelZilla.
      • The French and Dutch translations have been updated slightly as well as moved to a different location within the innards of the add-on. If you use one of these translations, you might notice that some of the strings have changed, but otherwise they should continue to work just fine. If they don’t, please let me know.Compatible up to Thunderbird 15.0a1.
      • (non-functional change) Remove unnecessary, empty translation string “separator.label”.
      • (non-functional change) Hard-code emacs coding-system into ambiguous files to avoid inadvertently saving them with the wrong coding system.

Release 3.3.7 (March 27, 2012)

Changes since 3.3.5:

      • In the error pop-up that appears when there is a corrupt Drafts folder that the add-on is unable to read, display a link to the section of the user guide which explains in detail what to do about this problem.
      • Restructure how the add-on’s code is loaded to fix negative interactions with other add-ons. Specifically, this add-on was previously preventing the icons for the Enigmail and Dictionary Switcher add-ons from appearing at the bottom of message compose windows.
      • Fix a bug introduced in version 3.3.6 when I updated the internal identifiers used in various components of the add-on as requested by the addons.mozilla.org editors. This bug was causing the scheduling pop-up to sometimes fail to schedule messages properly, as well as causing the scheduled send time to sometimes fail to display for scheduled messages.
      • Fix a couple of coding errors introduced in 3.3.6 when the add-on’s code was restructured to fix negative interactions with other add-ons. These coding errors don’t affect recent versions of Thunderbird but do affect Thunderbird 2 and perhaps some intervening versions as well.
      • Add a new hidden preference, extensions.sendlater3.send_while_offline. This preference is currently set to true by default. It can be changed using the advanced configuration editor.When this preference is true and the scheduled delivery time of a message arrives while Thunderbird is in offline mode, the message is moved into the Outbox and timestamped as of that time. When it is eventually delivered after you go online, the Date in the sent message will therefore correspond to its scheduled send time. As already noted, this is the default behavior and consistent with previous versions of the add-on.On the other hand, when this preference is false, messages whose scheduled delivery times have passed will not be moved into Outbox and timestamped until you go back online, which means the Date in the sent message will be when you went back online, not when the message was scheduled to be sent.I am interested in hearing from users which of these two behaviors you think is more correct, so that I can determine which should be the default and whether the setting should be visible in the preferences dialog. Please email me (jik+sendlater3@kamens.us) and let me know what you think.
      • Add a Finnish translation. Than you to Samtron-Translations!
      • Add the Japanese translation to the install manifest so the add-on’s description is displayed in Japanese (for Japanese users) in the add-on manager.
      • Fix broken donation links. Addons.mozilla.org’s layout changed, and the old links stopped working.
      • Compatible up to Thunderbird 14.0a1.
      • Add some debugging code to help me figure out why one user is seeing the scheduling pop-up when he clicks the “Send” button when he shouldn’t be.
      • (non-functional change) Remove the inclusion of a JavaScript script that the add-on wasn’t actually using, to prevent the unnecessary creation of extra global symbols. Change requested by the addons.mozilla.org editors.
      • (non-functional change) Change the identifiers used within the code for various components of the add-on, to reduce the likelihood of namespace conflicts with other add-ons. Change requested by the addons.mozilla.org editors.

Release 3.3.6 (March 20, 2012)

Version 3.3.6 was removed after release because of a serious bug in it. Its release notes have been merged into the release notes for version 3.3.7, above.

Release 3.3.5 (February 29, 2012)

Changes since version 3.3.4:

      • The “Send Later” button that shows up when you compose a message while working offline should pop up the Send Later 3 dialog.
      • Fix a slow memory leak caused by a typographical error in a module uninitialization function.

Release 3.3.4 (February 15, 2012)

Changes since 3.3.3:

      • Make sorting by the “Send Later” column in Drafts folders work properly.
      • Add error checking for a rarely encountered error when one of the user’s Drafts folders is corrupt.
      • Remove the version number of the add-on from the message that displays at the bottom of the screen briefly when Thunderbird starts up. It doesn’t serve any useful purpose there and was forcing me to update two different files in the add-on every time I released a new version.
      • Translation updates. Thanks as always to my translators!
      • Compatible up to Thunderbird 13.0a1.

Release 3.3.3 (January 18, 2012)

Changes since version 3.3.2:

      • Add an accelerator key for the Send Now button in the pop-up dialog.
      • Add a preference to allow the Send Later pop-up to be bound to Alt-Shift-Enter instead of Ctrl-Shift-Enter, preserving the default behavior for Ctrl-Shift-Enter.
      • Compatible up to Thunderbird 12.0a1.

Release 3.3.2 (November 16, 2011)

Changes since version 3.3.1:

      • Support Postbox 3.
      • Fix bug: If you edited a previously scheduled draft, and then later composed a new message, it was possible for the default scheduled delivery time in the compose window to be initialized to the scheduled time for the previously edited draft, rather than to the current time.
      • Fix bug: The add-on is supposed to remove the scheduled send time from any draft you edit, when you start editing it, to avoid it accidentally being sent out while you were editing it. This functionality was not working properly for drafts that were followups or replies.
      • Fix release notes display to account for recent changes to Thunderbird internals.
      • Compatible up to Thunderbird 11.0a1.
      • Change some internal identifiers (not user-visible) to confirm to new coding standards for addons.mozilla.org.

Release 3.3.1 (October 25, 2011)

      • Compatible up to Thunderbird 10.0a1.
      • Fix a bug (I hope) which could cause recurring messages to be sent from the wrong identity and/or saved in the wrong Sent folder.
      • Add tooltip text to the Send Later button in the compose pane toolbar, so that if the user displays only icons in the toolbar, there’ll be a hint about what the button does if the user hovers over it. This change was suggested by “Bigpapa”.
      • Italian translation from “Cesare”.
      • Japanese translation from Ryo Matsui.
      • French translation updates from “Bigpapa”, who is now assisting with the French translation.
      • Minor updates to some other translations.
      • Change some debug logging messages to be more useful.

Release 3.3 (July 18, 2011)

Changes since release 3.2.9:

      • Scanning Drafts folders for scheduled messages is now several orders of magnitude faster and uses very little network traffic. You can now safely use Send Later 3 with Drafts folders with hundreds or even thousands of messages in them.
      • Messages are no longer spell-checked multiple times when “‘Send’ does ‘Send Later'” is enabled.
      • The scheduled send time of a draft is now canceled when you start editing it, and a warning pop-up informs you of this. This is to prevent the draft from being sent out from under you while you are in the process of editing it. If you don’t want to see the pop-up every time you edit a scheduled draft, you can set the preference extensions.sendlater3.show_edit_alert to false in Thunderbird’s advanced config editor.
      • The layout and button labels of the prompt window have been adjusted slightly to make them clearer. Thanks to Jasir Alavi for the great UI improvement suggestions.
      • The add-on no longer attempts to deliver messages from your Outbox to the mail server when “Work Offline” is enabled in Thunderbird. Before this fix, if the scheduled send time of a message arrived when “Work Offline” was enabled, Send Later 3 would attempt to deliver it and Thunderbird would get confused.
      • New translated strings to go with the new functionality. Thanks as always to my translators!

Release 3.2.9 (June 19, 2011)

Changes since 3.2.7:

      • Compatible with Thunderbird 5.
      • Swedish translation from Mikael Hiort af Ornäs. Thanks, Mikael!
      • Fix a bug first introduced in version 3.2.6: The drop-down values in the compose toolbar are supposed to be updated to the current time whenever a new draft is opened and are supposed to track the current time until / unless they are modified by the user. This has been broken since 3.2.6 but is now fixed.
      • Do a better job of handling the unusual case of the default drafts folder being something other than Drafts within Local Folders.

Release 3.2.8 (June 15, 2011)

Release 3.2.8 was pulled shortly after release due to a regression which is fixed in release 3.2.9.

Release 3.2.7 (March 30, 2011)

      • Add “‘Send’ does ‘Send Later’” functionality.
      • Prompt the user periodically to ask if s/he wants to make a donation to support further development of the add-on. Allow these prompts to be stopped by clicking the “Stop asking” button.
      • Fix the bug which was sometimes preventing the “Send Later” column from being displayed in the Drafts folder.
      • Add links to the preferences page for emailing the author, viewing the user manual, or making a donation. (Note: In Thunderbird 2, the donation link is not available, and the user manual link is text rather than a clickable link)
      • In Thunderbird 3, display release notes when the add-on is updated.
      • Update a number of foreign-language translation strings that were previously defaulting to English.

If you like the new features in this release, please consider making a donation.

Release 3.2.6 (January 28, 2011)

      • Support recurring scheduled messages!
      • Temporarily disable delivery of scheduled messages if a serious error occurs, and tell the user where to go on the Web to get help resolving the problem.
      • Change the translations so that when the name of the add-on is referred to, it’s always referred to as “Send Later 3” in English.
      • Some translation updates.

Release 3.2.5 (January 17, 2011)

      • Support Thunderbird 2.
      • Support Postbox 2.
      • When scheduling a reply or forward, mark the original message replied or forwarded.
      • Allow Send Later 3 to removed completely from the Status Bar by unsetting a new preference (which defaults to being set).
      • Display an alert if an error is encountered when attempting to deliver messages. this is usually caused by a corrupt Outbox folder, so point the user at the instructions above for fixing the corrupt folder.

Release 3.2.4 (January 13, 2011)

      • Polish translation from Maciej Kobuszewski.
      • Fix a couple of typos in the French translation.
      • Attempt to work around a problem with Thunderbird’s core “updateFolder” function sometimes throwing an error and causing Send Later 3 to fail to detect a scheduled draft. The workaround is to ignore the error rather than letting it abort the Send Later 3 code, since there’s nothing we can do about the error anyway.

Release 3.2.3 (November 25, 2010)

      • Change the progress meter from a “spinning” meter which moves constantly while the add-on is working, into an actual progress meter which advances to 100% as the add-on finishes its work. This provides more information to the user than before and also reduces the amount of CPU consumed by the add-on.
      • When a scheduled message is saved into a Drafts folder which is not being checked periodically by the add-on because its “Check for new messages every…” checkbox is disabled, force a single check of the Drafts folder to ensure that the add-on knows about the newly scheduled message.
      • When popping up the scheduling dialog in a compose window, make focus start on the “hours” drop-down rather than the “Cancel” button so it is easier to schedule a message entirely with the keyboard, i.e., without using the mouse.
      • Make Ctrl-Enter anywhere in the compose window pop-up equivalent to clicking the “Send Later at specified time” button so it is easier to schedule a message entirely with the keyboard.
      • Work around a bug in Thunderbird which prevents the Send Later 3 drop-downs in the compose window toolbar from being updated when they are first added to the toolbar.

Release 3.2.1 (October 27, 2010)

      • Bug fix: Strip the “X-Send-Later-Uuid” header from the header of scheduled messages before sending them.
      • Send Later 3 no longer attempts to periodically contact IMAP servers whose “Check for new message every … minutes” checkboxes are unchecked in their Server Settings. This means that you can now have a configured IMAP account which is currently inaccessible without Send Later 3 causing “Connection to server … timed out” messages or the like to pop up every minute.
      • A new setting has been added to the preferences dialog to allow the date & time dropdowns and “Send Later” button to be omitted from the compose window toolbar, thus leaving only the preset buttons in the toolbar.
      • Bug fix: Allow the three preset buttons’ display in the compose window toolbar to be configured independently (previously, the toolbar display setting for the first button controlled all three of them).
      • Bug fix: Work around a Thunderbird bug so that when Send Later 3 is being used in one of its translated, non-English locales, the name of the add-on will still show up correctly in the add-ons list.
      • Improve the performance of dynamic preset buttons.

Release 3.2 (September 16, 2010)

    • Drafts saved with Send Later 3 are now “locked” to a particular Thunderbird profile. This means that a draft will only be delivered (at the scheduled time) by a Thunderbird running against the profile from which it was originally written. Therefore, you can now run Send Later 3 in Thunderbirds which talk to the same accounts from multiple computers without worrying about them conflicting with each other.
    • Fix a big memory leak by fixing a bug which was causing many superfluous entries to be inserted into some of the drop-down menus in the compose toolbar.
    • Fix a significant bug: When the user was using an IMAP Drafts folder and had configured the account so that deleted messages were marked deleted rather than moved to a different folder, scheduled messages were getting sent repeatedly.
    • Fix a bug discovered and reported by Fabian Möller: the delivery time of a message might have been scheduled incorrectly (wrong month) when the user attempted to schedule a message during some months on the 29th, 30th, or 31st of the month.
    • Mark compatible with Thunderbird 3.0, since there have been multiple reports from users who have tried it that it works fine.
    • Add translations:
      • Spanish from Milcom.es
      • German from Suzanne Iseli and Daniel S.
      • French from Didier Journois
    • Add translations for the add-on description which appears in the extensions manager.
    • Claim compatibility with 3.2a1pre and 3.3a1pre until proven otherwise.
    • Add a new hidden preference (i.e., you can get to it from the advanced config editor, but not from the Send Later 3 preferences window), “extensions.sendlater3.senddrafts”, which will cause Send Later 3 not to actually send any scheduled drafts if it is set to false. This is useful, e.g., if you want to use Send Later 3 for scheduling drafts but use some other tool for actually sending them.
Print Friendly, PDF & Email

430 thoughts on “OBSOLETE: Send Later Thunderbird Add-on

  1. Frank

    Thanks for this program! I really need the ability to schedule messages to be sent when Thunderbird is not running. You hint above that this is possible…??? Thanks for any info you can provide!

  2. Jackie

    This works great! Really comes in handy when I want an email to hit a client first thing in the morning. Many thanks.

  3. DynV

    Hi, thanks again for this essential plugin.

    I’ve been putting up upgrading TB7.0.1 to TB8.0 because I’m not sure if SendLater support this latest TB release. I would most appreciate it if there would be a page or some other way to find out without upgrading TB then having to revert because this plugin/add-on/extension is essential for my use of TB.

    I’ve searched this page for “8” but the closest to TB8.0 was on #comment-117666


  4. takadue

    Thank you very very much for this plugin !
    I always use the SendLater. Has been very useful.
    Good addon Thanks !

  5. Evald

    Hello Jik,

    first of all thank you for this nice and useful addon. Currently i’m using v3.3.1 with thunderbird 8.0.
    There is a bug on the GUI of this addon. See a screenshot here http://img507.imageshack.us/img507/8126/161120111708.png
    Basically i cant see the hour,minutes,year and also the month combobox is truncated.

    Could you please fix that?

    Thank you.

    1. jik Post author

      Hi Evald,

      Thanks for your comment. You’re the second person to report this particular issue to me. Unfortunately, I’ve been unable to reproduce it. Can you tell me what operating system (e.g., Windows, Mac OS, Linux) you are using, and what version of the operating system?


      Jonathan Kamens

      1. Evald

        Hi Jonathan,

        i’m using windows 7 professional SP1 with windows classic theme.
        Also my thunderbird 8.0 is using the default theme. If you need more info i’m available.

        Thank’s for the support.

      2. Evald

        some more info:
        As i remember the addon worked perfectly until version 6.0 of thunderbird. Upgrading to 7.0 and then to 8.0 i noticed the bug.

          1. Evald

            I see that you have been to reproduce it.
            Let’s hope somebody nows the cause of this issue and find the solution.
            Thank’s again Jonathan.

          2. jik Post author

            No, I still can’t reproduce it myself. My bug report is based on you and one other user who reported the same problem to me.

  6. jbd

    Hi Jonathan,

    thank you so much for your addon. Can you please update it, that it can used with Postbox 3.

    Thanks again.

    1. jik Post author

      Just uploaded new beta version to addons.mozilla.org with Postbox 3 support.

  7. S Rosenberg

    SendLater is very nice and helpful. Much appreciated.

    Two points regarding the “check every” entry parameter.

    1) Having a human specify it in milli-seconds is ridiculous.
    Has anyone every wanted to send an email at 217 milli-seconds past 10:13AM ?

    typing the extra zeros is very error prone
    quick, ask others, is 60000 or 600000 the correct figure?

    at the least, bump the check every to units of seconds that humans use.
    check every in minutes is likely what most people want and need

    2) Check every description uses “higher value”
    it should read

    controls how often the add-on checks for messages whose delivery time has arrived. The default, 60,000 milliseconds, i.e., once per minute, is adequate for most people. In rare cases, you may need to use a higher value if your drafts are sometimes sent late or not at all.

    1. S Rosenberg

      …. continuing prior message
      2) Check every description uses
      “higher value”
      it should read
      “lower value (more frequent checking)”

      Should also mention that at the freuqncy that SendLater runs, your PC will become busy for a few moments while it checks the drafts folder and does its processing

      overall, thank you for a very useful tool!

      1. jik Post author

        1) Having a human specify it in milli-seconds is ridiculous.

        Agreed, already on my list of things to fixed. Inherited that from the previous maintainer and just haven’t gotten around to changing it because there have been more important fixes and enhancements to make.

        2) Check every description uses
        “higher value”
        it should read
        “lower value (more frequent checking)”

        Agreed, fixed. Thanks for catching that!

        Should also mention that at the frequency that SendLater runs, your PC will become busy for a few moments while it checks the drafts folder and does its processing

        What version of the add-on are you using? The most recent version has been greatly optimized and the periodic checking should use few resources and finish quite quickly. Even if it does spike the CPU for a second or two while it’s running, I really don’t think that’s worth mentioning explicitly in the documentation; every application uses CPU while it’s working, by definition, and I don’t think the Send Later 3 usage is excessive. At least, it isn’t in my experience; do you see something different?

  8. ep

    Hi man,

    Nice and useful add-on. All my thanks.

    I have an issue with the “show send later column in folders”.
    I selected this option, but the column doesn’t show up. I tried and added it by myself: it is added, but is empty (it shouldn’t be an imap problem as mentioned in the guide, because when I set to view full headers I see the x-send-later info there). What’s more, when I switch to another folder and then come back to draft, the added “send later” column has disappeared.

    Am I doing anything wrong? Can you help me on this please?
    (Win XP SP3; Send Later 3 3.3; Thunderbird 7.0.1)

    Thanks and bye,

    1. ep

      Sounds like the add-on doesn’t think it’s a Drafts folder. Is it the Drafts folder associated with one of your email accounts? Does it have the special Drafts folder icon in the folder list?



      Indeed you are right. I deleted the draft folder and let it create it again, and everything works just fine. I probably messed it up, no idea how.
      Thanks for the quick help.


  9. Alexander Picker

    Oh my god it`s me again.

    Folgendes Problem:

    Wenn die Emails aus dem Entwurfordner versendet werden und im Posteingang landen und ich diese dann nach Datum sortieren möchte, so sehe ich dort nur die Zeit, an denen ich diese Email erhalten habe, jedoch nicht das genaue Datum, dadurch kommt es zu Problemen bei der Übersichtlichkeit.

    Das ist mir gerade noch aufgefallen und ich wollte Ihnen dies mitteilen.

  10. Alexander Picker

    Its me again. I hope its no problem if i describe my problem in german its easier for me.

    Immer wenn ich meinen Entwurfsordner nach einem bestimmten Suchwort durchsuche und er mir die Ergebnisse anzeigt, dann zeigt er in der Spalte “Sende Später” leider nicht mehr das Datum an, an dem die Mail verschickt wird. Wie kann ich dieses Problem lösen?

    1. jik Post author

      Yes, you’re correct that if you do a search in your Drafts folder, the search results don’t show values in the “Send Later” column. Even when you cancel the search the “Send Later” column remains empty, at least for some of the drafts, although it’ll come back if you leave and return to the folder.
      This is a bug in Send Later 3. I will put it on my to-do list. Thanks for reporting it!

  11. Alexander Picker

    Guten Tag,
    ich habe eine Frage zu Ihrem tollen Addon. Ich nutze dieses als eine Art Wiedervorlagesystem, indem ich mir wichtige Mails am entsprechenden Datum später an mich selber sende. Die Funktionen eine solche Mail jede Woche und jeden Monat zu schicken ist auch super allerdings würde ich gerne auch eine Mail an x verschiedenen selbst gewählten Terminen verschicken wollen. Eine Auswahl auf einer Art Dropdown Kalender wäre genial.

    Ist es möglich eine Mail derzeit schon zu 3 oder 4 verschiedenen bestimmten Terminen zu verschicken bzw. ist soetwas in Entwicklung?

    Vielen Dank für Ihre Antwort.

    Mit freundlichen Grüßen

    1. jik Post author

      Google Translate says:

      Good day,
      I have a question about your great addon. I use this as a kind of reminder system, by me important messages on the corresponding date later send to myself. The functions to send such a mail every week and every month is great too but I would also like to send an email to x different self-selected dates want to send. A selection on the drop of a kind calendar would be awesome.

      Is it possible to have a mail currently 3 or 4 different specified dates or to send something like this is in development?

      Thank you for your reply.


      1. jik Post author

        There is no way with Send Later 3 to schedule an individual message to be delivered on multiple arbitrary dates. I have no plans to implement such functionality. To achieve this functionality, you can simply schedule a message to be sent on the first date and then use Edit as New… to save additional drafts scheduled for other dates.

        1. Alexander Picker

          I already tried the Edit as New function but it doesnt create a new mail it only changes the date of the old version.

          1. jik Post author

            Bummer. As far as I’m concerned that’s a bug in Thunderbird. I’ve just filed a bug report about it: https://bugzilla.mozilla.org/show_bug.cgi?id=695441

            In the meantime, you can copy the draft into your Templates folder. Each time you double-click on it in the Templates folder, it’ll pop up a new draft for you to schedule, and each one you schedule should end up as a separate draft in your Drafts folder.

  12. TB_User

    Is there a way to disable the pop-up window that shows up every time you hit Send button asking to Send Now/Later or at a set interval?. I’m old school and use keyconfig extensively to use shortcuts. Just want to use the shortcut to send later and not having the pop-up show up at all. Thanks

    1. jik Post author

      I’m not sure what you’re asking. The Send button only pops up Send Later 3 dialog when you’ve enabled the “Send does Send Later” option, which isn’t enabled by default. So the way to not pop up the dialog is to simply not enable that option in the preferences.

      If that doesn’t answer your question, then please clarify.

      1. TB_User

        If I enable sendInBackground in the TB config, would it create any conflicts with your add-on?

      2. TB_User

        So, I enabled the mailnews.sendInBackground in TB and in your add-on, only enabled ‘show background progress in status bar’, ‘trigger unsent message delivery from outbox. I did no enable ‘send does send later’ as I do no want the pop-up window to show up every time I send a message, I then sent 2 test messages, hoping that the add-on will automatically send them on by one. The first one got sent, but then the add-on did nothing until I manually sent the 2nd message sitting in the outbox. Am I doing something wrong here? Thanks

        1. TB_User

          jik, just to be clear on this. All I want to do is to enable “mailnews.sendInBackground” in TB and not have to enable “send does send later” and have the add-on send mails from the Outbox regularly (just like what blunderDelay does). Thanks

          1. jik Post author

            I still don’t understand what the “‘Send’ does ‘Send Later'” option has to do with what you are trying to do. Whether or not you want to enable “‘Send’ does ‘Send Later'” has nothing to do, as far as I can tell, with what you are asking the add-on to do, i.e., sending all the messages in the Outbox periodically.

            As I note in the comment below, Send Later 3 doesn’t do that and isn’t going to do that. It’s not what the add-on is intended to do. You could install userChromeJS and then create some simple user chrome to install a timer function to periodically call Send Unsent Messages, if you want to do that, but it doesn’t belong in Send Later 3.

  13. M.E.

    First, it’s a very good add-on, great job !. I’ve gone through the user guide above and have a question here to see if you can help me out. In the past I’ve used BlunderDelay add-on and it does the job as advertised. In Thunderbird 3.x and later there is now a hidden pref mailnews.sendInBackground which when turned on, makes Send into the default Send Later function in TB. Meaning, the message goes out into the Outbox and after a few seconds TB sends it out. The problem is that this function is not complete. Meaning: If there are multiple messages queued, TB won’t attempt to automatically send other messages that are queued. User have to manually send them out. That’s where BlunderDelay comes in handy. But the downside is that BlunderDelay is no intelligent enough to know that while there may be a message being sent, wait to let it finish first.

    What I want to know, is there anyway in your Send Later 3 add-on, once sendInBackground is enabled, to simply check the outbox and send messages when there’s one sitting (not based on a set timer, say every 30 secs etc), since BlunderDelay can do it. So, I send multiple messages, they goto Outbox, Send Later 3 sends them one by one. Sends first message, waits for it to be sent completely, then kick off the next one and so on. Is is doable with your add-on?. Thanks

    1. jik Post author

      …is there anyway in your Send Later 3 add-on, once sendInBackground is enabled, to simply check the outbox and send messages when there’s one sitting (not based on a set timer, say every 30 secs etc)…

      No. That’s not the purpose of Send Later 3. Send Later 3 only triggers delivery of messages from the Outbox when it specifically has scheduled messages to send.

      How did the “multiple messages queued” situation occur? Are you saying that you sent multiple messages in quick succession with sendInBackground enabled, and only the first was delivered? If so, then that’s a bug in the core Thunderbird application, and you should file a bug about it at bugzilla.mozilla.org, if there isn’t one already. If you send multiple messages with sendInBackground, then Thunderbird should be smart enough to notice that it’s in the middle of sending the first when you send the others, and trigger delivery of those when the first one is done being delivered.

      1. M.E.

        As mentioned earlier, the sendInBackground feature in the core TB is not complete yet. Say I send a message with a large attachment, then I send another one right after that. TB will send the first one which may take a few secs depending upon the connection speed. At the same time, the 2nd message is sitting in the Outbox. Once the 1st message is sent completely, TB will not send the 2nd message sitting in the Outbox, unless you manually do a File->Send Unsent Messages. That’s what I mean by the feature being not complete.

        1. jik Post author

          Nothing that you said in the comment directly above changes anything that I wrote in the comment preceding it.

          Whether or not the Thunderbird dev team considers sendInBackground complete, if it is functioning as you describe, then that’s a bug, and if there isn’t a bug in Bugzilla about it, then you should file one.

          I’m not going to put code in Send Later 3 which has nothing directly to do with the purpose of the add-on and whose sole purpose is to work around a bug in Thunderbird.

          As I note in a comment above, if you’d like, you can easily install userChromeJS and use user chrome JavaScript to install a timer with a callback function that periodically flushes all the pending messages in the Outbox.

          1. M.E.

            Thanks for the clarification. I read the section above ‘Replacing BlunderDelay with Send Later 3’ and thought that your add-on can do the same, but apparently as your reply suggest that it cannot, which is fine. The whole idea behind the sendInBackground in TB is to achieve the same functionality that Outlook has with it’s Outbox concept.

            Unfortunately, since I’m not a programmer, would you mind helping by giving the JavaScript code that can be used with userChromeJS to install a timer with a callback function that periodically flushes all the pending messages in the Outbox ?. Thanks

          2. jik Post author

            I read the section above ‘Replacing BlunderDelay with Send Later 3′ and thought that your add-on can do the same, but apparently as your reply suggest that it cannot, which is fine.

            Send Later 3 can do the same thing as what BlunderDelay was trying to do, but did badly.

            Requiring that people remember to click Send Later instead of Send, and periodically flushing the Outbox, is not the best way to delay messages to give people a chance to recall them. The best way to do that is to delay each message by the same amount of time, and Send Later 3 can do that.

            You’re confusing BlunderDelay’s “how” with its “what”. Send Later 3 is able to replace the “what”, but it does it better than BlunderDelay’s “how”.

            The whole idea behind the sendInBackground in TB is to achieve the same functionality that Outlook has with it’s Outbox concept.

            I understand that, but sendInBackground is, as you pointed out, incomplete, so if you’re going to use it, then you’re going to run into issues.

            As an alternative, you could set one of the Send Later 3 presets to a 1-minute delay and put the button for that preset in your compose window, and send all messages using that preset, and then Send Later 3 would do the right thing and you wouldn’t have to bother with the incomplete sendInBackground implementation.

            Unfortunately, since I’m not a programmer, would you mind helping by giving the JavaScript code that can be used with userChromeJS to install a timer with a callback function that periodically flushes all the pending messages in the Outbox ?

            If I had time to do that right now I already would have. Sorry.

  14. Ingo

    Dear Jik!

    Could you please make “send later” work for seamonkey as well?

    Greetings from Germany

    1. jik Post author

      Hi Ingo,

      That’s already on my to-do list, although I can’t say when I’ll be able to find the time to do it.


      Jonathan Kamens

      1. Ingo

        Hi Jik!

        Great to hear that it is already on your to-do list. I’ll do a little donation in advance and hope you’ll find some time somewhere between you work and free time 😉

        We all profit from people like you…

        All the best!

  15. Son le

    The send later v 3.3.3 is not compat with thunderbird v6.0.1

    Please help me release a new one to fix this issue


    1. jik Post author

      The send later v 3.3.3 is not compat with thunderbird v6.0.1

      Yes, it is.

      Why do you think otherwise?

  16. adjustit

    There seems to be an error when using two computers with TB and send l8er together with an IMAP account.
    In this case it happens that messages are being send every three minutes in an endless loop.
    – Not the best way to keep ones friends by spamming them…

    1. jik Post author

      This almost certainly has nothing to do with having two computers using Send Later 3 with the same IMAP account. Please see above for the likely cause and solution. This is not a bug in Send Later 3, it’s a bug in Thunderbird.

  17. Georgios

    Great job.The only problem is that when i am sending to hotmail,windowslive accounts,it is appearing the time that i am completing the sending and not the time that i passedthrough it to send it later…

    Thank you

    1. jik Post author

      Sounds like you’re clicking the wrong button. “Pass through to Send Later” puts the message directly into your Outbox. If you’re trying to schedule for later delivery, you need to click “Send Later at specified time.”

  18. Dom


    Many thanks for this nice add-on!
    Is there a possibility to only display a “send later” button instead of the whole toolbar?
    I think I understood how the “Show Dropdowns in Toolbar” option works, but then I can only use the pre-defined short cut buttons.
    I would really love to have a kind of “2nd send button” only.


    1. jik Post author

      Hi Dom,

      Thanks for your question!

      As noted in a comment below, if you want there to be a “Send Later” button on the compose toolbar in addition to or instead of the “Send” button, you can get that by installing the MagicSLR add-on.


      1. Dom

        Thanks Jonathan! Will try that. I missed the comments, sorry.

  19. Insane User

    I just did a generic install of the Send Later extension. Restarted Thunderbird,(ver.3.1.10), I see the installed extension in the Tools/Addon’s dialog box. But no where else, including “File”. What step did I not do?

    1. jik Post author

      The functionality is accessible from the message composition window. To schedule a message to be sent later, you have to be composing it.

  20. Shtaff


    Just migrating from Windows XP to Windows 7, I couldn’t use no longer Outlook Express, and Windows Live Mail can’t just use reception box for my multiple e-mail accounts… so I migrated to Thunderbird 3, but I couldn’t find the “send later” default option I used in Outlook Express or even Windows Live Mail… so I ran to your plug-in, and it’s pretty cool, I want to have a chance to check at my e-mails before sending them.

    Since I don’t use the time delay option at all (maybe in the future ?) I checked the “Send” does “Send Later” option… but though I uncheck the other options, I always have the “send this e-mail later” box pop up… that’s why I’m asking you if there is a way to pass this pop up and directly put by default my messages in the “send later” folder (don’t really know the exact name, because I’m using a french version of Thunderbird 3).

    That’ll be great to be able to directly use the “send” button as a “send later” button, and not have to make any other choice.

    Thank you for your answer. It’s the first time I’m using Thunderbird for my private e-mails… at work, I’m using Icedove with Linux… I’m glad Thunderbird can be customized like that.

    1. jik Post author

      Hi Shtaff,

      I’m not sure, but I think you may be trying to use the Send Later 3 add-on differently from how it was intended to be used.

      The whole point of the add-on is to allow you to schedule messages for future delivery. If all you want to do is put the messages into your Outbox so that you can check them there before sending them, then you don’t need Send Later 3 for that; you should uninstall the add-on and simply use the Send Later command (File > Send Later or Ctrl-Shift-Enter) to put messages into your Outbox.

      If you want there to be a “Send Later” button on the compose toolbar in addition to or instead of the “Send” button, you can get that by installing the MagicSLR add-on.

      Please let me know if I’ve misunderstood what you’re trying to do.

      Good luck!

      1. Shtaff


        Yes you’re right about my using the “send later” option. I just didn’t want to send my messages right away, sometimes I want to check them before sending, and it happens that I click by mistake the “send” button… so I think the “MagicSLR add-on” you pointed me out is really what I’m looking for, because using the send Later command by default is not simple… I just don’t want to send any message directly.

        So thanky you very much for your help, I’ll check out the add-on you’re telling me.

        Anyway, good job for your add-on, maybe sometimes I might have a use of it.

        1. Marek


          If you’ll find something like this, please let us know here. I’m looking for an exactly same add-on, but I can’t find anything like this. In the meantime I’ll use this (almost perfect) add-on.
          I found many discussions from the people which are looking for this also. It could be great to develop this functionality into Send Later extension.


  21. Eye Doc

    Hi! Is there a way to use Send Later to send emails every 2 weeks, three months, or 6 months? We were looking to use it to send reminders to our patients. We’d love to contribute if we can get the addon to work for us! Thanks!

    1. jik Post author

      Thanks for your interest in Send Later 3.
      The functionality you asked about is not currently supported. It’s on my to-do list, but I don’t know when I will be able to get to it.

  22. yodz

    Since I’m in charge of the central comm of our shipping company, I was a heavy user of this feature. I noticed my system becomes a bit slow every time Thunderbird is checking my outbox for messages scheduled for sending.
    Anyway I hope this update solves it.
    A big thanks! Nice work.
    Thank you very much for making my life and my work easy!

  23. Pingback: Thunderbird Send Later, Schedule Emails

  24. Alexxx

    On a completely different subject, I’ve just realised that “Send Later 3” conflicts with the “Display Mail User Agent” add-on—at least when running TB 2. It prevents DMUA from displaying its standard mail program icons.
    Just thought I’d let you know… I don’t how easy it is to fix this.

    1. jik Post author

      Display Mail User Agent works fine for me in Thunderbird 3 with Send Later 3 installed, and it doesn’t work for me with Thunderbird 2 even when Send Later 3 isn’t installed, so I don’t think this has anything to do with Send Later 3.

      1. Anonymous

        I can tell you why: DispMUA 1.6.5 works perfectly on TB2, while DispMUA 1.6.6 is functional only on TB3.
        (I now remember that the incompatibility with DispMUA was the reason that I uninstalled the original version of Send Later.)

        1. Alexxxx

          Sorry, that wasn’t “Anonymous”: that was me. Apologies.

        2. jik Post author

          I will put an item on my to-do list to investigate why DispMUA 1.6.5 on TB2 conflicts with Send Later 3, but frankly it’s not a high priority… You should upgrade to Thunderbird 3.

  25. Alexxx

    This is a great add-on and could be very useful.
    However—as far as I can see—it doesn’t wake the computer to send messages. This means that one needs to disable sleep (and hibernation) in the Control Panel power options if one wants a message sent, say, in the middle of the night.
    This, of course, diminishes its functionality quite a bit, as most messages that I would want to send later would be when I’m asleep!
    Am I correct, or am I doing something wrong?
    Thanks in advance for your reply.

    PS: I’m running TB 2.0.024 on Win 7.

    1. jik Post author

      Yes, this is documented above. I added “(and your computer turned on!)” to the text above to make it more clear.

    2. Alexxx

      Thanks for your quick answer.

      Maybe it’s a language problem: for me, if my computer is in “sleep” mode, it’s turned on (albeit with limited capabilities). It’s a pretty relative concept.

      Of course, this isn’t an insurmountable problem: it’s easy enough to schedule a manual task to wake up a computer at intervals to send delayed e-mails.

      However, I don’t know how hard it would be to program this directly into the extension. (It’s human nature to always look for the easy option!) Could this be a possible future development?

      While we’re on the subject, though, thank you for taking this extension a great deal further than its previous version: I greatly appreciate, for example, the easy way of hiding the SL3 in the taskbar. Previously the only way to do so was via the userchrome,css.

      1. jik Post author

        JavaScript running inside Thunderbird does not have access to the Operating System facilities needed to schedule wakes from sleep.

  26. Sly

    Version 3.2.5 doesn’t seem to resolve the issue of marking messages as forwarded or replied on delay sending. I’m using Thunderbird 3.1.7 on windows 7 64x.

  27. mike knopfler

    1 – will this run under tb 200.22 ?

    2 – is it possible to specify to send auto reply that is triggered by
    message filtering ?

    example .. an email arrives with subject ” send me the price list”

    the filter will send the price list and a 2nd filter will send a follow up

    to check if the price list was received. i want this automated response

    to be delayed 5 to 15 minutes.

    will SEND LATER do this ?

      1. jik Post author

        Update: As of Release 3.2.5, Send Later 3 now supports Thunderbird 2.

  28. Egons

    Hi, Jonathan!

    I’m very appreciate your job and was nearly to make donation to you, but still hesitate because there ir problem what I can’t resolve. Concern is about problem what you describe here – “Messages don’t send. If Send Later 3 fails to deliver messages at the scheduled time, the most likely cause is a corrupted Outbox folder.” I don’t use TB global folders, but I have 3 accounts in TB and each have it’s own Outbox folder. In fact steps what you describe helps me and send later works fine for a while. But then problem returns again. Can you tell me what I can do else in order to make it work well?

    Thank’s in advance for your reply

    1. jik Post author

      I wish I could help, but I don’t know for certain what causes the folder corruption or how to prevent it.

      One guess I have is that the automatic compacting feature may corrupt folders. Do you have the “Compact folders when it will save over ___ KB” checkbox checked in the “Network & Disk Space” tab of the “Advanced” preferences settings?

      Also, what version of Thunderbird are you using, and what platform are you using it on?

      1. Egons


        Thanks for your reply.

        In fact Compacting feature is no enabled, so this is not at fault. I use Thunderbird 3.1.6 on Win XP SP3.

        May be there is some ideas else? I really like that feature and want to use it and say thanks to author.

        1. jik Post author

          Sorry, I’m afraid I don’t know what is causing the corruption or how to fix it.

          1. Egons

            OK, I see my problem is very rare.

            Thanks for support.

  29. B7


    Thanks so much for this great plugin. I am testing it now.

    I used the previous version on Thunderbird 2, and was really disappointed to discover that there was no support for v3. Thank you for filling the gap.

    I think this is a very powerful plugin that is an important tool for productivity. One great way to keep control of the inbox is to respond to everything as soon as we receive it. But this is not always appropriate.

    Most people’s inboxes are overflowing, and they don’t appreciate it when they get responses right away.They can’t deal with them and just let the response sit, often until it is forgotten about. Also, sometimes it is not a good idea to send an email in the middle of the night to someone who is going to get it on their Crackberry.

    Thanks be you, problem solved!

    I will write about your great plugin on my blog.


  30. Timo

    Thank you so much for this add-on!! I quite missed it since upgrading from TB 2 to TB 3. For the first time I actually used the Donate button on an addon’s download page 🙂

    One wish/suggestion: While it is nice to have a solution for having a preset button to send at e.g. 8:30am on the next weekday (because that is exactly what I need most often, so to not reveal my nightly working hours), I would prefer a more user-friendly way to use this, without the need to create my own Javascript function etc. (I admit that I am lazy :-)) May be in a future upgrade you could support this out-of-the-box, e.g. allow input like “nwd:0730” (nwd=next weekday, nd=next day, td=today, etc.) in the “minutes” input box, and the add-on then figures out the appropriate absolute time/date on its own. That would be awesome.

    1. jik Post author

      Hi TImo,

      Thanks for the donation!

      Concerning JavaScript-configurable buttons, I have decided against implementing logic like you propose in the core add-on, as opposed to via JavaScript as documented here, for a number of reasons, including:

      1. Everybody wants something different. It would be impossible to anticipate and satisfy everyone’s desires without a major development effort, on the order of the effort it took to develop all of the code in the rest of the add-on.
      2. The JavaScript hook that’s in the add-on now, combined with the userChromeJS add-on as described above, is sufficiently flexible to provide literally any desired timing functionality. If/when I have more time to spend on developing the add-on, I would prefer to spend it on functionality which is otherwise not available at all.
      3. There does not appear to be significant demand for this particular functionality. Perhaps if someone offered to fund the development I would reconsider.
      4. I have a life and a full-time job. 🙂

      Thanks again for your donation, and I’m glad you find the add-on useful.

      1. Timo

        Ok, I understand. You are right. Thanks for the explanation. I will just learn a little bit of JavaScript then 🙂

  31. Pingback: Thunderbird: E-Mails später senden mit Send Later 3

    1. jik Post author

      I do not accept bug reports here; they clutter the page and are often inaccurate and misleading to others. If you want me to help you with a problem you are having with the add-on, please email me and I will be glad to help.

  32. Peter

    Currently I am using send later vers. 1.2 with Thunderbird v 2, I now see that your current version is compatible with Thunderbird 3, should I first update my version of Send Later or update Thunderbird and then update Send Later?

    1. jik Post author

      You need to upgrade Thunderbird first. My version of the add-on is not compatible with Thunderbird 2, so you can’t install the add-on until after you have upgraded Thunderbird.

      1. jik Post author

        Update, as of release 3.2.5, Send Later 3 supports Thunderbird 2.

  33. cdwyer

    Great tool. But I had to reset everything as I send 1 day, 2 days and 1 week when I send delayed emails. Other then that the tool bar is sharp though it takes a lot of room. I would prefer just my presets and go into a menu for any manual sets that I need to make.

    1. jik Post author

      I would prefer just my presets and go into a menu for any manual sets that I need to make.

      Great suggestion. I’ve added this functionality to the preferences pane in the current beta release.

  34. Erik

    Great addon! Been waiting a long time for something like this, really useful!

    However, I have a problem. The send-later-part works flawless, but when I start Thunderbird (on Mac), the Send Later addon displays a progress-bar at the bottom and Thunderbird takes a lot of CPU (about 10% – if I disable the addons it is close to 0). Every now and then the progress bar disappears and you can see “SENDLATER3[IDLE]” or something like that, but after a second or two it goes back to the progress bar. What is it doing? The problem goes away if I disable the addon. Is it searching all my messages for mails to send or similar? I got a huge amount of emails (inbox is 6-7000 mails, and a few folders with a couple of 1000 mails too), I guess that has something to do with it.

    1. jik Post author

      It’s scanning for drafts to send. How many drafts are in your drafts folder?

      10% isn’t actually a lot of CPU.

      If you have a lot of drafts, you can edit the Send Later 3 preferences and tell it to scan less often (by default it scans once per minute).

      1. Erik

        Ah, thank you. I had about 500 mails in my drafts folder, non of which were important (just mails I happened to close down while typing for some reason, many of them sevaral years old). After clearing out the old drafts it seems to work great again.

        10% might not sound much, but consider I’m running about 20 apps, including Flash, Illustrator, VMWare, Firefox with 10+ tabs and lots of other things – those application together with the system takes a total of 12%. There was actually a noticeable lag when it was scanning.

        Anyway, glad that it’s sorted 🙂 Thanx again.

        1. Matthias

          looks like I’m having the same problem: if this Addon is activated, TB permanently uses 5-10% CPU. I already changed the scan interval to 5 minutes and deleted all emails from drafts folder, but no luck.
          Would be great if you could find the problem and fix it, because I can not use this great plugin with this high CPU usage.

          1. jik Post author

            This should be fixed in the beta I just released, 3.2.2beta1, which can be downloaded here.

  35. John

    Evening Jonathan…

    Your alternative suggestion is worthwhile…. The appearance of a “SendLater” Folder, not so much of a clutter [There is the junk folder, too], as in TBird, one can configure the display to show useful favorites only, or collapse the local folder list…

    Still do like the idea of allowing each account to have it’s own drafts/SendLater folder [do you do that now, with Drafts in each Account? — I don’t recall]

    In any case, I have another issue this afternoon, which highlighted some odd behavior on the laptop [sudden and intense slow down of Win7 system and other programs]. This time, however, I happened to have the Taskmanager up, and just as the slow down occurred, TBirds RAM use ballooned from 45000 to 200000 and kept on going, locking up everything. Can’t say definatively that that it was the SendLater, as I killed the process to recover the machine. I’m using I’ve disabled the addon, and don’t seem to get the same issues.

    Finally, a trivial matter: might could modify the status box at the lower right to be sunken, instead of flat

    1. jik Post author

      Still do like the idea of allowing each account to have it’s own drafts/SendLater folder [do you do that now, with Drafts in each Account? — I don’t recall]

      Every account’s Drafts folder is checked for Send Later messages.

      In any case, I have another issue this afternoon, which highlighted some odd behavior on the laptop…

      This is fixed in the current beta release, I will soon be releasing it as a new production version, but it’ll take a couple of weeks before it gets reviewed and approved so people get updates automatically, so in the meantime, to get the fix you can visit the add-on’s Web page and click “Install beta version”.

      Finally, a trivial matter: might could modify the status box at the lower right to be sunken, instead of flat

      It looks the same as all the other status messages in my status bar, and I’m not really sure Thunderbird gives me the ability to change it. I also think there are more important functional issues than this for me to worry about. 😉

      Thanks for the feedback.

  36. jik Post author

    @John: It is not clear to me that the issues you outline impact most people significantly enough to warrant the additional complexity in the add-on, not to mention the additional clutter of another folder in the user’s folder tree. However, I suppose it would be possible to make what you proposed optional, i.e., to use the Drafts folder(s) by default but allow the user to configure a different folder to be used.

    Would anyone besides John find that useful? Please comment if so.

  37. jik Post author

    @ASH: There is another Send Later 3 user who is working on a solution to this problem, but he has not yet made it available for general consumption, and since I’m not the one working on it, I don’t know if/when he will make it available.

  38. Eric


    I have just intalled ‘Send Later 3’ on Thunderbird 3.1.3. I try to add a shortcut on the toolbar without success…
    The ‘Send Later 3’ shortcut is not displayed.

    1. jik Post author

      Hi Eric,

      I can’t reproduce the problem you are having. When I right-click on the toolbar in a compose pane, select “Customize…”, drag and drop the Send Later 3 toolbar block from the customization window into the compose pane toolbar, and then click “Done” in the customization window, the Send Later 3 toolbar block is successfully added to the toolbar and stays there. Since I can’t reproduce the problem, unfortunately there isn’t much I can do to help you resolve it. When you attempt to add the Send Later 3 toolbar block to the toolbar, do any errors show up in the error console (Tools > Error Console in the main Thunderbird window)?


  39. ASH

    Thanks for this program! I really need the ability to schedule messages to be sent when Thunderbird is not running. You hint above that this is possible…??? Thanks for any info you can provide!

  40. John

    Similar to the way that junk folders work, why not create a “SendLater” folder, inside any account, where the To-Be-Sent-Later email is stashed.

    That folder would be the folder that is polled every X ms to determine what needs to be sent. An alternative…make a single “SendLater” folder in Local Folders.

    This would solve two issues:
    1. Other drafts are also stashed in ‘drafts’, and this could lead to confusion, or click error, when reviewing or reediting a proposed draft. Sometimes, mult. drafts get created, and this makes the problem worse.

    2. Undoing a scheduled send means “editing” a draft, as best I can tell….but I don’t really see how this works, other than to delete the file [am I mistaken?]

    2a. Placing the email in a “SendLater” folder makes unsend simple, by deleting or moving the folder, or by editing it.

    3. If you have a separate folder, I could create a template or draft which contains a “Send Later” header.

    4.. Tracking related accounts wouldn’t be necessary….an email is sent only on the account within which the email is found.

    4a. This solves a related problem, when I send an email, sometimes I send it on the wrong POP account. With separate folders, I could correct this by merely moving the file to another account’s SendLater folder.

    5. This creates a poor mans unsend facility…… Mail is delayed, and I can spot it [rather than among drafts]….

    I assume when you detect an email with a scheduled send, you move it to the outbox, and generate a sendmail request.

    Good Addon…Thanks !

  41. Pingback: Anonymous

  42. Shling

    Seems to have a massive RAM leak. Left running for a day or two and it balloons the amount of memory T-Bird takes up. When disabled, T-Bird goes back to normal memory usage. Otherwise great.

    1. jik Post author

      I believe this is fixed in the current beta release. Visit the add-on page and click on “Install beta version” to try it out.

  43. Prophious

    Great add-on, but there seems to be one problem, i use Thunderbird all the time replying to e-mails and even forwarding them, now since i’ve been using this add-on i dont see the reply or forward markers like before(btw i cant wait for the e-mail to be sent normally, which is why i’m using your add-on)

    any suggestions or workarounds


    1. jik Post author

      I’ve added an explanation of this issue in the caveats section above. The short answer is that this is a limitation of Thunderbird, not a limitation of the Send Later 3 add-on.

  44. Alessandro

    Hi, I’m also using thunderbird 3.0.6. How can I make SL3 work with it?

  45. Rich

    Hi Jonathan,

    Thanks so much for this plugin! I actually started writing one just like this years ago, but gave up before I finished! So again, thank you SO much! 🙂 The only problem is that on my newly installed Thunderbird (3.1.2), I’m getting the following error:

    “Incompatible Extension

    “Send Later” will not be installed because it does not provide secure updates”

    What should I do?

    THanks! 🙂

    1. jik Post author

      @Rich I think you’re trying to install the old “Send Later” extension that isn’t compatible with Thunderbird 3. Please make sure you’re installing “Send Later 3”.

  46. Zorpy

    Oh fork man you are my hero, thanks for updating this little gem, I’ve been praying for this day!

  47. computermacgyver

    Thanks for updating this great extension. I happen to have Thunderbird 3.0.6, and after modifying the install.rdf file, the plugin works without problem.

    I ran into one issue in that I have a few old imap accounts that are no longer live. I keep them around for the messages I’ve downloaded into the folders. By default, Send Later 3 scans all accounts and thus generated annoying pop-ups (every timeout interval) when it TBird couldn’t log into the accounts. I changed backgrounding.js to add:
    if (!thisaccount.incomingServer.check_new_mail) continue;
    at line 698. Perhaps this could be a preference in the future? Basically just a checkbox to skip send later for accounts that are set to not automatically check for new messages. A more elaborate solution could allow users to specifically select/exclude accounts, but that may be overkill.

    Thanks for your awesome work.

    1. jik Post author

      Hi Scott,

      Thanks for the info about the add-on working with Thunderbird 3.0. May I ask why you’re using 3.0 instead of upgrading to 3.1?

      Your suggestion seems like an extremely rare usage case, and I’m not sure it’s worth cluttering the UI for it, especially since I think there’s a workaround… If those accounts are no longer live, can’t you just create local folders to hold their messages, move the messages into the local folders, and then delete the IMAP accounts? Unless I’m misunderstanding your situation, it seems to me that net result would be no different than what you’ve got now. Am I missing something?



      1. Alexander

        Hi Jonathan,

        after discovering your very nice send it later addon I had a similar problem as Scott. One of my IMAP accounts is on a server at work where I have to connect via a VPN client. The VPN connection only runs when I need access to the work network but the addon complains every minute that it cannot access the server. So while the messages are still live the server just cannot be reached at the moment. I have added the check_new_mail workaround from Scott to the .js file and this fixed it here. This is surely not a common use case but as the fix seems relatively easy to me and it makes the extension unusable otherwise I think it is a good idea to make it configurable which accounts are used.

        Greetings Alexander

          1. Alexander

            Thanks a lot for the quick response and the fix. I installed the 3.2.1beta3 and it works nicely!

          2. computermacgyver

            Beta is also working great for me. Thanks!

            P.S. I hadn’t upgraded to 3.1 because 3.0.x was still the standard in the Ubuntu repositories and I was being lazy at the time. That’s really the only reason. Ditto to why I hadn’t emptied out my old IMAP accounts and copied everything to my local store. I’ve done so now.

  48. callme

    big big thanks for this incredible support !!!
    I was a heavy “send later” user and kinda confused after upgrade to TB 3 since it works no more again…
    but this helps us to get the light again !!!

    btw, would be def. appreciated to have a shortcut button on the toolbar as previous “send later” version if possible.

    thanks again !!

    1. jik Post author

      The shortcut on the toolbar is there… You just need to configure it. Right-click on the compose pane toolbar and select “Customize”, which will pop up a customization window which will contain (among other things) the Send Later toolbar. Drag and drop it into the toolbar and then click “Done” to close the customization window, and you should be all set.

      You can also add the preset buttons for specific message delays to the toolbar. Go to Tools > Add-ons, click on Send Later 3, click on Preferences, and then click on the tabs for the shortcut buttons you want on the toolbar and check the checkbox to enable them.

Comments are closed.