Modifying the contents of a message

Jonathan Protzenko jonathan.protzenko at
Thu Jan 26 17:47:21 UTC 2012

On 01/26/2012 06:17 PM, David Bienvenu wrote:
> On 1/26/2012 7:19 AM, Jonathan Protzenko wrote:
>> Hi everyone,
>> Ever since I started reading the and 
>> newsgroups, a recurring question about 
>> Thunderbird has been "how can I modify the contents of a message" 
>> from an addon? I recently (less than 7 days ago) replied to this 
>> question twice, and my answer was basically:
>> - inject a message in a local folder,
>> - copy it to the destination folder,
>> - remove the old message.
>> I'm not sure there's a better way, but I guess not. My question is: 
>> could we make that easier by implementing, say, in C++, 
>> nsIMsgFolder::InjectMessageFromStream, making it of course 
>> scriptable? The arguments are:
>> - this is something an addon will want to do, and it seems legitimate 
>> that they should want to do so,
>> - it's better to provide a function for that than to have someone do 
>> it real, real wrong.
> Yes, it would be great to provide an easy way for extensions to do 
> this, because extensions often forget about things like IMAP, and 
> going forward, things like pluggable stores.
> I think JS code to do this would be better than c++ methods. I think 
> there's sufficient mechanisms in the backend to do this already since 
> detach attachment does it, but additional method(s) would be helpful, 
> we can add them.
I'm not sure what is the right way to do this from JS. Do you have some 
pseudo-code describing how one should proceed if they want to modify, 
for instance, one of the headers? I somehow thought that the code for 
detach was only calling nsMessenger::DetachAttachment and that the rest 
of the process was driven from C++.


> - David
> _______________________________________________
> tb-planning mailing list
> tb-planning at

More information about the tb-planning mailing list