Betterbird Blog

What’s going on in the project

General

General stuff for everything that doesn't fall into a specific category.

Let's fill the summer hole/silly season with some content.

Two days ago we switched to Betterbird 153 for productive use. At first, everything looked good, but then we noticed a few regressions:

Our suggested userChrome.css had an issue, the "cute icons" didn't work any more: context menu icon That got fixed and an update was published here.

Next we discovered an issue in ThunderHTMLedit. The Mozilla folks had tightened security by disallowing blob:system workers. That change snuck into Thunderbird/Betterbird beta 6. We adjusted the add-on accordingly and published version 3.6.6.

Finally we noticed that after pasting a screenshot into a composition, the caret ended up at the wrong location before the inserted image. Fortunately, someone had already reported the issue and Thunderbird's new star contributor flexed his AI muscle and provided a fix which we're currently evaluating.

Today we received this issue about Thunderbird's tags folder pane mode. This was half-implemented for Thunderbird's Supernova Kaboom version 115, and has been defective ever since the day of first shipping, as a few bugs ([1] [2] [3) show.

And while digging around Bugzilla, we found these pearls:

What's happening at Betterbird during that the Germans call summer hole (Sommerloch), also called silly season in parts of the world?

The new ESR version 153 shipped about 10 days ago, and so far we had only little feedback, but all the feedback received was positive. Version 140.13.0-bb25 was also shipped around the same time.

We're constantly monitoring developments at Thunderbird, so a few days ago we shipped a build 2 for Betterbird 153.0esr-bb6. In that build, we shipped two minor corrections and additional upstream fixes.

While things are generally quieter, we've used the time to upgrade our macOS build machine to a Mac mini M4. This delivers faster builds, and keeps up with Apple's ever-changing Xcode requirements, and thus ensuring that Betterbird continues to build natively for Apple Silicon; it also allows a cross-compile for Intel Macs.

If you've been enjoying Betterbird, please tell a friend or colleague about it. And if you'd like to help keep the project going, consider sending a donation. Summer is traditionally a bit of a donation lull, so every contribution is especially appreciated. We don't run three or four yearly donation drives like the Thunderbird folks, only one in December.

Since the AI bubble is inexorably upon us, it's time to talk about it.

AI advances have boosted productivity in Thunderbird/Betterbird development. In the Thunderbird project, various folks have solved bugs with AI-assisted coding tools, powered by models such as OpenAI's GPT family, Anthropic's Claude models, Google's Gemini models, and DeepSeek models. They have analysed code, proposed and reviewed patches, written tests, and have even run the entire development pipeline via agents right up to running new tests and submitting work to Mozilla's Phabricator platform.

Our project hasn't spend big on AI subscriptions, but with humble subscription to DeepSeek v4 Pro, we've been able to analyse issues (see articles's screenshot), written scripts and automated tedious tasks like localisation, since one new string needs to be added to 15 localisation files and also be made consistent with existing translations in Thunderbird. So far, we haven't produced a Betterbird patch with AI yet, but we're looking forward to the first adequate task.

Update: We had DeepSeek revise our patch for showing native alerts on the application screen. AI pointed out some shortcomings wrt. to screen scaling and added code to cater for monitors aligned vertically. As a reminder, the function can be enabled with preference mail.notification.show_on_app_screen.

But AI is not only helping developers, users also benefit by having AI summarise messages or help when writing message by rephrasing, summarising, explaining, translating, etc. Here's a table of available add-ons.

Disclaimer: We've only surveyed listings on ATN and not tested those add-ons. There is no relationship between us and any of the add-on authors. If you are an add-on author and we misrepresented your add-on, please get in touch.

Add-on Users Comment
AI Anywhere for ChatGPT 4467 Fixed set of models, apparently no local AI
AI Mail Support 783 Various models, incl. via Ollama, multiple prompts
ThunderAI 13422 Various models, incl. via Ollama, multiple prompts
AI Email Assistant 323 (few details, apparently OpenAI API support)
AI Mate 122 (few details, apparently OpenAI API support and variable prompt)
Mail2Cal-AI 60 For Calendar, Ollama only
AI Mail Extended 62 (few details, apparently local AI)
スマート返信AI 171 (Smart Reply AI, in Japanese)
GENA AI-Powered Email Assistant (unknown) Various models, incl. via Ollama, auto-tagging, thread summary, semantic search
ChatGPT Quick Access 1275 (ChatGPT tab)
ChatGPT Addon 345 (few details, apparently ChatGPT only)

For e-mail processing, it makes sense to use local models, for example via Ollama. We also gave LM Studio a try, but found the model download unbearably slow on a fibre optic connection. Using a local model, e-mail data is not sent to the AI provider's data centre for processing.

Ollama users should note that in order for their add-on to be able to contact the local server at http://localhost:11434, they need to work around a CORS (Cross-Origin Resource Sharing) issue leading to a 403 error. Ollama needs to send the Access-Control-Allow-Origin: * header which can be enabled by setting the environment variable OLLAMA_ORIGINS to a value of *.

As widely announced on Thunderbird forums and mailing lists, Thunderbird is diversifying. First they bought the K-9 Android e-mail client and rebadged it as Thunderbird for Android. Next, they are developing an iOS mail application from scratch. The last undertaking is to offer so-called Pro Services, called "TB Pro": www.tb.pro. See the 2025 announcement here.

The mail hosting part of those services is called Thundermail. Currently, it's not yet available, but one can join a waiting list. Expect to pay 12 x USD 6 = USD 72 anually. Not a small price, given that for less money you can resister your own domain and pay a hosting service, or have your mail hosted at our advertising partner ForwardEmail. Of course, there are also long-standing e-mail services, like Fastmail, Posteo or Proton Mail, each backed up be years or decades of experience.

All that said, the Thunderbird folks are rolling out the integration of their Thundermail service in Thunderbird 153, currently in beta, see screenshot above. Technically, Thundermail is integrated as system add-on, which ships inside the application, packaged into omni.ja at chrome/messenger/builtin-addons/thundermail. It's enabled in the new Account Hub via preference mail.accounthub.thundermail.enabled.

The Thunderbird folks are shipping their version 153.0 beta 2 with Thundermail enabled. We're currently disabling Thundermail via the mentioned preference for various reasons:

  • It doesn't yet appear to be available.
  • We're not convinced that this is the best possible mail hosting offer.
  • Our project does not aim to increase Thunderbird income, but to improve user experience.

Most of the source code of Thundermail is only published in minified/obfuscated form. We did a quick AI analysis of what is publicly visible, and here's the summary of the US services involved in the setup:

Company Headquarters What's Stored
AWS Seattle, WA Mail data, attachments, secrets, config
Neon San Francisco, CA Database (mail metadata, config)
Backblaze San Mateo, CA Encrypted file uploads (Send)
Cloudflare San Francisco, CA DNS, traffic routing, TLS termination
Sentry San Francisco, CA Error telemetry from add-on

Any Betterbird user wishing to try or use Thundermail can easily set the preference to true.

Update 25th June 2026: We've just been made aware that apart from showing "Sign in with Thundermail" during account creation, Thundermail is also forced onto the application menu:

App menu

The DOM ID of this element is tbpro-menu-id-root; it is added here.

The add-on code is extracted from this repository and pushed into the Thunderbird tree. Here it is:

https://hg-edge.mozilla.org/comm-central/file/tip/mail/extensions/builtin-addons/thundermail/extension.

This code is not indexed in Searchfox.

Packaging software some or most users don't want into the application via some system add-on sounds like something Mozilla has done before? Well, check this Lunduke video.

Placing advertisements on the Thunderbird start page was under discussion years ago when our CEO was still serving on the Thunderbird Council. Back then, request received by certain advertisers were deemed incompatible with the Thunderbird mission.

Of course, the in-product start page is seen by many users, and therefore offers itself to draw attention to hand-picked relevant products or partners. A few days ago, we were contacted by the CEO of Forward Email. This company offers full mail hosting for people who have registered their own domain, or just mail forwarding. As a "test balloon", we agreed to show a recommendation for their products on our start page, to see where the collaboration can lead.

We're going to try out their SMTP service, since the outgoing mail server that comes with our hosting package at the German hosting provider Hetzner sometimes doesn't have the best "reputation", and we end up sending mail via Gmail.

Update: Following Forward Email's instructions, we configured SPF, DKIM and DMARC, and hey, now we have an alternative outgoing server. Definitely a win for our project! Their setup doesn't force you to transfer the MX records to them, so it gives you the flexibility you may need. Disclaimer: We're using a paid plan, so all this is not part of the free plan.

Any users who don't want to see the advertisement can add an ads=no parameter to the Betterbird start page location, so is becomes:

https://www.betterbird.eu/start?ads=no&locale=%LOCALE%&version=%VERSION%&channel=%CHANNEL%&os=%OS%&buildid=%APPBUILDID%

There is also a dark version of the start page:

https://www.betterbird.eu/start/indexd.php?locale=%LOCALE%&version=%VERSION%&channel=%CHANNEL%&os=%OS%&buildid=%APPBUILDID%

which can be modified to:

https://www.betterbird.eu/start/indexd.php?ads=no&locale=%LOCALE%&version=%VERSION%&channel=%CHANNEL%&os=%OS%&buildid=%APPBUILDID%

Here a message from the Betterbird CEO:

Dear followers of the Betterbird blog,

You may have asked yourself why we're self-hosting our own blog instead of publishing on social media to potentially reach a wider audience. The reason is simple: One of my principles is to only publish on media which I control, or at lease have moderator status, like on Reddit. I considered creating an account on Instagram, but was concerned about being affected by some random unjustified decision of the platform operator. Sadly, today this fear became reality as my personal Instagram account was blocked, stating that (quote): [the] account, or activity on it, doesn't follow our Community Standards.

That's totally surprising since the last post was made in more than two years ago, in January 2023, and the last trivial direct message sent was 50 days ago. So which activity were they referring to? 1.5 hours later the account was unblocked again after I had submitted a whole lot of personal data, including a selfie. Horrible.

Thanks for following us!

Import of data from the local PST files of a Microsoft Outlook profile was not working well in Thunderbird before 2011, when famous Russian developer Mike Kaganski*) re-implemented it in bug 207156. His work was committed here with this changeset. That was in 2011 in Thunderbird 6. Back then, our project leader was working with Mike, mostly doing testing. Mike did a few more tweaks, for example here and here, so the feature was stable that year in Thunderbird 11.

With the advent of JS Mime, a new implementation of MIME processing written in JavaScript, Outlook import broke again in Thunderbird 38 due to threading issues. The fix was made in this bug ready for Thunderbird 60 by our project leader.

(The text below has been corrected on 8th November 2025, the initial information was incorrect.)


It's been working since then, but the advent of Outlook 2013/2016/2019, Office 365 and the modern Outlook app have changed the situation. Here is what is still working to this very day:

Outlook version IMAP account with OST and optional PST files POP account with PST only
Up to 2010 ✅ Can import via full MAPI ✅ Can import via full MAPI
2013, 2016, 2019, O365 (classic desktop) ✅ Can import via full MAPI; attached PSTs also visible if part of the profile ❌ Cannot import, PST not exposed to external MAPI clients
Modern Outlook app ❌ Cannot import, no MAPI ❌ Cannot import, no MAPI

To import a PST with Outlook 2013/2016/2019 or Outlook 365 installed, add it to an IMAP profile (with OST file) as an additional data file.

This screenshot was taken after a successful import from Outlook 2010: enter image description here It is possible that modern versions of Betterbird/Thunderbird have additional bugs, so if there is an issue, we recommend using an older version, for example Thunderbird 12 (we didn't test it). Older versions also give a more informative summary panel that the new kids on the block who took over Thunderbird axed in version 128 (bug 1851608): enter image description here

If you're using Outlook 2013/2016/2019 or Outlook 365 on a POP account or the modern app, you will see this: enter image description here


*) Mike is famous for cracking bug 393302, the dreaded MAPI x64 bug, that no one had been able to solve and that prevented Thunderbird from shipping 64-bit binaries. That was back in 2019, and the fix was backported to Thunderbird 60.

We had a few reports from the United States and Australia regarding slow download speeds for our larger binary files (.exe, .zip, .tar.xz and .dmg). Currently all files are hosted at our hosting provider in Germany, so "overseas" users are suffering from transatlantic (or transpacific) latency and limited peering bandwidth.

Therefore we made downloads also available via the Bunny Content Distribution Network. In Firefox, it looks like this: Download via CDN

This is a paid service, so the project has to finance every download. If our total download volume of currently 3.5 TB per month ran via this service, we would incur a considerable cost.

Therefore using CDN is a click away from the regular download page at www.betterbird.eu/downloads/, and we ask our users to use the service with care. We assume that no European user would need it. If the costs run too high, we will have to restrict this to certain regions.

Busy Monday

- Posted in General by

Some Mondays are quiet, others are busy. Yesterday we had a very busy day fixing these bugs:

  1. Edit headers not working for local folders with maildir storage.
  2. Developer Toolbox not working in localised builds due to a repack error.
  3. Custom icon not working on about box and some other panels.
  4. Disappearing new lines in plain text edit. We picked up the report from a newsgroup. This was a bug in the upstream Mozilla editor.
  5. Account colours not respecting the preference for "full row colour" due an error in rebasing our patch to the 140 codebase.

We provided "latest build" versions of the current version 140.3.0, so affected users can use a fixed version straight away.

In the context of testing Edit headers, we discovered and upstream Thunderbird bug which led to the second edit on the same IMAP message not being reflected correctly in the message list and header pane. A regression in the Thunderbird 140 codebase, it was working in 115 and 128. The add-on Header Tools Improved is also affected. That bug we didn't manage to fix yet. (Update 28 Sept. 2025: Fixed!)

Betterbird caps

- Posted in General by

Yesterday we shipped a blue Betterbird cap to the Netherlands; the one in the photo will go to an aficionado in Germany.

We procure the caps at Top Hats Calella; the last one we bought was still €13, but now the manufacturer has switched to sustainable cotton, and the price will go up to €14 for the next order. The shop manager in Calella has the pattern for our trademark on file and he takes great care that every cap will turn out perfect.

From the shop, we take the caps to our headquarter. Either we ship them with Spanish Correos, or we ship them to supporters in Germany with Hermes during a trip to Germany. That's much more affordable, since shipping cost from Spain can easily equal the cost of the cap. The buyer pays the shipping and an additional €6 as donation to our project.

So far, most caps have reached users in Germany, but some are being sported in Israel, and one will be seen in Holland soon. When we get asked: How do you advertise?, our answer usually is: Our users do outdoor advertising with our caps.