Send Later Thunderbird Add-on

Table of contents

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


The Send Later Thunderbird (and SeaMonkey and Postbox) 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 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 and restarted your mail app. If you have any comments, questions or feedback about the add-on, please feel free to email me.


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)

  • — Converting more visitors into leads by knowing who visits your website
  • CONIN Werbeagentur in Köln
  • Erowid Center
  •  — Professional FreeBSD and Linux server administration, clustering, monitoring and scaling
  • Anonymous

Silver supporters (>$25)

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!
  • — Free Dating in Toronto
  • purple_heart“Excellent add-on for both Thunderbird and Posbox! Support is second to none!” — Jerry (Pop) Fairfield
  • Bome Software
  • — 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
  • Anonymous (× 149)

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


Method 1

  1. In Thunderbird, open the add-ons dialog with the Tools > Add-ons menu command.
  2. Click the “Get Add-ons” button.
  3. Enter “send later” in the search box and hit Enter.
  4. When the “Send Later” add-on shows up in the search results, click the “Add to Thunderbird…” or “Install” button.
  5. When the “Software installation” dialog pops up, click the “Install Now” button when it becomes active.
  6. Restart Thunderbird after the installation.

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

  1. Download the add-on as an “.xpi” file from, saving it to your Desktop or another obvious location.
  2. In Thunderbird or Postbox, select the “Tools > Add-ons” menu command.
    1. Thunderbird 2 or 3: click the “Install…” button.
    2. Thunderbird 5 and later: click the little sliders icon next to the search box and select “Install Add-on From File…”.
    3. Postbox: click the gear icon in the upper right corner of the window and select “Install Add-on From File…”.
  3. Browse to the downloaded Send Later “.xpi” file and open it.
  4. Make sure your mouse is over the install dialog and it has focus. When the “Install” button becomes active, click on it.
  5. Restart Thunderbird or Postbox 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: 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.
  • Schedule a recurring message. 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”, 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”, 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.

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 me know.


You can edit the add-on’s preferences by selecting the Tools > Add-ons menu command, clicking the “Extensions” button to view installed extensions, and on “Options” or “Preferences” in the listing for Send Later. Here is the main preferences screen, followed by explanations of the various settings:

  • Check every 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 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, 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, 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, furthermore, that this feature is not available in Thunderbird 2, and therefore on Thunderbird 2, the preference for it is not visible.
  • Bind Alt-Shift-Enter instead of Ctrl-Shift-Enter 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.
  • Show Send Later Column controls whether a column showing the scheduled delivery times of messages that have them should be displayed when viewing a Drafts folder.
  • Show Send Later Header controls whether the “x-send-later-at” message header, which is where the add-on stores information about when a draft should be delivered, should be 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 controls whether the add-on should show 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 controls whether an animated progress bar should be 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 controls whether the add-on should actually send 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.

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:

  • Button label specifies the string that is displayed in the button. The default setting, “<from locale>”, tells the add-on to get the label from the translated strings for the current locale. The locale string (e.g., “15 mins later”, “30 mins later”, “2 hours later”) won’t make sense if you change the “Minutes” value for the shortcut, so if you do, you should probably change the label as well.
  • 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. Note: It doesn’t make much sense to add the Date/Time Picker to your toolbar without adding the Send Later Button as well, though you can add the text box without the picker, because hitting Enter in the text box is equivalent to clicking the button.
  4. Click “Done” to close the “Customize Toolbar” window.

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. 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 and/or date/time picker. This button does not pop up the scheduling dialog. See below if you want a button that does that.

“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 or date/time pickers you’ve added to the toolbar along with the button. If you don’t add the text box or date/time picker 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 or SPAMfighter.
  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. The “Check spelling before sending” preference doesn’t work for the Send Later controls in the compose window toolbar. I.e., if you send a message by entering a time or clicking a shortcut button in the toolbar, the spelling of the message will not be checked before it is saved to your Drafts folder, even if you have “Check spelling before sending” enable. Spell-checking will, however, occur if you use the pop-up window to schedule the message.
  7. 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.
  8. Outgoing message format preferences (Preferences | Composition | General | Send Options…) do not work with Send Later.
  9. I have been told by multiple people that messages sent from or to iCloud or 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.
  10. 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 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.

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. 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. [UPDATE: This workaround is unfortunately broken in the current version of Thunderbird, due to a Thunderbird bug.] In the meantime, here’s a workaround (thanks to

  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 “” 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 “”, and set its value to “Disposition-Notification-To: address“, where address is the email address to which you would like return receipts sent.

Send Later and Enigmail

Because of the way Thunderbird’s add-on framework works, it is impossible to make Enigmail interoperate safely with scheduling messages with Send Later. Therefore, when Enigmail is installed, Send Later’s message-scheduling functionality is disabled automatically; it is re-enabled automatically when Enigmail is removed or disabled. Note that delivering previously scheduled messages does work and remains functional even when Enigmail is enabled, so one workaround is to temporarily disable Enigmail, restart Thunderbird, schedule the messages that you want to schedule with Send Later, and then re-enable Enigmail and restart Thunderbird again.

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

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 me and I’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

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 me and I’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

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

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

Advanced usage

Hot keys

You can hit Alt-1, Alt-2, or Alt-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.

Recurring messages

You can schedule a message to be sent repeatedly by selecting “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. You can also 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. To do this, check the box to the left of “Every” and then enter the multiplier you want. You can also schedule a monthly message 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). 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.

Replacing BlunderDelay with Send Later

Many people have asked if it is possible to emulate the functionality of BlunderDelay with Send Later. BlunderDelay is a simple add-on that periodically tells Thunderbird to send the messages in your Outbox. The idea is that if you use Thunderbird’s “Send Later” command instead of “Send”, then your messages go into the Outbox and then are sent a few minutes later by BlunderDelay, so you have a few minutes to make corrections or change your mind about sending your message. A future version of Send Later will make this functionality really easy to enable. In the meantime, however, it is possible to emulate BlunderDelay, and in fact to do a better job of what BlunderDelay tries to do, with a little work:

  • Set up one of the shortcut buttons as described above to have a delay of however many minutes you want all of your outgoing messages to wait before sending and add this button to the compose window toolbar as described above.
  • If you want to prevent yourself from accidentally sending a message immediately, customize the compose window toolbar and remove the Send button completely, and/or use the keyconfig extension to rebind Ctrl-Enter to execute the following JavaScript, where “#” is the number of minutes you want your messages to be delayed:

    Note that you have to add this key binding in the message composition window, i.e., open a message composition window, execute the Tools | Keyconfig… menu command, and add the key binding in the window that pops up. Alternatively, you can enable the “‘Send’ does ‘Send Later'” option described above, so if you click Send or type Ctrl-Enter, the Send Later prompt dialog will pop up.

  • If you’d like, you can do other things with the keyconfig extension to suit your tastes. For example, if all you ever want to use Send Later for is this basic delay functionality, you could leave the Send button and Ctrl-Enter alone, but change the key binding for Ctrl-Shift-Enter so it executes the JavaScript shown above.

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}} 2012/08/10 {{Time}} (There are probably other use cases with different variables as well.)

Dynamic values for preset buttons

While the preset buttons are a convenient way to easily to delay a message by a constant amount of time, you may sometimes want to do something more clever. For example, suppose you would like there to be a button to schedule a message to be sent at 8:30am on the next weekday? Fortunately, Send Later allows you to do this. In a nutshell, instead of specifying how many minutes into the future the message should be sent, you can specify the name of a JavaScript function which calculates and returns a number, in which case the message will be sent that many minutes in the future, or a Date object, in which case the message will be sent at the date and time indicated by the object. Here are the details of how to do this:

  1. Install the userChromeJS add-on, which allows you to easily write your own JavaScript code to be loaded into Thunderbird when it starts up.
  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, put a JavaScript function into userChrome.js which implements the logic you want. The function should take no arguments and return an integer representing the number of minutes by which the message should be delayed. See below for one example as well as a method of testing your function outside of Thunderbird. If your function returns -1, Send Later won’t do anything, i.e., it’s as if the user didn’t click the shortcut button. This is useful, for example, if something goes wrong in your recurrence function and it is unable to calculate the correct return value, or if you only want this particular dynamic shortcut to work some of the time. It’s also useful for another reason, described below.
  4. Open up the Send Later preferences and modify a shortcut key so that its label indicates the behavior of your new function and its value, rather than a number, is the name of the function you inserted into userChrome.js. For example, if you were to use the sample function below to replace the first shortcut key, you would change the shortcut’s label to “8:30am next weekday” and its value to “MinutesTo0830Weekday”, which is the name of the function.

The following HTML file illustrates both a sample JavaScript function you might use to customize a shortkey key in Send Later, as well as a technique for testing that such a function performs as expected:

function MinutesTo0830Weekday() {
    var now = new Date();
    var d = new Date();
    if (d.getDay() == 5) { // Friday
    else if (d.getDay() == 6) { // Saturday
    return Math.round((d.getTime()-now.getTime())/1000/60);
var m = MinutesTo0830Weekday();
document.write("Send " + m + " minutes into the future.");
var d = new Date();
document.write("Send at " + d + ".");

Immediately below the function you intend to insert into userChrome.js, the function is invoked, its value is stored into a variable, and then that variable is written to the browser window. Then, that value is used to calculate the actual time at which the message will be sent, and that time is written to the browser window as well. If you save this into a file with a “.html” extension and then double-click on it, your browser should open and display something like this:

Send 1900 minutes into the future.

Send at Mon Jul 19 2010 08:30:05 GMT-0400 (EST).

(You should now be able to tell exactly when I wrote the preceding paragraph!) If the HTML file displays nothing, then, there’s probably a syntax error or something in your JavaScript function. View the error console to see what it is (in Firefox, run Tools > Error Console). Once the function is working as expected in the HTML file in your browser, you can copy it into your userChrome.js and update your Send Later preferences to start using it. Make sure to test it with email messages to yourself before using it “in production.” If it doesn’t behave as expected, then Tools > Error Console in Thunderbird may also be helpful at determining the problem. Important, helpful userChromeJS hint: Sometimes changes to your userChrome.js file won’t load when you edit and restart Thunderbird. This problem and some workarounds are described at MozillaZine. Here’s another example function submitted by a user of the add-on whose company has a policy prohibiting emails from being sent on weekends and who also wanted a five-minute delay for all outgoing messages to give him time to change his mind.

function FiveMinutesOr0830Monday() {
  var now = new Date();
  var d = new Date();
  // If Monday after 8am, or another weekday or Friday before 6pm,
  // send emails in 5 minutes.
  if ((d.getDay() == 1 && d.getHours() > 7) ||
      (d.getDay() >= 2 && d.getDay() <= 4) ||
      (d.getDay() == 5 && d.getHours() < 18)) {
    // Send in 5 minutes -- time to change your mind!
    d.setTime(d.getTime() + 1000 * 60 * 5);
  else {
    // On Friday, Saturday, or Sunday, send emails Monday morning.
    while (d.getDay() != 1) {
      d.setDate(d.getDate() + 1);

  return Math.round((d.getTime() - now.getTime()) / 1000 / 60);

The user who submitted this function has it bound to a preset button named “Send” and uses that button, rather than the standard Thunderbird “Send” button, to send all of his messages. Here’s another example, from someone who wanted a way to easily schedule a message for the next “last weekday of the month:”

function LastWeekdayOfMonth(start) {
    var d;
    if (start) {
	d = new Date(start);
    else {
	d = new Date();
    var now = new Date(d);
    var ok;
    while (!ok || (ok.getMonth() == d.getMonth())) {
	if (d.getDay() > 0 && d.getDay() < 6) { // Weekday
	    ok = new Date(d);
    // Send at 8:30am on last weekday of month
    return Math.round((ok.getTime()-now.getTime())/1000/60);

Dynamic recurrence

When I wrote above that you can create a dynamic shortcut function which returns the number of minutes in the future to schedule a message, I was only telling part of the story. In fact, shortcut functions can do a lot more than that: shortcut functions can set up dynamic recurrence too! If, instead of returning just the number of minutes in the future to send the message, your shortcut function returns a JavaScript array whose first item is that number of minutes and whose second number is a recurrence specification string, then the message will be scheduled to be sent in the specified number of minutes and also configured to recur after that. Here are the valid recurrence specification string formats:

  • 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.
  • function recurrence-function– Use the specified recurrence function to calculate future send times, passing in the previous scheduled send time each time the function is invoked.

All but the last of these behave as described above. The last, functional recurrence, allows you to write arbitrary code for calculating not only the first scheduled send time for the function, but every send time forever, as well as calculating when a recurring message should stop. Furthermore, each time your recurrence function calculates the next scheduled send time, it can store arbitrary state which will be passed into it the next time it is called. Functional recurrence allows you to schedule your messages virtually any way you want. It also allows recurrence intervals of less than one day, something that isn’t available in the standard recurrence controls in the Send Later pop-up window. It is, in short, the “Swiss army knife” of scheduling recurring messages. The best way to illustrate how functional recurrence works is with an example. Here is a shortcut function you can use to schedule a message to be sent three times, once per day, and then stop:

function SendForThreeDays(prev, args) {
    if (! prev) {
	// The first time this function is called, from a shortcut
	// button, there will be no previous scheduled send time, so
	// the "prev" argument will be null. If so, then we want to
	// schedule the first copy of the message to be sent right
	// away, and then indicate that 2 more copies should be sent.
	// Note that although this example returns only one state
	// variable, the number of remaining times for the message to
	// be sent, you can return as many state variables as you
	// want, and all of them will be returned in "args" the next
	// time the function is called.
	return new Array(0, "function SendForThreeDays", 2);
    // We will fall through to this part of the function if "prev" is
    // non-null, i.e., if we are being called to dynamically schedule
    // the next send time for a message that has already been sent at
    // least once. In this case, the arguments we returned he last
    // time around will be returned to us as an array in "args".
    if (args[0] == 1) {
	// Only one left, schedule it for a day from now with no
	// recurrence.
	return 60 * 24;
    // More than one left, so schedule it for a day from now with
    // additional recurrence after that.
    return new Array(60 * 24, "function SendForThreeDays", args[0] - 1);

Here’s another example, a shortcut function which sends a message daily for seven days, followed by weekly for four weeks, followed by monthly forever.

function SendDailyWeeklyMonthly(prev, args) {
    var spec = "function SendDailyWeeklyMonthly";
    if (! prev) {
	return new Array(0, spec, "daily", 6);
    var stage = args[0]
    var remaining = args[1]
    if (stage == "daily") {
	if (remaining == 1) {
	    return new Array(60 * 24, spec, "weekly", 4);
	return new Array(60 * 24, spec, "daily", remaining-1);
    if (stage == "weekly") {
	if (remaining == 1) {
	    return new Array(60 * 24 * 7, "monthly " + prev.getDate());
	return new Array(60 * 24 * 7, spec, "weekly", remaining-1);

Or suppose there’s a contest you enter by email, and you’re allowed to enter once per day until June 15:

function DailyUntilJune15(prev, args) {
    if (! prev) {
        return new Array(0, "function DailyUntilJune15");
    var d = new Date(prev);
    if (d.getMonth() > 5 || // 5 == June
        (d.getMonth() == 5 && d.getDate() > 15) {
        return -1;
    var now = new Date();
    return new Array((d.getTime()-now.getTime())/60/1000, "function DailyUntilJune15");

Here’s an example of sending a recurring message on the last weekday of every month:

function RecurringLastWeekdayOfMonth(prev, args) {
    var now = new Date();
    var d;
    if (prev) {
        d = new Date(prev);
    else {
        d = new Date();

    if (d.getDay() == 6) { // Saturday
    else if (d.getDay() == 0) { // Sunday

    return new Array(Math.round((d.getTime()-now.getTime())/1000/60),
                     "function RecurringLastWeekdayOfMonth");

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 “” 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. First, install userChromeJS and locate userChrome.js as described above. Next, put something like this in userChrome.js:

// 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[";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.

Then restart Thunderbird to reload userChrome.js (but don’t forget about the important UserChromeJS warning above), and you’re all set! The example above tells Thunderbird to make “Send” do “Send Later” on weekends and on weekdays before 9am and after 5pm. You can tweak the function shown above to have whatever arbitrary behavior you want.

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

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.

Messages not being sent: isolating the problem

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

Test #1
  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.
Test #2
  1. Start with a successful Test #1, 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 #1” applies.

Test #3
  1. Start with successful Tests #1 and #2 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 me the error message you’re getting and I’ll try to help.

Test #4
  1. Start with a successful Test #3, 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.
Test #5
  1. Start with a successful Test $4, 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 me 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 me for help with a problem you are having with the add-on that I can’t reproduce myself, then I may ask you to enable debug logging on the add-on, perform some task with debug logging enabled, and then send me the resulting debug log. Here are the instructions for how to do that.

  1. Exit from Thunderbird.
  2. On Windows:
    1. Open a command window.
    2. Run “cd %ProgramFiles%\Mozilla Thunderbird”.
    3. Run “thunderbird -console”.
  3. On Linux:
    1. Open a terminal window.
    2. Run “thunderbird >| /tmp/thunderbird.log 2>&1”.
  4. On Mac OS:
    1. Open a terminal window.
    2. Run “/Applications/ >| /tmp/thunderbird.log 2>&1”.
  5. Go to “Tools > Add-ons”.
  6. Click on “Send Later”.
  7. Click on “Preferences” or “Options”.
  8. Click on the “Advanced” tab.
  9. Change “Dump log level” to “All” (or whatever other value I tell you to change it to).
  10. Click on “Close”.
  11. Close the “Add-ons” window.
  12. Do whatever task I told you to do with debug logging enabled.
  13. Repeat steps 4-10 above, but this time change the setting to “Fatal” instead of “All”.
  14. 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 me.
  15. On Linux or Mac OS:
    1. Exit from Thunderbird.
    2. Email me the file /tmp/thunderbird.log as an attachment or paste its contents into an email message to me.

Helping to improve the add-on


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 BabelZilla and is quite easy. All you have to do is register for an account on BabelZilla if you don’t have one, go to the BabelZilla page for Send Later, register as a translator for the language you want to add, and then go through the strings (about 125 of them as of this writing) using the BabelZilla user interface and translate them into your language. I am happy to help you out if you encounter any problems with BabelZilla or have any questions, and so 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 me about it or just jump right in on BabelZilla. Thanks!

Running beta releases

Usually, before I release a new version of the add-on for everyone, I release one or more beta releases to test the changes in a smaller user base. I do my best to ensure that the beta releases are solid, but of course it’s more likely that something might be wrong with a beta release. If you are willing to take a bit of a chance of unstable behavior to help improve the add-on for everyone, you can switch to running beta releases by visiting the add-on’s download page, expanding the “Development Channel” section near the bottom of the page, and clicking the “Continue to Download” button. Once you do that, you will automatically get new beta releases of the add-on when they are released.


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 me instead and I will respond as soon as I can (which is usually very quickly). Thanks!

Remote support

In rare cases, when you are having a problem with Send Later that I cannot reproduce, I may need to connect to your computer remotely to see it in action. I may even need to ask you to let me “steer” your keyboard and mouse briefly while troubleshooting. When this is necessary, I use TeamViewer. Click here to download the TeamViewer client which will give me access to your desktop, then email me your TeamViewer ID and password. 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, or if that link doesn’t work, you can send a Paypal payment to “”. 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 send me an Amazon gift card through (not,, etc. — I am only able to use gift certificates sent through at
  • You can send me a payment via Amazon Payments.
  • You can send me a payment via Chase QuickPay.
  • You can send me bitcoins at “16kWgAVVUSCz1j1oevBFhCGmZQsvi92fmy”. If you would prefer a unique address for your donation, email me and I’ll send you one. Please also email me if you want me to acknowledge your donation; otherwise I’ll have no way of knowing who sent it!

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 I 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 me to add, and you’re willing to fund its development, please email me and we can discuss it. Of course, you should feel free to send me feature requests at any time, even ones you do not wish to fund; I’ll put them into my queue and get to them as soon as I can.

Send Later Release notes

Release 5.0beta1 (May 23, 2016)

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)

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!) 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 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!

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.5beta1 (March 27, 2016)

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.4beta2 (August 11, 2015)

Work around problems caused by Mnenhy add-on:

The Mnenhy add-on replaces the Thunderbird header display pane with one of its own, which causes Send Later — which overlays its functionality on top of the standard Thunderbird header display pane — to malfunction. This, in turn, causes Mnenhy to malfunction, thereby causing problems with message display.

This change mitigates this problem by suppressing the exceptions within Send Later caused by Mnenhy’s UI changes. The Send Later functionality for automatically hiding or displaying the x-send-later-at header as needed still doesn’t work with Mnenhy, but at least everything else should work after this change.

Release 4.4.4beta1 (July 26, 2015)

Bug fix: Previously, if you used the quick filter bar to search the messages in the Drafts folder, then the Send Later column would stop working. Now it works.

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 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! 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 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

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, 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 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 ( 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.’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 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 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

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.8beta2 (June 12, 2011)

Known issue with Thunderbird 5: When you add Send Later 3 to the compose window toolbar and try to use the drop-downs to set the scheduled send time, you can’t see the values in the “minutes” drop-down. This is a bug in the Thunderbird core, not in Send Later 3, and I don’t know of any decent fix for it short of waiting for the Thunderbird core maintainers to fix it. In the meantime, click on the minutes field and then use the keyboard to type the minutes value you want, or use the Ctrl-Shift-Enter popup to schedule delivery instead of the dropdowns in the toolbar. Changes in this release:

  • Compatible with Thunderbird 5.
  • Do a better job of handling the unusual case of the default drafts folder being something other than Drafts within Local Folders.
  • 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.

Release 3.2.8beta1 (April 14, 2011)

  • Swedish translation from Mikael Hiort af Ornäs. Thanks, Mikael!

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

266 thoughts on “Send Later Thunderbird Add-on

  1. M

    Just trying it out.

    I noticed that I could not get it to show byt ctrl+shift+enter or File>send later and I found out what the problem was.

    I have the spelling on, if I do not use auto-spelling, it works fine!

    Just helping you

    1. jik Post author

      As far as I know, Send Later works fine with spell-checking.

      If you have “Check spelling before sending” enabled, then when you go to send a message with Ctrl-Shift-Enter or File | Send Later, first it will pop up the spell-checking window, and then when you click the “Send” button in that window, it will pop up the Send Later window.

      If the Send Later window does not pop up for you when you click the “Send” button in the spell-checking window, then I would like to hear from you about that so I can help troubleshoot why not, because it works fine for me.



    Nouvelle utilisateur de votre module d’envoi différé sur Thunderbird, je rencontre un problème qui empeche l’utilisation normale du module.
    Il arrive souvent que le fenêtre ne s’affiche pas et il m’est impossible de la faire apparaitre.
    Cette situation est blocante, puisque je ne peux pas envoyer l’email. Je suis contraints a redemarrer Thunderbird pour reprendre la main.
    Le blocage arrive quand le correcteur d’horthographe (diagonale) se lance ce qui suspend l’apparition de votre fenêtre d’envoi.
    Sauriez-vous me dire comment faire apparaitre la fenêtre d’envoi quand elle n’est pas apparante ?

    Merci pour votre aide.
    Je serais enchanté de pouvoir vous envoyer ma contribution.
    Merci de répondre par email.

    1. jik Post author

      I do not speak French, so I am doing the best I can trying to understand your question after running it through Google Translate.

      What you seem to be saying — and again, I’m not entirely sure I’m understanding you correctly — is that you have Thunderbird configured to check the spelling of your messages before they are sent, and when the spell-checking window pops up, it prevents the Send Later window from popping up. Am I understanding you correctly?

      I don’t see the behavior you describe. When I enable the “Check spelling before sending” feature, then when I do File | Send Later, the spell-checking window comes up, and then when I click the “Send” button in that window, the Send Later window comes up.

      If you are doing something different, can you explain exactly what it is you are doing which causes the problem you are seeing?

  3. Alexander Ihrig aka Thunder

    Hi Jonathan!

    The “MagicSLR” recommendation has to be replaced by “Send Later Button” on AMO.

    I’ve removed all send later functionality out of MagicSLR. My new “Send Later Button” (German: Später senden-Schaltfläche) is a clean simple replacement. MagicSLR has been renamed to “Get/Send-Button” (German: “Abrufen/Senden-Schaltfläche”), which is the new reduced focus of this addon. Some users may want to use both together with your “Send Later” add-on.

    Send Later Button:

    Alexander Ihrig
    Thunderbird Mail DE

  4. Geremia

    This plugin no longer seems to be working with Thunderbird 45.0. When I hit ctrl-shift-enter, it just sends the message to my local outbox folder and doesn’t prompt when to send it later.

    1. jik Post author

      If you use Enigmail, then please see above, and please note that you should have gotten a pop-up from Send Later telling you that it was being disabled because of Enigmail.

      If you don’t use Enigmail, then please contact me privately and I will try to help you figure out why Send Later is not working for you.

      1. Geremia

        yes, I do use Enigmail. What’s the latest version of SendLater that works with Enigmail?

        1. jik Post author

          No version of Send Later works safely with Enigmail.

          It is possible that it will “mostly” work safely for you if you use a version of Send Later which does not disable itself when Enigmail is enabled. On the other hand, it is also possible that it will completely screw you over. I really cannot recommend or endorse having both add-ons enabled at the same time.

          Having said that, please see the release notes above.

  5. Mike

    I’ve been using Send Later for a long time, now and I’ve been able to use Enigmail with this Add-on, only until just recently. I’m not very happy about it, but c’est la-vie.

    anyway, I’ve now disabled Enigmail, to re-enable Send Later — as Send Later is now showing the schedule box, upon Ctrl+Enter…. But the menubar button is not lit, and un-clickable now.

    How can I fix this?

    Thanks again!

  6. Axel

    WHY, OH WHY? The last update disables Send Later b/c of incompatibilities with Enigmail. But… it used to work totally and completely fine for such a long time since I always chose not to encrypt/sign postponed messages! Why do you take away the option from users to decide for themselves, please don’t tell us it’s part of the new “taking care by converting Firefox like zero-option Chrome” spirit of Mozilla 😮 ?

    Please do add an advanced option with big flashing warning sign (“I KNOW WHAT I AM DOING THANK YOU VERY MUCH”) or at least an about:config option to force Send Later enabled even with Enigmail … the best thing of course would be to automatically disable encryption/signing when postponing messages to solve it once and for all.

    1. jik Post author

      the best thing of course would be to automatically disable encryption/signing when postponing messages to solve it once and for all.

      Yes, that would indeed be the best thing, but unfortunately it is impossible to do that reliably because of the way Thunderbird’s add-on integration framework works. Basically, it is impossible to control the order in which add-ons are called when a message is ready to be sent, which means that it is impossible for Send Later to reliably disable encryption and signing before Enigmail gets its hand on a scheduled message.

      And here’s the thing… If Enigmail is called before Send Later, then the message is encrypted with the recipient’s public key, at which point it is no longer decryptable by the sender. Then, when Send Later is called, if the user decides to cancel scheduling the message, e.g., to go back to editing it, the message is now completely unreadable to the sender, and its contents are completely lost. And that is why…

      Please do add an advanced option with big flashing warning sign (“I KNOW WHAT I AM DOING THANK YOU VERY MUCH”) or at least an about:config option to force Send Later enabled even with Enigmail

      … I will not do this. It is simply too easy for such an option to cause data loss, and there is no way that I can prevent it, and I don’t think that’s fair to my users, and I frankly don’t want to have to deal with the complaints.

      Therefore, until such time as I am able to allocate more time and energy to Send Later so that I can try (again) to figure out some way to work around the deficiencies in the Thunderbird add-on framework, Send Later is going to remain incompatible with Enigmail.

      You are, of course, welcome to build yourself a custom version of the add-on from its source code and use that rather than the version I ship, but I will not knowingly ship a version which could cause data loss.

      Note: As noted above, delivery of previously scheduled messages works when Enigmail is enabled, so to schedule messages, you can disable Enigmail, restart Thunderbird, schedule the messages, re-enable Enigmail, and restart Thunderbird again.

      1. Axel

        Right, I figured as much, so will do patching my local source – as of course restarting Thunderbird all the time is not a viable alternative.

        Would it be possible to tackle the problem in conjunction or only from Enigmail’s end to circumvent the problem that add-ons are called in no predicable order? This way, Enigmail itself would check if a message has a “postponed” status (like how?) and skip encryption/signing? As both are popular tb addons, maybe the Enigmail guys could be convinced to add a small compatibility patch?

        1. jik Post author

          Would it be possible to tackle the problem in conjunction or only from Enigmail’s end to circumvent the problem that add-ons are called in no predicable order?

          Patching Enigmail is one possible solution, though it is one I am loathe to pursue because of its lack of general applicability to other add-ons which present problems similar to the one presented by Enigmail.

          Convincing the folks at Mozilla to update their framework to address the root cause of the issue would be a better approach from a technical point of view, though it would probably be significantly more challenging than working directly with the Enigmail authors, assuming that they are amenable to cooperating with me.

          Either of these approaches would take significant time that I unfortunately do not currently have.

          Of course, Send Later is open-source software, so if someone else wants to work to figure out a solution and submit pull requests to the Enigmail developer and me, I’ll gladly consider them. Can’t speak to whether the Enigmail folks would, though.

  7. Rick

    Thanks for making an amazing product. I use it all the time. 🙂
    How do I change the send later time for multiple messages at once? I have quite a few messages that I scheduled for delivery at 8am, and now I want to change them to 9am, can I do this?

    1. jik Post author

      Unfortunately there’s no automated way to do what you’re asking.

      However, if you customize the layout of your composition window to put the Send Later text field into the toolbar (as described above) and make sure the composition window is wide enough to display the entire text field, then you can select all the messages in your Drafts folder that you want to edit, and doube-click to open them all, and then edit the send time in the text field of each one and hit return to reschedule it.

      Note that this won’t work for recurring message, though… Those can’t be scheduled from the toolbar.

  8. Barrie Archer

    It appears that the “no attachment” warning is suppressed when sending later (Thunderbird 38.5.1, Send Later 4.4.4). If I have the Thunderbird option Composition/Check for missing attachment checked and an email containing the word “attachment” is sent with “Send Now” I get the message “Did you forget to add an attachment?”. However, if I use “Send in 5min” I get no such warning.

  9. Rainer Bielefeld

    Sending emails later from my SeaMonkey with Send Later 4.4.4 newly each time causes an error message “In local part of the recipient address non-ASCII characters are included. This is not currently supported. Please change this address and try again.” (translated from German). The Email disappears from Drafts folder immediately, but I always have to confirm 3 of these messages before the message appears in the “Sent” folder. Sometimes an additional message appears: “Error sending message: The mail server sent an incorrect greeting: 4.7.0 Error: Too many connections from “.
    Until now I did not try with new profile or Safe Mode. Problem visible for sending later from several POP3 mail accounts I tested (all with the dame user profile)
    Known issue? Any Idea where I should start investigations?

    Best Regards

    Rainer Bielefeld

    1. jik Post author

      In local part of the recipient address non-ASCII characters are included…

      Thunderbird bug. Recently fixed, fix not yet released. See .

      Until you get the fix, you can work around this issue by not using commands in the name part of email addresses, e.g., use “Firstname Lastname” instead of “Lastname, Firstname”.

      Error sending message: The mail server sent an incorrect greeting: 4.7.0 Error: Too many connections from

      Nothing I can do about that, it means just what it says, and it’s not Send Later’s fault. Talk to your service provider about why this is happening and what you can do about it.

  10. Macho

    Request: timely password requests

    When the outgoing server uses password authentication, the password dialog appears at the moment that the message is actually sent. If practicable, it would be preferable to request the password at the time that the message is queued to be sent. That way, if you are AFK the message will nonetheless be sent at the time you intended. I recognize this could have some security implications depending on implementation, but it seems worth thinking about.

    As an aside, would you consider opening a github account or using some other kind of issue tracker for SendLater rather than this comment thread and emails to your account? It would certainly make it easier for us users to track what has already been requested, or rejected, or identified as already implemented, as well as to follow the progress of new developments.

    Thanks again for this great add-on!

    1. jik Post author

      >If practicable, it would be preferable to request the password at the time that the message is queued to be sent.

      That would be quite difficult to implement and would have all sorts of serious security implications. If you’re willing to type your password when a message is scheduled and have it stored until the scheduled send time arrives, then you’re already committing to having Thunderbird store your password persistently, so why not just store the password in Thunderbird’s password manager so it can provide the password to the mail server at send time without prompting for it?

      >…would you consider opening a github account…

      It’s already on Github; sorry, I forgot to update the user guide when I put it there. I’ve added a link to the Github repository above.

      There’s also a Google Group, discussed above.

      Thanks for the feedback!

      1. Macho

        Thanks for your response! I have a follow-up concern related to the password thing, but I’ll open a github issue.

  11. Macho

    When I choose to send a message later, it appears in the Drafts folder, as is expected, but as a new, unread message. Is there any way to have it appear there as a non-new, read message instead? Thanks.

    I’m using version 4.4.4.

  12. Rainer Bielefeld

    Known issues
    I tested with SeaMonkey German 2.39 final Mozilla/5.0 (Windows NT 6.1; WOW64; rv:42.0 from official download area) Gecko/20100101 Firefox/42.0 Build 20151103191810 (Classic Theme) on German WIN7 64bit:
    Works fine, and the “mozillazine”-workaround heals the problemwith the “eaten” Disposition-Notification (see The other workaround (“mail.compose.other.header”) does not work for me, neither with SM 2.39 nor with TB 46.0a1 (2015-12-30)

    1. jik Post author

      Unfortunately, the “mail.compose.other.header” workaround is currently broken due to a bug in Thunderbird. I’ve updated the user guide above to reflect this fact, and I’ll update it again if/when it’s fixed. Sorry for the trouble!

  13. Dr. Jochen Beck


    I have a problem. I installed “sent later”, in what position do I have to do the mail, “to draft”, that means not to click the send button, or do I have to press the sent button and it works later, so I have defined it.
    Kind regards

    Dr. Jochen Beck

    1. jik Post author

      Please read the user guide you just posted a comment on. It explains in detail how to use the add-on.

      In particular, see the Basic Usage section.

  14. Jürgen

    Seems t o me that enigmail und send later do not work together. messages are crypted, even if they are configured for.


Leave a Reply

Your email address will not be published.