Skip to content

Caveats and known issues

jph-sendlater edited this page Jan 10, 2021 · 3 revisions

Table of Contents

Caveats

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. This is assuming Send Later is configured to deliver unsent messages at send time (see the “Trigger unsent message delivery from Outbox” preference).
  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. 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.
  4. 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.
  5. Outgoing message format preferences (Preferences > Composition > Send Options...) do not work with Send Later.
     Note: this may no longer be the case, but I haven’t checked lately. If you do experiment with it let me know the results.
  6. I have been told by multiple people that messages sent from or to iCloud or me.com accounts never appear in the recipient’s inbox even though Thunderbird says they were sent successfully. Please note that this is not a bug in Send Later or Thunderbird, it’s a problem with iCloud. Apparently, Apple thinks it’s OK to run a mail server which arbitrarily and completely silently discards valid email messages with no notification to either the sender or recipient that this has occurred (this is discussed by others on the internet, e.g.: here, here, here, here). I have tried, unfortunately without success, to find a fix or workaround for this problem. The only possible fix I’ve been able to find — and I’m not actually sure it works — is to check your account settings and confirm that the outbound SMTP configuration in Thunderbird for your iCloud account matches the settings Apple says you should be using.
  7. Send Later does not work with ExQuilla, because Send Later depends on being able to put messages into your local Outbox and then send them with the “Send Unsent Messages” command, but “Send Unsent Messages” is not implemented in ExQuilla. If you would like to see Send Later work with ExQuilla, I suggest you contact the maintainers of ExQuilla and ask them to make sending messages to ExQuilla from the local Outbox work properly; the more people ask, the more likely it is that they will fix this problem. Send Later does work with Owl for Exchange, the add-on which is intended to replace ExQuilla, when configured as described below.

Known limitations

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

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

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 Edit > Account Settings... or Hamburger menu > Account Settings... and viewing the Copies & Folders page for the affected account.

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

Thunderbird must be running for scheduled messages to be sent

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

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

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

Return receipts don’t work

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

  1. Open the Thunderbird options dialog with Edit > Preferences...
  2. Scroll to the bottom of the “General” page to the Config Editor... button click the “I’ll be careful, I promise!” button if it asks you to.
  3. Enter “mail.compose.other.header” in the filter box.
  4. Double-click on the mail.compose.other.header setting and set it to “Disposition-Notification-To”. If it already has a non-empty value, add a comma and then “Disposition-Notification-To” to the end of it.
  5. Quit from and restart Thunderbird.
  6. When you are composing a message for which you want a return receipt and which you want to schedule to be sent later, then click on an empty line in the message header in the compose window, select “Disposition-Notification-To” in the drop-down, and then enter your email address as the value of the header.
If you want to automatically request a return receipt for every message you send, so that you don’t have to do it manually each time you schedule a message to be sent later, do the following (thanks to MozillaZine):
  1. Open the advanced configuration editor as described above.
  2. Enter “useremail” in the filter box and scan through the matches to find the email address of the account which you want to generate return receipts. Remember the “id#” for that account, where “id#” here and below means the characters “id” followed by a number which is different for each of your configured accounts.
  3. Enter “mail.identity.id#.headers” to find out if there are already custom headers configured for the account. If not, then right-click in the settings area to create a new string setting with that name.
  4. Put “receipt” as the value of the setting if it’s empty, or append “,receipt” to the end of the existing value.
  5. Create a new string setting called “mail.identity.id#.header.receipt”, and set its value to “Disposition-Notification-To: address”, where address is the email address to which you would like return receipts sent.

Thunderbird hangs frequently on Windows

Note 1: I don’t know if this is still a problem, but I’m leaving it here in case it does come up again.

Note 2: One way to avoid any laggy behavior in Thunderbird is to ensure that the Send Later option “Console log level” is set to “Info” (or “Warn”, “Error”, or “Fatal”). High debug log activity seems to bog Thunderbird down over time.

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

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

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

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

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

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

Two notes about this:

  1. If your antivirus software does not have real-time protection, or if it has it but you have it turned off, then I personally do not recommend excluding Thunderbird mailbox files from your scheduled antivirus scans.
  2. The recommendation above for excluding Thunderbird mailbox files from scans comes from the Thunderbird team, not from me. See their wiki for more information. I am not endorsing this recommendation; I’m just passing it on.
Something to keep in mind is that the size of your Thunderbird files is contributing to the problem. Larger files take longer for antivirus products to scan. You may have large files in your Thunderbird profile for several reasons, including: you have folders containing many messages that you have configured to store local copies; you have many messages across your entire account and you have the global search feature enabled, since that means the global search index file will itself be very large; you have folders that haven’t been compacted in a very long time so they have a lot of wasted space in them their local storage files; you have an old Thunderbird profile which as a result has index files that have a lot of wasted space in them. Given these possibilities, here are some ideas that might help reduce the size of the files in your profile and thereby reduce the duration of hangs:
  • don’t store local copies of messages in folders whose messages you don’t access that often and don’t need to be able to full-text search;
  • split up very large folders into multiple folders containing fewer messages (as I rule, I personally try not to let folders grow above 200MB; I find the ShowFolderSize extension particularly useful for this);
  • disable the global search index if you don’t use it;
  • limit which folders are included in your global search results;
  • rebuild your global search index periodically (follow the instructions in that link for locating the search index file, and check how large it is before and after you rebuild it, to see if rebuilding it actually reduces its size significantly and therefore makes this work continuing to do in the future);
  • compact all your folders (File > Compact Folders); or
  • worst-case scenario, rebuild your Thunderbird profile to see if that helps.
Another option, which we list separately from the bulleted list above because it is still in the experimental phase (at least as of when this paragraph was written in September 2016), is to switch to Maildir storage, which stores each incoming messages in a separate file. Be careful about this, however, because although it mostly works, as I just noted it isn’t yet fully supported.

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

Errors you might encounter

“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!
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, by setting the “Check every  #  minutes” preference to 0, disabling the message send process.

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).
  4. Change the “Check every  #  minutes” preference to a non-zero value.
  5. If the problem persists, follow these instructions for repairing a corrupt Outbox.
  6. If the problem persists after that, let us know.

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.
The root cause of this issue is actually an intermittent Thunderbird bug which sometimes causes folders to become corrupted; it is not due to a bug in Send Later, but the add-on is warning you about it so you can fix the underlying issue and keep the add-on working properly for you. If you are able to determine from the error message which Drafts folder is corrupt, and you can see that folder in the Thunderbird folder list, then do just what the error pop-up says: right-click on the folder, select “Properties”, and click on the “Repair” button. If that doesn’t fix the problem, or if it isn’t obvious which folder is causing the problem, then do the following:
  1. Open a compose window.
  2. Add an email address and some text to the draft, just so that it’s not totally empty.
  3. Iterate through all of the identities, i.e., the email address / account combinations you are able to select in the drop-down next to “From:”.
  4. For each identity, click “Save” to save the draft in the drafts folder for that identity. This will force Thunderbird to create the Drafts folder if it doesn’t already exist.
  5. When you’re done, close the compose window and delete the draft from the last Drafts folder. Thunderbird should have already been smart enough to remove it from the others as you iterated through them.
  6. When all that is done, repair all of the drafts folders as described below.
If this doesn’t fix the problem for you, then ask for help.