Send Later Thunderbird Add-on

Table of contents

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

Introduction

The Send Later Thunderbird add-on, which supports versions 8.0 and newer of Thunderbird (an old version of the add-on, without all the newest functionality, supports earlier Thunderbird releases), versions 2.9 and newer of SeaMonkey, and versions 2 and 3 of Postbox, allows you you to write an email message and then tell Thunderbird when you want it to be sent. The message is then saved back into your Drafts folder, and delivered at approximately the specified time. The add-on is available for download from addons.mozilla.org. Release notes for each new release of Send Later are published there and below. What follows is a user manual for the add-on. Everything below (except for the installation section) assumes that you’ve already installed the add-on from addons.mozilla.org and restarted Thunderbird or Postbox. If you have any comments, questions or feedback about the add-on, please feel free to email me.

Credits

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!

Supporters

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

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!
  • Tdotwire.com — Free Dating in Toronto
  • purple_heart“Excellent add-on for both Thunderbird and Posbox! Support is second to none!” — Jerry (Pop) Fairfield
  • Bome Software
  • www.radiocity.ch — internet code & design, Zurich, Switzerland
  • Conrad from New Jersey
  • Naoaki Ichihara
  • Fensons – web design and development
  • Charles Manske and Optimage Health support good software like ‘Send Later’ because if it’s valuable, you should pay something for it!
  • Call the Ninja $200 Flat-rate Data Recovery. No recovery, no fee. Serving clients across LA and the United States.
  • Anonymous (× 107)

There’s room on this list for you too! :-)

Installation

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 addons.mozilla.org, 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.

Preferences

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

Toolbar

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 MagicSLR add-on and adding its “Send Later” 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. Enigmail‘s message signing and recipient encryption does not currently work with Send Later. If you tell Enigmail to sign a message with your private key, or to encrypt a message for its recipients, and then you schedule it with Send Later, it will be encrypted with your own public key, so recipients will not be able to read it.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. Similarly, currently if you use Enigmail digital signatures on outgoing email, the timestamp on the digital signature will be when you saved the message to be delivered later, not when it gets sent.
  10. Outgoing message format preferences (Preferences | Composition | General | Send Options…) do not work with Send Later.

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 either through its IMAP gateway or ExQuilla) 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. In the meantime, here’s a workaround (thanks to about.com):

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

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

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

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 http://blog.kamens.us/send-later-3/#outbox-copy-failure.

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

  1. Check your Outbox (under Local Folders) to see if there is a scheduled message stuck there waiting to be sent. If so, and the message looks complete, run run File > Send Unsent Messages to send it. If the message looks incomplete, delete it.
  2. If there was no message in your Outbox, or if it was incomplete and you deleted it, then you’re probably fine. Restart Thunderbird to turn Send Later back on.
  3. Otherwise, check your Drafts folder to see if there’s another copy there of the message that you just sent from your Outbox, and if so, delete it from Drafts (unless it’s a recurring message, in which case you should open and reschedule it for the next time you want it to be sent). After doing this, restart Thunderbird to turn Send Later back on.
  4. If the problem persists, follow these instructions for repairing a corrupt Outbox.
  5. If the problem persists after that, contact 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 http://blog.kamens.us/send-later-3/#drafts-copy-failure.

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

  1. Check your Sent Items folder to find out which scheduled message was just sent.
  2. Check your Drafts folder to check if the message is there with the correct next scheduled delivery date. If so, you’re fine, and you can restart Thunderbird to turn Send Later back on.
  3. If the message was lost from your Drafts folder, then copy it from your Sent Items folder into your Drafts folder, double-click on it to edit the draft, and then reschedule it for the next time you want it to be delivered with the correct recurrence. Then restart Thunderbird to turn Send Later back on.
  4. If the problem happens again, contact 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 http://blog.kamens.us/send-later-3/#corrupt-drafts-error/.

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

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

    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:

<html>
<head>
<script>
function MinutesTo0830Weekday() {
    var now = new Date();
    var d = new Date();
    if (d.getDay() == 5) { // Friday
        d.setTime(d.getTime()+1000*60*60*24*2);
    }
    else if (d.getDay() == 6) { // Saturday
        d.setTime(d.getTime()+1000*60*60*24);
    }
    d.setDate(d.getDate()+1);
    d.setHours(8);
    d.setMinutes(30);
    return Math.round((d.getTime()-now.getTime())/1000/60);
}
var m = MinutesTo0830Weekday();
document.write("Send " + m + " minutes into the future.");
var d = new Date();
d.setTime(d.getTime()+m*60*1000);
document.write("Send at " + d + ".");
</script>
</head>
</html>

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);
    }
    d.setHours(8);
    d.setMinutes(30);
  }

  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);
    d.setDate(d.getDate()+1);
    var ok;
    while (!ok || (ok.getMonth() == d.getMonth())) {
	if (d.getDay() > 0 && d.getDay() < 6) { // Weekday
	    ok = new Date(d);
	}
	d.setDate(d.getDate()+1);
    }
    // Send at 8:30am on last weekday of month
    ok.setHours(8);
    ok.setMinutes(30);
    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);
    d.setDate(d.getDate()+1);
    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);
        d.setMonth(d.getMonth()+2);
    }
    else {
        d = new Date();
        d.setMonth(d.getMonth()+1);
    }
    d.setDate(0);

    if (d.getDay() == 6) { // Saturday
        d.setDate(d.getDate()-1);
    }
    else if (d.getDay() == 0) { // Sunday
        d.setDate(d.getDate()-2);
    }

    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 “mail.identity.id” and “mail.account.account”.

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

There are several ways to avoid this problem:

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

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

You may be in a situation where some of the time, you want to make sure to schedule every message you send, while other times, you want to send messages right away. For example, you might catch up on work late at night, but letting your clients know that might give them the incorrect impression that you don’t mind if they call you at god-awful hours :-). With Send Later and userChromeJS, we can make that happen. 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
	    .classes["@mozilla.org/preferences-service;1"]
	    .getService(Components.interfaces.nsIPrefBranch);
	prefService.setBoolPref("extensions.sendlater3.sendbutton", do_popup);
    }
}

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

// Now set up the timer.
if (! SendButtonPrefTimer) {
    SendButtonPrefTimer = Components.classes["@mozilla.org/timer;1"]
	.createInstance(Components.interfaces.nsITimer);
    SendButtonPrefTimer.initWithCallback(
	SendButtonPrefCallback,
	300000,
	Components.interfaces.nsITimer.TYPE_REPEATING_SLACK
    );
}

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

Troubleshooting

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.

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/Thunderbird.app/Contents/MacOS/thunderbird-bin >| /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

Translations

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.

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 start 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 “jik@kamens.us”. A donation of $10 or more makes you eligible for listing, including a link, banner or button if you’d like, on the supporters list! If you don’t like Paypal or can’t use it for some reason, there are other ways you can make a monetary contribution to support Send Later:

  • You can send me an Amazon gift card through amazon.com (not amazon.co.uk, amazon.de, etc. — I am only able to use gift certificates sent through amazon.com) at jik+sendlater3@kamens.us.
  • 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!

You can also Flattr me (button below). 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 4.3.1 (December 9, 2014)

If you like Send Later, please consider contributing or Flattring (below) 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.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.1beta2 (November 30, 2014)

Another attempt to fix the error messages showing up in the console when the send later dialog window pops up.

Also, the attempt to fix this in the previous beta release broke some functionality, in particular, when editing a previously scheduled message and popping up the send later dialog, the “Send at” button was greyed out until you edited the time field, when it should have been active by default since the dialog already had a time filled in (the time from when the message was previously scheduled). This is now working again.

Release 4.3.1beta1 (November 24, 2014)

BUG: Fix the accelerator keys for the shortcut buttons, i.e., make Alt-1, Alt-2, and Alt-3 once again activate the first, second, and third shortcut buttons. These accelerator keys have been broken for over two years, so I’m sort of surprised that no one has reported the problem to me before today!

TRANSLATIONS: Updated Japanese translations. Thanks, as always, to my awesome translators!

BUG: Another piece of the fix for expanding mailing lists in recent Thunderbird versions: gMsgCompose.checkAndPopulateRecipients no longer exists — it was replaced by gMsgCompose.expandMailingLists that we’re now calling — so don’t try to call it anymore. This fix doesn’t have any functional impact, other than eliminating an error message that was showing up for some users in the error console.

BUG: Fix a bug which was preventing a preference observer in the message composition window from being removed properly when the window was closed. This bug may have been a minor memory leak, but it’s hard to say for certain. This fix doesn’t have any functional impact that I know of, other than eliminating an error message that was showing up for some users in the error console.

BUG: Fix a couple of error messages that were showing up in the error console unnecessarily when the Send Later dialog was opened.

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.3beta3 (November 7, 2014)

Add missing strings for translations. Otherwise the add-on only works for English!

Release 4.2.4 (June 10, 2014)

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

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

Release 4.2.3 (April 10, 2014)

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

Release 4.2.2 (September 28, 2013)

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

Release 4.2.1 (September 21, 2013)

Changes since release 4.2.0:

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

Release 4.2.0 (July 1, 2013)

Changes since 4.1.7:

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

New Armenian translation. Thanks to HrantOhanyan from BabelZilla!

Release 4.1.7 (March 13, 2013)

Changes since 4.1.6:

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

Release 4.1.6 (January 2, 2013)

Changes since 4.1.5: Compatibility with Thunderbird 20+.

Release 4.1.5 (December 3, 2012)

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

Release 4.1.4 (November 1, 2012)

Important notes about this release:

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

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

Release 4.1.3 (October 19, 2012)

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

Release 4.1.2 (October 13, 2012)

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

Release 4.1.1 (October 13, 2012)

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

Release 4.1.0 (October 10, 2012)

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

Release 4.0.9 (October 9, 2012)

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

Release 4.0.8 (October 9, 2012)

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

Release 4.0.7 (October 5, 2012)

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

Release 4.0.6 (September 26, 2012)

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

Release 4.0.5 (September 25, 2012)

Release 4.0.5 was replaced by release 4.0.6.

Release 4.0.4 (September 19, 2012)

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

Release 4.0.3 (September 8, 2012)

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

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

Free-form date/time entry The date and time for scheduling a message are no longer entered using clunky drop-downs. Instead, you just type in the date and time you want, and Send Later 3 parses what you typed and figures out what you meant. Date parsing is currently supported in the following languages: English, French, German, Italian, Spanish, Portuguese, Swedish, Russian, Polish, Japanese, Korean, Simplified Chinese, and Traditional Chinese (contact me about adding support for additional languages). The add-on first attempts to parse dates using the language indicated by your locale, and if that fails, it falls back on English. Date parsing understands all sorts of interesting syntaxes in addition to conventional date/time entry. For example, “the day after tomorrow”, “next Thursday at 15:00″, “the beginning of next week”, etc. Date parsing in Send Later 3 is provided by the most excellent SugarJS library, created and maintained by Andrew Plummer. Because such interesting date syntaxes can be ambiguous, Send Later 3 tells you what it thinks you meant by parsing your text in real-time and showing in the send button when the message will be sent. This new functionality also makes it easier to schedule multiple messages at the same time, something which has been frequently requested. Rather than being forced to painstakingly selected the same values in the drop-downs over and over, you can simply copy the desired date/time into your clipboard and paste it into the date/time entry field of each message. Add the field to your toolbar to make it even faster! Enhanced recurring messages When scheduling a recurring message, you can now indicate a count in addition to a unit. In other words, whereas before you could specify only daily, weekly, monthly or yearly, now you can specify every 3 days, every 5 weeks, etc. Furthermore, you can schedule monthly messages on the same week and day of every month, e.g., “the third Tuesday of the month.” SeaMonkey support Send Later 3 now supports SeaMonkey! Support for the Mail Merge add-on Starting with its version 3.4.0, the Mail Merge add-on supports Send Later 3! Instructions for using Mail Merge with Send Later 3 can be found here. (Note: Just to be clear, support for Send Later 3 in Mail Merge required changes to Mail Merge, not changes in Send Later 3. I’m not trying to take credit for the most excellent work of the author of the Mail merge add-on; I’m just letting people know that you can now use Mail Merge with Send Later 3.) Other changes In addition to the major enhancements described above, there are also a number of other changes in this release:

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

Release 3.3.10 (May 28, 2012)

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

Release 3.3.9 (May 25, 2012)

Changes since 3.3.8:

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

Release 3.3.8 (May 10, 2012)

Changes since 3.3.7:

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

Release 3.3.7 (March 27, 2012)

Changes since 3.3.5:

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

Release 3.3.6 (March 20, 2012)

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

Release 3.3.5 (February 29, 2012)

Changes since version 3.3.4:

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

Release 3.3.4 (February 15, 2012)

Changes since 3.3.3:

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

Release 3.3.3 (January 18, 2012)

Changes since version 3.3.2:

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

Release 3.3.2 (November 16, 2011)

Changes since version 3.3.1:

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

Release 3.3.1 (October 25, 2011)

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

Release 3.3 (July 18, 2011)

Changes since release 3.2.9:

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

Release 3.2.9 (June 19, 2011)

Changes since 3.2.7:

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

Release 3.2.8 (June 15, 2011)

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

Release 3.2.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 Milcom.es
    • German from Suzanne Iseli and Daniel S.
    • French from Didier Journois
  • Add translations for the add-on description which appears in the extensions manager.
  • Claim compatibility with 3.2a1pre and 3.3a1pre until proven otherwise.
  • Add a new hidden preference (i.e., you can get to it from the advanced config editor, but not from the Send Later 3 preferences window), “extensions.sendlater3.senddrafts”, which will cause Send Later 3 not to actually send any scheduled drafts if it is set to false. This is useful, e.g., if you want to use Send Later 3 for scheduling drafts but use some other tool for actually sending them.
Print Friendly

217 thoughts on “Send Later Thunderbird Add-on

  1. Fredrik

    I have a setup with one Thunderbird instance running and sending mail. Ans some other instance queuing the message.
    Both Thunderbird instances have more than one account configured and some have more than one identity.

    The queuing instance inserts these headers:
    X-Identity-Key: id2
    X-Account-Key: account3
    In the draft message, and the sending instance apparently uses these headers to include a incorrect Return-Path header in the send e-mail.

    Is there anyway to correct this?

    Reply
  2. subzero

    This is the current issue I’m struggling with:

    erasing / deleting drafts from draft folder on gmail doesn’t work through thunderbird. this makes it impossible to delete a scheduled email. this is very important as there should be a simple way to undo the scheduled delivery before it’s delivered. editing the email and saving it again to draft without send later feature removes the scheduled send, but not quite clear, and keeps it forever in drafts folder.

    p.s. I have it set to send to trash folder as default/normal (not mark as deleted), and delete works great in inbox and sent, just not drafts. appears to be the same in all gmail imap accounts I have and just limited to drafts folder.

    Reply
    1. subzero

      to be clear: the drafts are deleted, but then they come right back exactly as they were (with or without scheduled delivery time) maybe a second later.

      Reply
  3. zabolyx

    I could use a selectable folder for this. I would like to put them in a subfolder of the local drafts. I’m also using Auto Draft Folder Select to help keep those separated… but I’d also like to get these guys into their own location. Think that can be done or is there an item in the about:config that I can edit?

    Reply
    1. jik Post author

      Can you clarify what you mean by “Auto Draft Folder Select”?

      This has been asked for numerous times before. I thought it wasn’t possible, but I just did some research and in fact it looks like it is. I’m going to add it to the to-do list and try to get to it soon, though I can’t make any promises.

      Reply
  4. Paul

    Problems with the latest release of Thunderbird 31.1.1

    2014-09-19 14:27:28 extensions.sendlater3 WARN addSENDLATER3ColumnHandler: gDBView problem

    Reply
  5. Remo

    Hope there is a feature which will asks if I still want scheduled mail to be sent if it missed the scheduled time for some reason. And not automatically send it out as soon as TB is started. TB could have been accidentally shut down or failed to run for during that period.

    Scheduled mail precisely being time-sensitive, I may no longer want it to be sent out if too much time has lapsed. It led to confusion in some situations.

    Reply
    1. jik Post author

      Hope there is a feature which will asks if I still want scheduled mail to be sent if it missed the scheduled time for some reason.

      Nope, not right now.

      TB could have been accidentally shut down or failed to run for during that period.

      “Doctor, it hurts when I go like that.”

      “Then don’t go like that!”

      Seriously, if you have scheduled messages queued up to be sent, then don’t shut down Thunderbird.

      Reply
      1. Remo

        Why would anyone intentionally shut down TB if they had messages queued to be sent out? Accidents, power outages, loss of network and many other reasons which prevented TB from sending out mails during that period is what I was refering to.

        Reply
        1. jik Post author

          Accidents, power outages, loss of network and many other reasons which prevented TB from sending out mails during that period is what I was refering to.

          Certainly, you could accidentally shut down Thunderbird, forgetting that they had messages scheduled to be sent out. But you can avoid this simply by getting into the habit of not shutting down Thunderbird.

          Certainly, power outages, dead laptop batteries, etc. can cause a computer and the apps running on it to be shut down unintentionally. But this, too, is hardly a frequent or unavoidable occurrence unless you live in a part of the world where 24×7 power is not a thing to be taken for granted, in which case you probably have much bigger things to worry about than whether your scheduled messages are sent out on time.

          Ditto for “loss of network.”

          As for “many other reasons,” I’m not really sure what “many” other reasons there might be.

          Look, I’m not saying this would not be a useful feature. And I hope that I will eventually get around to implementing it. What I’m saying is that in the greater scheme of things, it’s really Not That Big A Deal. If it is for you, then I’m sorry that the add-on does not meet your needs, and you may of course feel free not to use it.

          Reply
          1. Remo

            You opened this asking for suggestions or features for improvement. And that’s I did. But you seem strangely sensitive or even annoyed to what I posted. Anyway, it’ OK. You’re doing a great job, and thanks for the add-on.

            Reply
  6. Larry

    I am a new Thunderbird user (May 2014) and just installed Send Later with the hope of replicating the Outlook Express delayed mailing function. That is, all emails automatically go the Outbox and then automatically send when the program does its Send/Receive cycle (every 1 or 2 minutes in my case).

    Is this possible? Thanks, Larry

    Reply
  7. Kirk

    Very nice plugin. I’m using Send Later 4.2.2 on ThunderBird 24.3.0 on OS X 10.9.1. I just installed it and basic testing seems to indicate it is working correctly. The only issue I have is that when trying to select a recurring schedule I can’t schedule a time period less that ‘2’. So, if I want to send an email every day and select ‘daily’ and ‘every’ and then try and type or scroll the ‘days’ value to ‘1’ it doesn’t allow the change. The smallest value I can get is ‘2’. Is this the desired functionality or should I be able to get to ‘1’?

    Kirk

    Reply
    1. jik Post author

      As it says above, “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!”

      Having said that…

      1 is the default. You only need to select something in the “Every” box if you want to use a periodicity other than 1.

      Reply
  8. delta

    Is there a way, that the “date in enigmail (signature)” shows the send date as example create date = 10.00 send date would be 11.25. The signature shows the early date. Expecially when the send date is late in the afternoon or early morning – I would like to avoid this.

    Reply
    1. jik Post author

      That’s a really good point I hadn’t thought of before. Unfortunately, the Enigmail signature is generated when the message is scheduled, not when it is sent. I don’t have a good workaround for that right now. I think it’ll actually be pretty complicated to work around and require a pretty tight integration with Enigmail, which I’m not in a position to work on right now. But I’ll put in on my to-do list as something to be addressed later. Thanks for pointing out the problem!

      Reply
  9. Pingback: How to Set Up Scheduled and Recurring Email Reminders to Customers/Clients - Inbound Market Pro

  10. Rene

    Hello,

    I have a problem with the Send Later AddOn. A while ago, everything functioned as expected, but since some time (don’t know since when), it doesn’t work anymore.

    I have de- and reinstalled the AddOn, which didnt’ help. I also noticed, that there is always a “Sende Später [RUHEND]” (Send Later [IDLE]) in the statusbar, even if Messages are pending. The Messages are beeing sent when re-starting Thunderbird.

    Can you help? I am using TB 24.0 right now.

    Greetings from Germany

    René

    Reply
  11. Sue Hurt

    We love Send Later. A Great plug-in. Thanks, too, for the helpful tips.

    Reply
  12. The Insaint

    Hi!

    Just wanted to say, that this great addon suddenly stopped working correctly.
    After clicking “Send” it displays the send later dialog and when pressed send now the dialog disappears … and nothing happens. I have to press send again on the email, then the mail gets off.
    I deactivated send later and instant sending is possible. reactivated send later and the above “problem” exists.
    Any hints on that?
    TB 17.0.7, Win7 x64

    Reply
    1. jik Post author

      As it says above, “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!”

      Having said that, it sounds like Send Later thinks Thunderbird is in offline mode. This page may help. If Thunderbird puts itself into offline mode after you start composing a message, the button in the compose window will say “Send” but it’ll do”Send Later” when you click it.

      If that doesn’t solve your problem, feel free to email me and I’ll troubleshoot further with you.

      Reply
      1. The Insaint

        Hi!

        Sorry, it was not really visible in all this text sausage.
        Anyway, your suggestion does not apply, TB is never in offline mode and I’m not using the offline mode.
        Thanks for the info anyway.

        Reply
        1. jik Post author

          As I said above, please email me if you wish me to help you troubleshoot this further.

          Reply
  13. Rick Stone

    Don’t know why so many people seem to have trouble with this add-in. I’ve installed and used it for my monthly newsletters for the last few months and it’s working GREAT! Segmented my email lists into groups of under 100 (mostly about 75-90 addresses per list) and always send them bcc, with my own address in in the “to” field (so that I know they’re being delivered properly) and send them out about every 15 minutes. They’re delivered without a hitch.

    The only gripe I’ve got is that it requires that my computer be left on for several hours (but of course that’s not your problem). I’d love to see something like this that was cloud based.

    Reply
    1. jik Post author

      Don’t know why so many people seem to have trouble with this add-in.

      I appreciate your kind words, but I don’t want to dismiss out of hand all the people who have trouble using the add-on. While it works quite reliably for the vast majority of users, there are certainly situations in which it doesn’t work properly through no fault of the users who run into those problems. I’m sure it’s very frustrating for those people that they can’t get it to work.

      In short, the odds are very much in your favor, but you should still count yourself lucky that you’re not having any problems and not give the people who do a hard time. ;-)

      The only gripe I’ve got is that it requires that my computer be left on for several hours (but of course that’s not your problem). I’d love to see something like this that was cloud based.

      If Gmail is an option, check out Boomerang.

      Reply
  14. abe

    What a piece of crap! This bullshit hosed my install of Thunderbird the very 1st time I used it. Then it gives me an error about a mailbox that doesn’t even exist! THEN! I go to this clowns homepage and it gives me completely useless instructions on how to fix my hosed install. Thanks SO much.

    Reply
    1. jik Post author

      I am sorry you are frustrated with my add-on, but the way you have chosen to address that frustration is neither productive nor appropriate.

      I can’t do anything in my add-on’s code about garbage in people’s Thunderbird profiles. Such garbage is not my add-on’s fault, and there’s no automated way to clean it up without potentially making the problem worse. It needs to be cleaned up manually by the user.

      I have no idea what you mean by “hosed my install of Thunderbird.” That’s quite a grandiose claim with no details to back it up. No details means I can’t help you.

      There are instructions in the user guide above for how to get help with the add-on if you’re having trouble with it. I often respond within minutes to support emails, and I rarely take more than a day to respond. Note, in particular, this text in that section of the user guide:

      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!

      If you had bothered to contact me, you would have discovered that I am happy to work with any user for as long as it takes to fix problems the user is having.

      Posting a derisive comment here with no details about the problem you are having, and posting an insulting 1-star review on addons.mozilla.org, again with no details about the problem you are having, and leaving a bogus email address attached to your comment here so I can’t even reach out to you in private email (which I tried to do before posting this public comment), is just obnoxious.

      Has it occurred to you that if there are so many users who are so happy with this add-on, perhaps the problem you are having with it is an anomaly that I could not have foreseen, and it might behoove you to try to work with me to get it resolved before going all postal?

      I remain happy to help you work out whatever problems you are having, if you’re willing to work with me and, frankly, stop being a jerk.

      Reply
  15. Ed

    This plugin should be an integrated feature of Firefox. They should consider an arrangement with you.

    I do have one question.
    Once I set up an email to send later, it correctly appears in my outbox but I am unable to confirm the date it is set to be sent. Since some of my emails are 30 and 60 days in the future, I can’t remember the date each is set for. I would like a way to go back and see the dates for the send later.

    Thanks
    Ed

    Reply
    1. jik Post author

      This plugin should be an integrated feature of Firefox.

      You mean Thunderbird.

      They should consider an arrangement with you.

      It’s open-source software, so if the maintainers of Thunderbird want to integrate it into Thunderbird, they’re welcome to do so with or without my consent. They probably won’t, since they’re content to let it continue to be an add-on so they don’t have to maintain it.

      Once I set up an email to send later, it correctly appears in my outbox but I am unable to confirm the date it is set to be sent. Since some of my emails are 30 and 60 days in the future, I can’t remember the date each is set for. I would like a way to go back and see the dates for the send later.

      You are pressing the wrong button. “Put in Outbox” is not doing what you want. Please read the user guide more carefully, in particular the Basic usage section.

      Reply
  16. Varun

    Excellent plugin if I can figure out how to use it right. I tried using it along with the Mail Merge Plugin 3.4.1 and I set the deliver mode as “Save as Draft” to get the Date field. I filled in a variable {{Time}} in the date field. I then used a csv with with a column for Time with entries such as 1:42am, etc. As soon as I clicked Ok the emails were sent even though the Time field had times several hours in the future.

    Any suggestions as to what I am doing wrong here?

    Reply
    1. jik Post author

      Please read the documentation above for using Send Later with Mail Merge. You need to specify the date as well as the time. Otherwise, the time will be interpreted as on the current day, so if it is past the time you specify the message will be considered “late” by Send Later and sent immediately.

      Reply
  17. Andrew

    Not sure why, but wiith this plugin enabled thunderbird consistently is running ith a CPU usage above 10% on macbook pro. This has been annoying me for weeks, so I finally sat down and isolated the problem and it is definitely caused by this add-on: when it is disabled CPU usage quickly settled down to ess then 1% and with it enabled, an all other add-ons disabled, the CPU usage sits at 8-10%.

    Reply
    1. jik Post author

      You are much better off emailing me for support rather than posting here, so that I can interact with you directly.

      Which version of the add-on are you using? Tools | Add-ons will tell you.

      What do you have the check interval set to? Go to Tools | Add-ons and then click on Preferences or Options for Send Later to find out.

      Do you have a lot of drafts in your Drafts folders?

      Does the Send Later progress bar at the bottom of the screen go constantly, or does it only show up for a few seconds every minute or so?

      Please follow the instructions in the user guide for enabling debugging logging, and let Thunderbird run for a couple of minutes with debug logging enabled, then send me the resulting log.

      Reply
  18. Hurding Katz

    Well, my latest message is still hasn’t gone anywhere. It was supposed to go out over an hour ago. (And Thunderbird is running.)

    I filled in the schedule information, and clicked the button.

    The message didn’t go to Drafts (as I found out later). It was placed in Outbox. (I did not click that choice.)

    What gives?

    Reply
    1. jik Post author

      If your message went into Outbox, then I have to assume you clicked the wrong button or typed Alt-O to activate that button.

      Are you able to reproduce the behavior you say occurred, i.e., clicking the “Send at time” button causing the message to go into the Outbox rather than back into the Drafts folder? If you are able to reproduce it, I’ll gladly look into it, but if not, then clicking the wrong button is the most logical explanation for the behavior you observed.

      Reply
      1. Hurding Katz

        A clarification: I tried again, watching as it happened this time, with 2 messages. Both were “sent” this time, from Drafts. They did not arrive at their destination address. They were “sent” to Outbox within 4 minutes of the designated delivery time. They don’t appear to be going anywhere else.

        I am left to assume the message I intended to send yesterday was transferred from Drafts to Outbox in the same way.

        Using Send Later in the past transmitted messages from Drafts to their address. Now they just stay home, albeit moving to a different folder.

        What gives?

        Reply
        1. jik Post author

          Using Send Later in the past transmitted messages from Drafts to their address. Now they just stay home, albeit moving to a different folder.

          Send Later has always worked by first moving messages from Drafts into Outbox, and then telling Thunderbird to actually transmit the messages currently in the Outbox. That hasn’t changed. What you’re seeing is not a change in the behavior of the add-on, but rather the fact that for some reason messages are not being transmitted by Thunderbird from your Outbox.

          Go to Tools | Add-ons, click on the Preferences or Options button for Send Later, and check whether the “Trigger unsent message delivery from Outbox” checkbox is checked. If it’s not checked, then that’s your problem. Perhaps you unchecked it accidentally at some point. If it is not checked, then Send Later never tells Thunderbird to transmit messages from the Outbox. You would only want to disable that setting if you are instead using something like BlunderDelay to periodically flush the Outbox.

          If it is checked, then open up Tools | Error Console, schedule a message to be sent by Send Later immediately (you can type “now” in the text box, and Send Later will send that message within a minute), and watch the error console when the message is being sent to see if any errors are being logged. If so, send them to me and I will try to figure out what’s going on.

          Reply
      2. Hurding Katz

        UPDATE: Just tried again, with the update installed.

        Same thing: Messages went on time, transferred from Drafts to Outbox. Do not appear in Send mail.

        Reply
  19. Gergely

    Hello,

    Am I right, that the scheduled messages will be sent only if Thunderbird is turned in the time of the scheduled sending?
    And where does the Thunderbird put the e-mail before sending?
    thank you!!!
    gergely

    Reply
    1. jik Post author

      Am I right, that the scheduled messages will be sent only if Thunderbird is turned in the time of the scheduled sending?

      Yes, as explained above.

      And where does the Thunderbird put the e-mail before sending?

      In the Drafts folder, as explained above.

      Reply
  20. Llaves

    I added the “Send Later” button to my compose window toolbar, but it’s grayed out. This occurs for new messages and replies, neither of which are recurring messages. I’m running 16.0.1.
    Add-ons running are:
    CompactHeader
    ExtraFolderColumns
    Lightning
    MoreFunctionsForAddressBook
    TestPilot for Thunderbird

    Thanks

    Reply
    1. jik Post author

      Hi David,

      The Send Later button in the toolbar is only useful if you also include the text box or date/time picker. Its purpose is to finish scheduling a message whose send time you’ve already entered, not to pop up the Send Later prompt window. I’ve updated the user guide above to reflect this.

      Regards,

      Jonathan Kamens

      Reply
  21. iPhilip

    Thank you for this great add-on.

    I am a bit confused about your “I want a ‘Send Later’ button!” comment above and the requirement of the MagicSLR add-on. Your add-on comes with a Send Later button but when I drag it to the compose window it seems not to work, unless I add another button like the “send time” button. Am I missing something? I would have expected that having only the Send Later button would make the pop-up to show up. If the behavior I am observing is correct, you might want to add some words to that effect to the documentation so that others don’t experience the same confusion.

    Thank you for your help in clarifying this issue.

    Reply
    1. jik Post author

      Hi Philip,

      Sorry about the confusion. In response to your feedback, I’ve updated the user manual to make it clear that the Send Later button that comes with this add-on is only used to finish scheduling a message once you’ve already entered the send time in the text box or date/time picker.

      I’ve considered overloading the button so that if you don’t enter a time it pops up the prompt window, but I think that might be confusing to some users.

      Reply
  22. John LeBlanc

    One of my favourite addons! Could I suggest less reliance on the mouse? Could [Enter] be configured to automatically send to the Outbox as a default (or perhaps allow users to set default behaviour)? My most common use is composing emails offline and then sending them as a batch when I go online again. For those times when I want to specify an actual time, I don’t mind using the mouse although “Alt + underlined letter” is also a great time saver for touch typists.

    Reply
    1. jik Post author

      Hi John,

      Enter already does something, so it’s not available, but I’ll add a quick-access letter to the Outbox button (i.e., you’ll be able to type Alt-O to activate it) in the next release of the add-on, coming out in a week or so, probably.

      Another option is to set the send_while_offline preference, described above in the release notes for version 3.3.7, to false. Then you can just type “now” and hit Enter when offline, and the message will be saved in your Drafts folder and not sent until you go back online.

      Regards,

      Jonathan Kamens

      Reply
      1. John LeBlanc

        Thanks for speedy fix. Alt-O works. Couldn’t get the second to work. I changed default to ‘false’, restarted TB, went offline, composed two test messages, clicked sendlater, typed ‘now’, hit Enter, saw it go to Drafts then went back online. TB & sendlater made message disappear from Drafts folder but neither message (sent in two different sessions) got to their destination (another of my email addreses). Does this need debugging?

        Reply
        1. jik Post author

          *sigh* You’re right, it turns out that saving a draft while in offline mode won’t work, because of a bug in Thunderbird: https://bugzilla.mozilla.org/show_bug.cgi?id=805626.

          So you can either use Alt-O to save in Outbox, or another option would be to modify your account settings so that drafts are stored in Local Folders instead of on the IMAP server. Messages stored in a local folder won’t run afoul of bug 805626.

          Reply
          1. Anonymous

            Local folders makes sense; I suppose the downside is that when you’re online, they’ll still be saved in local folders and therefore won’t be available if I switch back to gmail in a browser, is that right?

            Now should I set send_while_offline preference back to ‘true’? I don’t have a good sense of what it does.

            Reply
            1. jik Post author

              Local folders makes sense; I suppose the downside is that when you’re online, they’ll still be saved in local folders and therefore won’t be available if I switch back to gmail in a browser, is that right?

              Correct.

              Now should I set send_while_offline preference back to ‘true’? I don’t have a good sense of what it does.

              If the scheduled send time of a message arrived when you’re in offline mode, and send_while_offline is true, it’ll be copied into your Outbox and date-stamped at that time, though it won’t actually be sent, obviously, until you go back on-line.

              If, on the other hand, send_while_offline is false, it won’t be copied into the Outbox and date-stamped until you go back on-line, so the Date header in the message will reflect when you went back on-line (or shortly after).

  23. mark

    Does this add on still work for TB 16.0.1 on Max OSX 10.7.4?

    It says “inactive” in the statusbar, and indeed, no e-mail has been sent…

    Reply
    1. jik Post author

      Hi Mark,

      Really sorry about the trouble! Please try version 4.1.2 and let me know if it resolves the issue for you. If not, I’ll do my best to solve whatever the problem is!

      Reply
        1. jik Post author

          Bummer.

          Please check how often you have Send Later configured to check for messages. Go to Tools | Add-ons, click the “Preferences” or “Options” button next to Send Later, and then see how many minutes the setting says to wait between checks. I’m wondering if that value is somehow messed up and preventing Send Later from checking for scheduled messages. Note that if you change the value, you have to restart Thunderbird for the new value to take effect right away.

          If that doesn’t help, then the fastest way for me to debug this is with a short remote control session of your desktop. You’ll be able to see what I’m doing and cut me off if I misbehave (which I won’t, obviously, but still…). If you’re willing to let me do that, please email me so we can set up a mutually convenient time for it.

          If you’re not comfortable with that, you can follow the instructions above for enabling debug logging and then, with debug logging enabled, schedule a message with Send Later to be sent right away (you can put “now” in the scheduling text box to do that), and then wait a couple minutes for Send Later to try to send it, and then send me the resulting logs to analyze.

          Reply
          1. jan broekgaarden

            I have the same problem
            sendlater inactive in toolbar
            reinstalling etc doenst help
            use: TB 16.0.1 and latest version of sendlater

            Reply
            1. Nico

              Hello
              Same problem
              Send Later [INACTIVE] in statusbar.
              TB 17.0.4
              SL 4.1.6 French version

            2. jik Post author

              I have explained above what people who are having this problem can do about it. It’s right there on your screen. I don’t have any advice to offer about this problem that I haven’t already offered. Posting comments about it here is not going to help solve the problem. If you want me to solve the problem for you, then follow the instructions I’ve posted already.

  24. PK

    Thanks for the plugin.

    Referencing v.4.0.4: Some error checking is bypassed when sending later. I sometimes leave the To: field empty until I am finished so I don’t accidentally send an unfinished email (before Send Later add-on). If I Send Later, no error message pops up reminding me that no recipients were specified unless I select Send Now. If sending later, it will go to the outbox on time, but then just sits there.

    Reply
    1. jik Post author

      Yes, the fact that Send Later 3 will let you schedule a message without any recipients is on my list of things to be fixed.

      Reply
  25. H.B.

    Sendlater 4.04 solved the “Folder my be corrupt” problem for me.

    THANK YOU VERY MUCH!

    Reply
  26. Charles Leach

    Great bit of software – thanks for the time you’ve put into developing this.

    Reply
  27. patrick

    Hi,

    to fix the “corrupt drafts folder” issue I UNINSTALLED the add on 4.0.3. and repaired each draft folder, & then re installed the add on – that seemed to fix it.

    Reply
    1. jik Post author

      The only point of uninstalling the add-on while repairing the Drafts folders is to prevent the error pop-ups from getting in the way while you’re trying to repair the folders. Uninstalling and reinstalling is unlikely to be relevant to addressing the root cause of the issue. Upgrading Send Later 3 to version 4.0.4 is the correct fix.

      Reply
  28. Karen

    This is a great plugin. I use it all the time. Thanks for fixing the problems so quickly.

    Reply
  29. Pingback: pc.casey.jp » [Thunderbird] Send Later 3 Ver.4.0.3 で”フォルダ壊れた”エラー

  30. Cindi

    I’m confused. Does this extension put a delay on your outgoing messages, like 5 minutes for example? That is what I am looking for. But I installed it and checked the options, and don’t see any way to set it for the delay. My messages are still sending immediately.

    Thanks
    Cindi

    Reply
    1. jik Post author

      I’m confused. Does this extension put a delay on your outgoing messages, like 5 minutes for example?

      Yes, it can do that.

      That is what I am looking for. But I installed it and checked the options, and don’t see any way to set it for the delay. My messages are still sending immediately.

      Either you are using the add-on incorrectly, or it is malfunctioning. Since you haven’t told me what exactly you are doing when sending your messages, I have no way of determining which of these is the case.

      Have you read the user guide above and followed its instructions?

      Reply
  31. sebadamus

    Great addon!!! I have one question, is it possible to make default send action to be a send 5 minutes (I mean, without poping up the send later 3 dialog… so each time I send it sends 5 minutes later)?

    Thanks!

    Reply
  32. John

    Hi, I am trying out the 4 Beta 4 version. The add on is great but I don’t like the new method of setting the time. The main issue that causes confusion is that in Europe we use the format of day/month/year and this can lead to confusion with the US method of month/day/year. In version 3 we picked the time from the menu and so avoided this confusion.

    Could you revert back, please.

    Thanks a million,
    John

    Reply
    1. jik Post author

      1. The next beta release will be better at parsing European dates and dates in non-English languages.

      2. You can avoid the ambiguity by spelling out the month name rather than using a number. E.g., “July 1 2012″ instead of “1/7/2012″ or “7/1/2012″. And there are other unambiguous formats like 2012-07-01.

      3. The next beta release will also be smarter about interpreting dates as future rather than past. For example, if today is Tuesday and you write “Monday” as the date, the current beta release will interpret that as yesterday, whereas the next beta release will interpret it as Monday of next week. That applies for dates as well, so you won’t have to type the year at all if you’re referring to the upcoming instance of the date.

      4. It may take some getting used to, but I am confident that once you get used to it, you will find the new interface easier and faster than the old one. It is also by far the most requested feature, so it is very unlikely that I will be reverting to the old functionality.

      Reply
  33. pat toche

    I use this add-on and recommend it.

    I use it in combination with magic SLR.

    My needs are actually very simple:

    1. keep “send later” and “drafts” separate
    2. keep “send later” and outbox separate

    so far my system has been to set up a button “send next year” with a delay of 525,600 minutes, and then to send them manually whenever I want to send them (which may not be as far into the future as next year).

    Would it not be possible to have a “send later at some unspecified date” button with perhaps the email being stored in a “sendlater” folder rather than in the drafts or outbox folders? And would it be possible to customize the “send later” dialog window even more, with the ability to minimize it into a single “send later (at some unspecified date)” button (I just don’t need all those options)? Just a thought…

    Thanks a lot for the hard work and for this very valuable add-on.

    Reply
    1. jik Post author

      Hi Pat,

      On the question of simplifying the dialog, I’m not sure your use case is sufficiently widespread to justify the additional complexity of supporting that customization. I think you’ll just have to live with the buttons you don’t use. :-)

      On the question of storing scheduled messages in a folder other than Drafts… Other users have asked for that, and I agree that it would be useful functionality, but there is a barrier, i.e., that Thunderbird treats the Drafts folders as “special” and it is difficult (and perhaps even impossible) to emulate that behavior in other folders. In particular, when you open a message in the Drafts folder, Thunderbird knows that it is a draft and brings up the message in an editor rather than displaying it in read-only mode. That functionality is essential to ease of use of the add-on.

      If scheduled drafts were stored in a different folder, than to edit one of them, the user would first have to move it into the Drafts folder, then open it. There would be a number of other complications as well. The specifics aren’t really worth going into, but suffice it to say that it would make everything more complicated and somewhat less reliable, so I’m reluctant to go down that path.

      Having said that, there is a workaround you can use to get this functionality… You can create a separate account in Thunderbird to be used only for scheduling messages, and configure a special Drafts folder for that account. Then, when you select that account in the From: drop-down and schedule a message, it’ll be saved into that separate Drafts folder.

      Reply
  34. David

    This is a brilliant add-on.

    I run an email message system for a charity, but my ISP only allows 300 messages per hour. I have divided my bulk address list into 280 smaller address lists then compose the message to each group putting them in the drafts folder. I then set a manual timer for each hour delay. It works well, but the timer bit is a pain.
    This add-on is an easy way of automating this process. I have not tested it ‘in anger’ but have tested it to a few friends many times and it works faultlessly

    VERY MANY THANKS – I can personally donate $5, but will try to get the charity to do a little better…..

    Reply
  35. V. Callinan

    Do you have a mailing address where I can mail a cheque? I’m not donating via credit card online.

    Reply
  36. XLBC

    Le bouton “Envoyer plus tard” a remplacé l’original…
    Très pratique, si on a oublié quelque chose ou quelqu’un dans le mail on peut corriger (pendant quelques secondes) après avoir fait “Envoyer plus tard” !!! Pratique ;-)

    The “Send Later” button replaced the genuine…
    Very useful, if you forget something or somebody in your mail, you have some seconds to fix it !!! Smart ;-)

    Reply

Leave a Reply

Your email address will not be published.