I'm trying to make a Thunderbird addon that will call external code to produce a lump of data to attach to an outbound email, labelled as some custom type so a recipient mailer can just be told to use our app to handle such inbound attachments. Regardless of implementation detail, I'm falling at the first hurdle.
Having briefly tried and given up with XPCOM components in C, I've found this page which tells me to go here from where I downloaded and installed the Add-on SDK. That uses a command cfx
to create skeleton addins and test them. It has an experimental parameter --app
which allows you to load Thunderbird instead of the default Firefox. However, it doesn't seem to load the addin. From the docs, I see that pretty much the simplest possible case is for main.js to simply contain
console.log("Hello World");
Firing this up using cfx run --app=thunderbird
gives no "Hello World" anywhere that I can see, though Thunderbird does open using a temporary test profile. Running it in firefox opens firefox and outputs
reference to undefined property exn.stackconsole.log: cfxtest1: Hello World
Which is outputting what I want it to output but in a rather suspicious way!
So two questions; is the AddOn-SDK the way to go for Thunderbird extensions, and why even in Firefox is it looking like it's not actually working?
Versions; Firefox is 25.0.1, Thunderbird is 24.1.1, the AddOn-SDK is 1.14 and Python is 2.6.6 (after 3.3 and then 2.7 turned out to be incompatible). Platform is Windows 7.