<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Demystifying Mail.app Plugins &#8211; A Tutorial</title>
	<atom:link href="http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/</link>
	<description>Musings of a grad student</description>
	<pubDate>Wed, 23 Jul 2008 17:45:08 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Jens Alfke</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-15</link>
		<dc:creator>Jens Alfke</dc:creator>
		<pubDate>Mon, 10 Apr 2006 15:19:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-15</guid>
		<description>Mail plug-ins can be great; I use several of them myself. But I feel I should offer some Important Safety Tips:

Be aware that the plug-in API is unsupported, and the internal classes of Mail are likely to change in minor or major ways from one OS release (or even software update) to the next, possibly causing any Mail plug-in either to fail to load, or to make Mail behave incorrectly.

(Those who remember the joys of classic Mac OS system extensions and their conflicts will know what I'm talking about here!)

Developers who write these plug-ins should program defensively, like making sure that Mail classes and methods are available before they try to call them (or at least wrapping try/catch blocks around their code to handle failures) to minimize the damage caused by future incompatibilities.

Also, please use prefixes on all class and method names to avoid conflicts with both Mail and other plugins that might be active.

Finally, be aware that, if you're going to continue to support your plug-in, you should pay close attention to software updates and be ready to debug and update your software as soon as one's released!</description>
		<content:encoded><![CDATA[<p>Mail plug-ins can be great; I use several of them myself. But I feel I should offer some Important Safety Tips:</p>
<p>Be aware that the plug-in API is unsupported, and the internal classes of Mail are likely to change in minor or major ways from one OS release (or even software update) to the next, possibly causing any Mail plug-in either to fail to load, or to make Mail behave incorrectly.</p>
<p>(Those who remember the joys of classic Mac OS system extensions and their conflicts will know what I&#8217;m talking about here!)</p>
<p>Developers who write these plug-ins should program defensively, like making sure that Mail classes and methods are available before they try to call them (or at least wrapping try/catch blocks around their code to handle failures) to minimize the damage caused by future incompatibilities.</p>
<p>Also, please use prefixes on all class and method names to avoid conflicts with both Mail and other plugins that might be active.</p>
<p>Finally, be aware that, if you&#8217;re going to continue to support your plug-in, you should pay close attention to software updates and be ready to debug and update your software as soon as one&#8217;s released!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eaganj</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-14</link>
		<dc:creator>eaganj</dc:creator>
		<pubDate>Mon, 10 Apr 2006 13:42:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-14</guid>
		<description>Will:  Whaddya know.  It is a small world after all! ;-)</description>
		<content:encoded><![CDATA[<p>Will:  Whaddya know.  It is a small world after all! <img src='http://www.bazza.com/~eaganj/weblog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Will</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-13</link>
		<dc:creator>Will</dc:creator>
		<pubDate>Sun, 09 Apr 2006 23:39:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-13</guid>
		<description>This tutorial is fantastic, except that the plugin you created solves the problem I needed a tutorial for in the first place. I'm not sure what to make of that. The internet is a strange place. But thanks!!</description>
		<content:encoded><![CDATA[<p>This tutorial is fantastic, except that the plugin you created solves the problem I needed a tutorial for in the first place. I&#8217;m not sure what to make of that. The internet is a strange place. But thanks!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Non Stop Mac</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-12</link>
		<dc:creator>Non Stop Mac</dc:creator>
		<pubDate>Sun, 09 Apr 2006 22:15:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-12</guid>
		<description>&lt;strong&gt;Demystifying Mail.app plugins – a tutorial...&lt;/strong&gt;

James Eagan writes: "In the course of writing my email un-attachment plugin for Mail.app, I found that Apple has a capable, but entirely undocumented, plugin API. I’m providing this tutorial in the hopes that it may be useful to anyone......</description>
		<content:encoded><![CDATA[<p><strong>Demystifying Mail.app plugins – a tutorial&#8230;</strong></p>
<p>James Eagan writes: &#8220;In the course of writing my email un-attachment plugin for Mail.app, I found that Apple has a capable, but entirely undocumented, plugin API. I’m providing this tutorial in the hopes that it may be useful to anyone&#8230;&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: eaganj</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-11</link>
		<dc:creator>eaganj</dc:creator>
		<pubDate>Sat, 08 Apr 2006 18:11:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-11</guid>
		<description>Hi Ben,

I haven't played at all with actually changing the message body.  You might wish to take a look at GPGMail and how it does it, since it, presumably, has to replace the message body with its signed or encrypted representation.

My guess is that it might be handled somewhere in the MessageTextStorage, but I really don't know.  You'll have to poke around with the class-dump and just see what works.

Cheers!
James</description>
		<content:encoded><![CDATA[<p>Hi Ben,</p>
<p>I haven&#8217;t played at all with actually changing the message body.  You might wish to take a look at GPGMail and how it does it, since it, presumably, has to replace the message body with its signed or encrypted representation.</p>
<p>My guess is that it might be handled somewhere in the MessageTextStorage, but I really don&#8217;t know.  You&#8217;ll have to poke around with the class-dump and just see what works.</p>
<p>Cheers!<br />
James</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saptarshi</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-10</link>
		<dc:creator>Saptarshi</dc:creator>
		<pubDate>Sat, 08 Apr 2006 07:01:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-10</guid>
		<description>Aah, got it! In fact the variable in setSignature of WebComposeBackEnd is of class Signature... and then i can use the 'textvalue' to see it

Thanks for the great tutorial</description>
		<content:encoded><![CDATA[<p>Aah, got it! In fact the variable in setSignature of WebComposeBackEnd is of class Signature&#8230; and then i can use the &#8216;textvalue&#8217; to see it</p>
<p>Thanks for the great tutorial</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saptarshi</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-9</link>
		<dc:creator>Saptarshi</dc:creator>
		<pubDate>Sat, 08 Apr 2006 05:56:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-9</guid>
		<description>Hi,
I;m trying to modify the signature of my email. I see a method in the class
WebMessageEditor - updateContentsToShowSignature and  method in the class WebComposeBackEnd - setSignature.
But I would like to see the signature  - which variable or function returns the current one...

Any ideas?
Thanks</description>
		<content:encoded><![CDATA[<p>Hi,<br />
I;m trying to modify the signature of my email. I see a method in the class<br />
WebMessageEditor - updateContentsToShowSignature and  method in the class WebComposeBackEnd - setSignature.<br />
But I would like to see the signature  - which variable or function returns the current one&#8230;</p>
<p>Any ideas?<br />
Thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-8</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Fri, 07 Apr 2006 20:51:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-8</guid>
		<description>Oops, hit submit too soon I guess. Anyway, I got the message body's rawData(), and I can see it has an appendString_() method, but that doesn't seem to do anything.</description>
		<content:encoded><![CDATA[<p>Oops, hit submit too soon I guess. Anyway, I got the message body&#8217;s rawData(), and I can see it has an appendString_() method, but that doesn&#8217;t seem to do anything.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-7</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Fri, 07 Apr 2006 20:24:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-7</guid>
		<description>Is there any way to modify the message body? I'm having trouble with that.</description>
		<content:encoded><![CDATA[<p>Is there any way to modify the message body? I&#8217;m having trouble with that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Saptarshi Guha</title>
		<link>http://www.bazza.com/~eaganj/weblog/2006/03/29/demystifying-mail-app-plugins/#comment-6</link>
		<dc:creator>Saptarshi Guha</dc:creator>
		<pubDate>Fri, 07 Apr 2006 18:32:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.bazza.com/~eaganj/weblog/1999/11/30/demystifying-mail-app-plugins/#comment-6</guid>
		<description>Hi,
 A big thank you for the detailed tutorial. Was trying to figure out Mail.App plugins for sometime and then gave up.
  But then I learnt objective c and got a hold on that.
  With this tutorial, I'll try again.
 Thanks
Saptarshi</description>
		<content:encoded><![CDATA[<p>Hi,<br />
 A big thank you for the detailed tutorial. Was trying to figure out Mail.App plugins for sometime and then gave up.<br />
  But then I learnt objective c and got a hold on that.<br />
  With this tutorial, I&#8217;ll try again.<br />
 Thanks<br />
Saptarshi</p>
]]></content:encoded>
	</item>
</channel>
</rss>
