Modifying the contents of a message
jonathan.protzenko at gmail.com
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 mozilla.dev.apps.thunderbird and
>> mozilla.dev.extensions 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 mozilla.org
More information about the tb-planning