home *** CD-ROM | disk | FTP | other *** search
/ db.tidbits.com / db.tidbits.com.tar / db.tidbits.com / getbits.acgi?tbart=06870.orig < prev    next >
Text File  |  2010-09-23  |  53KB  |  786 lines

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2.         "http://www.w3.org/TR/html4/loose.dtd">
  3.  
  4. <html lang="en">
  5. <head>
  6.     <meta http-equiv="content-type" content="text/html;charset=utf-8">
  7.     <meta http-equiv="Content-Language" content="en">
  8.     <title>TidBITS : Mailsmith 1.5: Lean, Mean Email Machine</title>
  9.  
  10.     <meta name="title" content="TidBITS : Mailsmith 1.5: Lean, Mean Email Machine">
  11.     <meta name="description" content="TidBITS is a free email and Web publication covering the Macintosh Internet community.">
  12.     <link rel="image_src" href="/images/tblogo9.gif" />
  13.     <meta name="keywords" content="Apple, Mac, Macintosh, Mac OS, Mac OS X, newsletter, Internet, analysis, reviews, technology, news, TidBITS, TidBITS Talk, Engst">
  14.     <link rel="Help" href="http://www.tidbits.com/about/about-tidbits.html" title="About TidBITS">
  15.     <link rel="Search" href="http://www.tidbits.com/search/" title="Search All TidBITS Content">
  16.     <link rel="Author" href="http://www.tidbits.com/about/contact-info.html" title="Contact Information">
  17.     <link rel="Contents" href="tb-issues/" title="TidBITS Issue Archive">
  18.     <link rel="alternate" type="application/rss+xml" href="http://db.tidbits.com/feeds/tidbits.rss" title="TidBITS Full Text Feed">
  19.     <link rel="alternate" type="application/rss+xml" href="http://db.tidbits.com/commentfeeds/firehose.xml" title="TidBITS Full Comments Feed">
  20.  
  21.     <link rel="stylesheet" href="/tidbits_2010_001.css" type="text/css">
  22.     <LINK rel="stylesheet" type="text/css" media="print" href="/tb-new-print.css">
  23.     <script src="/javascript/tb.js" type="text/javascript"></script>
  24.     <meta name="viewport" content="width:940">
  25.     <script type='text/javascript' src='http://db.tidbits.com/ads/delivery/spcjs.php?id=2'></script>
  26.     <script src="/javascript/prototype.js" type="text/javascript"></script>
  27. <script src="/javascript/scriptaculous.js" type="text/javascript"></script>
  28. <script src="/js-global/FancyZoom.js" type="text/javascript"></script>
  29. <script src="/js-global/FancyZoomHTML.js" type="text/javascript"></script>
  30. <script type="text/javascript"  src="http://api.recaptcha.net/js/recaptcha_ajax.js"></script>
  31.  
  32. </head>
  33. <body onLoad="setupZoom()">
  34. <!-- popup query -->
  35. <div id="big_ole_background" style="display:none"> </div>
  36. <div id="tipbits_enclosure_preview" style="display:none">
  37. <div class="tearoffbox_wide_container">
  38. <div class="tearoffbox_wide_tips">
  39.  
  40. <div class="tip_display">
  41. <div class="preview">
  42. <h6><span id="p_tips_title"></span></h6>
  43. <p id="p_tips_text"></p>
  44. <p>Visit <a href="javascript:void(0)" id="p_url"><span id="p_label"></span></a></p>
  45. <p class="credit">Submitted by <span id="p_reader"></span></p>
  46. <p><input type="submit" value="Back" name="preview_tip" onClick="preview_box('ts','tipbits_enclosure_preview'); return false;"></p>
  47. </div>
  48. </div>
  49. <div class="tearoffbox_wide_bottom_tips">
  50. </div>
  51.  
  52. </div><!-- end tearoffbox_wide_tips -->
  53. </div><!-- end tearoffbox_wide_container for tips-->
  54. <!-- end tearoff box wide -->
  55. </div><!-- end enclosure -->
  56.  
  57. <div class="popup_box_with_captcha" id="ts" style="display:none">
  58.     <div id="popup_box_thanks" style="display:none" onClick="close_popup_thanks('popup_box_thanks', 'ts')"><br>Thanks for submitting your tip! All submissions are moderated by an editor before appearing online. We've reset the form so you can enter another tip. Or you can close the tip submission box.    <div class="x_close" id="thanks_upper_right"><a href="javascript:void(0)" onmousedown="close_popup_thanks('popup_box_thanks', 'ts'); return true;">Close</a></div></div>
  59.     <div class="tip_box_format">
  60.     <div id="ts_innards" onClick="close_popup_thanks('popup_box_thanks', 'ts')">
  61.         <div class="tip_box_head">TipBITS Submission</div>
  62.         <div class="tip_box_form">        
  63.                 
  64.             <div class="tbf_row" id="ts_message_box" style="display:none">
  65.                 <div class="tbf_wide"><div class="tbf_alert" id="ts_top_message"></div></div>
  66.             </div>
  67.             <div class="spacer"></div>
  68.  
  69.             <form action="foobar.cgi" method="get" name="submit_tip">
  70.  
  71.             <div class="tbf_row"><div class="tbf_wide_extra_top not_bold">Please submit only technical tips that will help other TidBITS readers better use their Macs, iPhones, and related software and hardware. All product announcements should be sent to <a href="mailto:releases@tidbits.com">releases@tidbits.com</a>.</div></div>
  72.             <div class="spacer"></div>
  73.             <div class="tbf_row">
  74.                 <div class="tbf_left">Tip title<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" id="tip_title_id" name="tip_title" tabindex="1"></div>
  75.             </div>
  76.             <div class="spacer"></div>
  77.             <div class="tbf_row">
  78.                 <div class="tbf_left">Your tip<span class="required_field">*</span></div><div class="tbf_right"><textarea name="tip_text" rows="3" cols="40" tabindex="2"></textarea></div>
  79.             </div>
  80.             <div class="spacer"></div>
  81.             <div class="tbf_row">
  82.                 <div class="tbf_left">URL</div><div class="tbf_right"><input type="text" value="" name="tip_link_url" tabindex="3"><span class="tip_description"><br>Enter the URL to a Web page that supports your tip.</span></div>
  83.             </div>
  84.             <div class="spacer"></div>
  85.             <div class="tbf_row">
  86.                 <div class="tbf_left">Linked text</div><div class="tbf_right"><input type="text" value="" name="tip_link_label" tabindex="4"><span class="tip_description"><br>Enter the name of the page linked above.</span></div>
  87.             </div>
  88.             <div class="spacer"></div>
  89.             <div class="tbf_row">
  90.                 <div class="tbf_left">Your name<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" name="tip_reader_name" tabindex="5"></div>
  91.             </div>
  92.             <div class="spacer"></div>
  93.             <div class="tbf_row">
  94.                 <div class="tbf_left">Your email<span class="required_field">*</span></div><div class="tbf_right"><input type="text" value="" name="tip_reader_email" tabindex="6"></div>
  95.             </div>
  96.             <div class="spacer"></div>
  97.             <div class="spacer"></div>
  98.                 <div class="tbf_wide"><span class="fine_print"><span class="required_field">* indicates required fields</span></span></div>
  99.             <div class="spacer"></div>
  100.             <div class="tbf_row">
  101.                 <div class="tbf_wide_extra_top"><span class="fine_print">To help us avoid automated posts and spam, please enter the words below.</span></div>
  102.             </div>
  103.             <div class="spacer"></div>
  104.             <div class="tbf_row">
  105.                 <div class="tbf_wide"><div id="ts_recaptcha"></div></div>
  106.             </div>
  107.             <div class="spacer"></div>
  108.             <div class="tbf_row">
  109.                 <div class="tbf_wide"><input type="submit" value="Preview Your Tip" name="preview_tip" onClick="fill_preview('tipbits_enclosure_preview', 'ts', this.form); return false;" tabindex="7"> <input type="submit" value="Send Us Your Tip!" name="submit_this_tip" onClick="handle_tip_submission('ts', '', this.form, 'tip'); return false;" tabindex="8"></div>
  110.             </div>
  111.             <div class="spacer"></div>
  112.             <div class="tbf_row">
  113.                 <div class="tbf_wide"><span class="fine_print">When you submit a tip, you give us permission to use it. Read <a href="javascript:void(0)" onClick="generic_show_hide('tip_terms')">our terms</a> for more details. All submissions are reviewed before publication.</span></div>
  114.             </div>
  115.             
  116.             <div class="tbf_row" id="tip_terms" style="display: none">
  117.                 <div class="tbf_wide"><span class="fine_print">Our terms: By submitting a tip, you agree to assign TidBITS Publishing Inc., a non-exclusive, worldwide, perpetual license to reproduce, publish, and distribute your tip in connection with the TidBITS Web site and associated products in any media. You agree that you created the content you submitted, and that you have the right to assign us this license. You give us permission to use your name, but your email address won't be publicly displayed or shared. We review all submissions before publication, and reserve the right to select which submissions we feel are appropriate for our readers and to edit those we publish.</span></div>
  118.             </div>
  119.             <div class="spacer"></div>
  120.             </form>
  121.         </div><!-- end tip_box_form -->
  122.     </div><!-- end tip box innards -->
  123.     </div><!-- end tip box format -->
  124.     
  125.     <div class="x_close" id="ts_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('ts', 'ts', ''); return true;">Close</a></div>
  126.     
  127. </div><!-- end tip_submit box-->
  128.  
  129. <div class="popup_box_with_captcha" id="article_reference" style="display:none"><div class="article_ref_format"><textarea style="width:350px; height:100px;" name="article_ref" id="article_ref_box"></textarea></div>    <div class="x_close" id="article_reference_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('article_reference', 'article_reference', ''); return true;">Close</a></div>
  130. </div>
  131.  
  132. <div class="popup_box_with_captcha" id="comm" style="display:none">
  133.     <div class="tip_box_format">
  134.     <div id="comment_thanks" style="display:none" onClick="close_popup_thanks('comment_thanks', 'comm')"><br>Thanks for submitting a comment! Please check your email for a link that, when clicked, will verify that you're a real person and cause your comment to appear immediately. <div class="x_close" id="comment_upper_right"><a href="javascript:void(0)" onmousedown="close_popup_thanks('comment_thanks', 'comm'); return true;">Close</a></div></div>
  135.     <div id="comm_innards" onClick="close_popup_thanks('comment_thanks', 'comm')">
  136.         <div class="tip_box_head" id="comm_headline">Post a Comment</div>
  137.         <div class="tip_box_form">        
  138.                 
  139.             <div class="tbf_row" id="comm_message_box" style="display:none">
  140.                 <div class="tbf_wide"><div class="tbf_alert" id="comm_top_message"></div></div>
  141.             </div>
  142.             <div class="spacer"></div>
  143.  
  144.             <form action="foobar.cgi" method="get" name="post_comment" id="post_comment">
  145.             <input type="hidden" name="comment_nest" value=''>
  146.             <input type="hidden" name="comment_id" value=''>
  147.             <input type="hidden" name="article_id" value='5484'>
  148.             <input type="hidden" name="edit" value=''>
  149.             <div class="tbf_row">
  150.                 <div class="tbf_left">In reply to</div>
  151.                 <div class="tbf_right">
  152.                     <div id="cb_quoted_row">
  153.                         <div class='cb_open_quote'>“</div>
  154.                         <div id="cb_quoted"></div>
  155.                         <div class='cb_close_quote'>”</div>
  156.                     </div>
  157.                     <div class="spacer"></div>
  158.                 </div>
  159.             </div>
  160.             <div class="spacer"></div>
  161.  
  162.             <div class="tbf_row">
  163.                 <div class="tbf_left" style="padding-top:0">Your comment</div>
  164.                 <div class="tbf_right"><textarea tabindex="1" name="cb_item_add" id="cb_item_add" rows="4" cols="50" onKeyDown="count_insert('cb_item_add','cb_char_count')"></textarea><br><div class="cb_char_count" id="cb_add_count">Remaining characters: <span id="cb_char_count">0</span></div></div>
  165.             </div>
  166.             <div class="spacer"></div>            
  167.  
  168.             <div class="tbf_row">
  169.                 <div class="tbf_left">Your name</div><div class="tbf_right" style="margin-top:8px"><input tabindex="2" type="text" value="" name="cb_add_name" id="cb_add_name" style="margin-top: -4px"></div>
  170.             </div>
  171.             <div class="spacer"></div>
  172.             
  173.             <div class="tbf_row">
  174.                 <div class="tbf_left">Your email</div><div class="tbf_right"><input tabindex="3" type="text" name="cb_add_email" id="cb_add_email"></div>
  175.             </div>
  176.             <div class="spacer"></div>
  177.             
  178.             <div class="tbf_row">
  179.                 <div class="tbf_left"> </div><div class="tbf_right"><input id="comm_post_comment" tabindex="4" type="submit" value="Post Comment" name="submit_this_comment" style="width:100px; float:right" onClick="cb_post_submit(); return false;"></div>
  180.             </div>
  181.             <div class="spacer"></div>
  182.             
  183.             <div class="tbf_row" id="comment_terms">
  184.                 <div class="tbf_wide"><span class="fine_print">Our terms: We reserve the right to edit or delete any comment, so please post thoughtfully. We use your email address <i>only</i> to send you a one-time verification message confirming that you posted this comment. We also store your address to allow you to verify using other Web browsers in the future. For more info, see our <a href="http://db.tidbits.com/privacy.html">privacy policy</a>.</span></div>
  185.             </div>
  186.             <div class="spacer"></div>
  187.  
  188.             </form>
  189.         </div><!-- end comm_form -->
  190.     </div><!-- end comm box innards -->
  191.     </div><!-- end comm box format -->
  192.     
  193.     <div class="x_close" id="comm_upper_right"><a href="javascript:void(0)" onmousedown="HidePopupContent('comm', 'comm', ''); return true;">Close</a></div>
  194.     
  195. </div><!-- end comm_submit box-->
  196.  
  197.  
  198. <!-- start mainbody -->
  199. <div id="mainbody">
  200.  
  201. <!-- start header -->
  202. <div id="header">
  203.  
  204.  
  205.  
  206.     <div id="tblogo">
  207.     <a href="/"><img src="/images/tblogo20_01.gif" alt="TidBITS: Apple News for the Rest of Us" width="177" height="84" border="0"></a>
  208.  
  209.     </div><!-- end tblogo -->
  210.  
  211.  
  212. <!-- leaderboard ad -->
  213. <div id="top_banner">
  214. <script type='text/javascript'><!--// <![CDATA[
  215.     OA_show(3);
  216. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe5f7021'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=3&n=TBe5f7021'></a></noscript>
  217. </div><!-- end top_banner style -->
  218. <!-- end leaderboard ad -->
  219.  
  220.  
  221. </div><!-- end header  -->
  222.  
  223.  
  224. <!-- start content_container -->
  225. <div id="content_container">
  226.  
  227.  
  228. <!-- begin leftcolumn -->
  229. <div id="leftcolumn">
  230.  
  231. <!-- begin leftnav /left navigation -->
  232. <div>
  233.     <ul class="leftnav">
  234.         <!-- start search -->
  235.         <li class="topcorner">
  236.             <form action="http://db.tidbits.com" method="POST" name="search_form"><input type="hidden" name="advanced_search" value=''><input type="text" name="search_text" size="8" maxlength="70" value="Search" onFocus="this.value=''" onBlur="if (this.value == '') { this.value = 'Search'; }"> <span style="margin: 0 5px 0 5px; vertical-align: -2px"><span style="vertical-align: -2px"><input type="image" name="submit_search" src="/images/go_search_button.gif"></span>  <img src="/images/adv_search_button.gif" title="Click for Advanced Search" onClick="var f = document.search_form; f.search_text.value =''; f.advanced_search.value = '1'; f.submit();"></span></form>
  237.         </li>
  238.     </ul>
  239. </div>
  240. <!-- end search -->
  241.  
  242. <!-- Get TidBITS box (temp) -->
  243. <div>
  244.     <ul class="leftnav">
  245.         <li class="gettb"><strong>Get TidBITS via...</strong></li>
  246.     
  247.         <li><a href="http://www.tidbits.com/list" title="Subscribe via email" class="gettb">Email <img src="/images/gettb_button_email.gif" width="12" height="12" border="0" class="nav_img" alt="Email subscription options"></a></li>
  248.         <li><a href="/feeds/tidbits.rss" title="Subscribe via RSS" class="gettb">RSS <img src="/images/feed-icon-12x12.gif" width="12" height="12" border="0" class="nav_img" alt="Subscribe via RSS"></a></li>
  249.         <li><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=276986548" title="Subscribe to the podcast" class="gettb">Podcast <img src="/images/feed-icon-12x12_podcast.gif" width="12" height="12" border="0" class="nav_img" alt="Subscribe to the postcast"></a></li>
  250.         <li><a href="http://www.twitter.com/TidBITS" title="Get Article Updates via Twitter" class="gettb">Twitter <img src="/images/feed_icon_12x12_twitter.png" width="12" height="12" border="0" class="nav_img" alt="Get Article Updates via Twitter"></a></li>
  251.         <li><a href="http://www.facebook.com/pages/TidBITS/195314925519" title="Go to the TidBITS Page at Facebook" class="gettb">Facebook <img src="/images/feed_icon_12x12_facebook.gif" width="12" height="12" border="0" class="nav_img" alt="Go to the TidBITS Page at Facebook"></a></li>
  252.     </ul>
  253. </div>
  254. <!-- end Get TidBITS box -->
  255.     
  256.     <ul class="leftnav">
  257.         <li><a href="/" class="tabhead">TidBITS Home</a></li>
  258.  
  259.         <li><a href="javascript:void(0)" title="Sections" class="tabhead" onClick="return showhide('articleslist')">Sections <span id="articleslist_triangle"><img src="/images/nav_triangle_open.gif" width="9" height="9" border="0" class="navtriangle" id="articleslist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  260.     
  261.     
  262.     </ul>
  263.  
  264. <div id="articleslist" style="display: none"><ul class="leftnav"><li><a href="/section/business" >Business Apps</a></li>
  265. <li><a href="/section/entertainment" >Entertainment</a></li>
  266. <li><a href="/section/links" >External Links</a></li>
  267. <li><a href="/section/home" >Home Macs</a></li>
  268. <li><a href="/section/inside" >Inside TidBITS</a></li>
  269. <li><a href="/section/iphone-ipad-ipod" >iPhone iPad iPod</a></li>
  270. <li><a href="/section/fun" >Just for Fun</a></li>
  271. <li><a href="/section/macs" >Macs & Mac OS X</a></li>
  272. <li><a href="/section/creative" >Media Creation</a></li>
  273. <li><a href="/section/net" >Networking</a></li>
  274. <li><a href="/section/opinion" >Opinion</a></li>
  275. <li><a href="/section/support" >Problem Solving</a></li>
  276. <li><a href="/section/security" >Safe Computing</a></li>
  277. <li><a href="/section/tech" >Tech News</a></li>
  278. <li><a href="/section/watchlist" >Watchlist</a></li>
  279. </ul></div>
  280.  
  281. <div>
  282. <ul class="leftnav">
  283.     <li><a href="javascript:void(0)" onClick="return showhide('stafflist')" title="Staff" class="tabhead">Staff <span id="stafflist_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="stafflist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  284. </ul>
  285. </div>
  286.  
  287. <div id="stafflist" style="display:block"><ul class="leftnav"><li><a href="/author/Adam+C+Engst" title="Adam Engst, Publisher">Adam Engst</a></li>
  288.     <li><a href="/author/Tonya+Engst" title="Tonya Engst, Editor in Chief">Tonya Engst</a></li>
  289.     <li><a href="/author/Jeff+Carlson" title="Jeff Carlson, Managing Editor">Jeff Carlson</a></li>
  290.     <li><a href="/author/Joe+Kissell" title="Joe Kissell, Senior Editor">Joe Kissell</a></li>
  291.     <li><a href="/author/Glenn+Fleishman" title="Glenn Fleishman, Contributing Editor">Glenn Fleishman</a></li>
  292.     <li><a href="/author/Mark+Anbinder" title="Mark Anbinder, Contributing Editor">Mark H. Anbinder</a></li>
  293.     <li><a href="/author/Matt+Neuburg" title="Matt Neuburg, Contributing Editor">Matt Neuburg</a></li>
  294.     <li><a href="/author/Rich+Mogull" title="Rich Mogull, Contributing Editor">Rich Mogull</a></li>
  295.     <li><a href="/author/Lex+Friedman" title="Lex Friedman, Staff Writer">Lex Friedman</a></li>
  296.     </ul>
  297.     </div>
  298.  
  299. <div>
  300. <ul class="leftnav">
  301.  
  302.     <li><a href="javascript:void(0)" title="Issues" class="tabhead" onClick="return showhide('issuelist')">Weekly Issues <span id="issuelist_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="issuelist_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  303. </ul>
  304. </div>
  305.  
  306. <div id="issuelist" style="display:none"><ul class="leftnav"><li><div class="special"><form method="post" action="noaction.cgi" onsubmit="return false" id="issue_search_form" name="issue_search_form">Issue # <input type="text" onkeydown="if (event.keyCode == 13) { redirect_issue(this.form); }" id="issue_searchvalue" name="issue_number" style="width:35px; height: 10px"> <input onclick="redirect_issue(this.form)" type="image" name="submit_search" src="/images/go_search_button_blk.gif"></form></div></li><li><A HREF="/issue/642" >#642, 12 Aug 02</A></li>
  307. <li><A HREF="/issue/641" >#641, 05 Aug 02</A></li>
  308. <li><A HREF="/issue/640" >#640, 29 Jul 02</A></li>
  309. <li><A HREF="/issue/639" >#639, 22 Jul 02</A></li>
  310. <li><A HREF="/issue/638" >#638, 15 Jul 02</A></li>
  311. <li><A HREF="/issue/637" >#637, 07 Jul 02</A></li>
  312. <li><A HREF="/issue/636" >#636, 01 Jul 02</A></li>
  313. <li><A HREF="/issue/635" >#635, 24 Jun 02</A></li>
  314. <li><A HREF="/issue/634" >#634, 17 Jun 02</A></li>
  315.  
  316.  
  317. <li><a href="/backissues">Back Issues</a></li></ul></div>
  318.  
  319.  
  320. <div>
  321. <ul class="leftnav">
  322.  
  323.     <li><a href="/tidbitstalk" title="TidBITS Talk" class="tabhead">TidBITS Talk</a></li>
  324. </ul>
  325. </div>
  326.  
  327.  
  328.  
  329. <div>    
  330. <ul class="leftnav">
  331.     <li><a href="javascript:void(0)" onClick="return showhide('abouttidbits')" title="About TidBITS" class="tabhead">About TidBITS <span id="abouttidbits_triangle"><img src="/images/nav_triangle_closed.gif" width="9" height="9" border="0" class="navtriangle" id="abouttidbits_tri_image" alt="Click to show or hide the contents of this section."></span></a></li>
  332. </ul>
  333. </div>
  334.  
  335. <div id="abouttidbits" style="display:none">
  336. <ul class="leftnav"><li><a href="/about.html" title="About TidBITS">About Us</a></li><li><a href="/account.html" title="Account Help">Account Help</a></li><li><a href="/advertising.html" title="Advertise with TidBITS!">Advertise</a></li><li><a href="/contact.html" title="Contact Info">Contact</a></li><li><a href="/copyright.html" title="Copyright Terms">Copyright</a></li>
  337. </ul>
  338. </div>
  339.  
  340. <div>
  341. <ul class="leftnav">
  342. <li class="bottom"> </li>
  343. </ul>
  344. </div>
  345. <!-- end leftnav/left navigation -->
  346.  
  347. <!-- making sure nav elements hide/show before page loads --><script type="text/javascript"><!--
  348.     showhide('articleslist','show'); 
  349. // --></script>
  350.  
  351. <!-- begin sponsor_sidebox -->
  352.  
  353. <div class="sponsor_sidebox">
  354.  
  355. <ul>
  356.  
  357. <li><a href="http://www.smilesoftware.com/">Smile</a></li>
  358.  
  359. <li><a href="http://crashplan.com/ref/tidbits.html">CrashPlan</a></li>
  360.  
  361. <li><a href="http://macte.ch/conf_tidbits">MacTech Conference</a></li>
  362.  
  363. <li><a href="http://www.econtechnologies.com/tb">Econ Technologies</a></li>
  364.  
  365. <li><a href="http://www.smithmicro.com/tidbits">Smith Micro</a></li>
  366.  
  367. <li><a href="http://markspace.com/bits?source=tidbits">Mark/Space</a></li>
  368.  
  369. <li><a href="http://www.webcrossing.com/">Web Crossing</a></li>
  370.  
  371. <li><a href="http://www.tidbits.com/about/support/contributors.html">Readers Like You!</a></li>
  372.  
  373. <li><a href="http://www.thedatarescuecenter.com/">The Data Rescue Center</a></li>
  374.  
  375. <li><a href="http://nuance.com/dragon/mac">Nuance</a></li>
  376.  
  377. <li><a href="http://www.usefulfruit.com/tb">Useful Fruit</a></li>
  378.  
  379. </ul><div class='sponsor_sidebox_bottom'> </div>
  380. </div>
  381.  
  382.  
  383. <!-- end sponsor_sidebox -->
  384.  
  385.  
  386. </div> <!-- end leftcolumn div -->
  387.  
  388. <!-- end left column -->
  389.  
  390.  
  391. <!-- begin centercolumn_border -->
  392.  
  393. <div id="centercolumn_border">
  394.  
  395. <div class="center_top">Thoughtful, detailed coverage of the Mac, iPhone, and iPad, plus the best-selling <a href="http://www.takecontrolbooks.com/?pt=TB-TAGLINE" style="color:yellow">Take Control</a> ebooks.</div>
  396.  
  397. <!-- begin centercolumn -->
  398. <div id="centercolumn">
  399.  
  400.  
  401.  
  402. <!-- begin rightcolumn_container -->
  403. <div id="rightcolumn_container">
  404.  
  405. <!-- begin rightcolumn -->
  406.     <!-- rightcolumn is embedded within centercolumn so featured text wraps around it -->
  407.     <div id="rightcolumn">
  408.  
  409. <p class="top"> </p>
  410.  
  411.  
  412.  
  413.  
  414.  
  415.  
  416.  
  417.  
  418.  
  419.  
  420. <!-- Watchlist items -->
  421. <div class="tearoffbox_wide_container">
  422. <div class="tearoffbox_wide_watchlist">
  423. <p class="tearoffbox_wide_top_watchlist"> </p>
  424.  
  425. <h6><a href="/section/watchlist">TidBITS Watchlist</a></h6>
  426. <ul>
  427.  
  428. <LI><a href="/article/11625">Adobe Flash Player 10.1.85.3</a></LI>
  429.  
  430. <LI><a href="/article/11622">DEVONthink and DEVONnote 2.0.4</a></LI>
  431.  
  432. <LI><a href="/article/11620">Security Update 2010-006</a></LI>
  433.  
  434. <LI><a href="/article/11619">TinkerTool 4.2</a></LI>
  435.  
  436. <LI><a href="/article/11618">Mailplane 2.2</a></LI>
  437.  
  438. <LI><a href="/article/11617">Pro Applications Update 2010-02</a></LI>
  439.  
  440. <LI><a href="/article/11611">Dialectic 1.7</a></LI>
  441.  
  442. <LI><a href="/article/11604">Transmit 4.1.1</a></LI>
  443.  
  444. <LI><a href="/article/11603">MarsEdit 3.1.1</a></LI>
  445.  
  446. <LI><a href="/article/11600">Savescreenie 2.0</a></LI>
  447.  
  448. </ul>
  449.  
  450. <div class="tearoffbox_wide_bottom_watchlist"> </div>
  451.  
  452. </div><!-- end tearoffbox_wide -->
  453.  
  454. </div><!-- end tearoffbox_wide_container for watchlist items -->
  455.  
  456. <!-- begin tearoff box wide -->
  457.  
  458. <div class="tearoffbox_wide_container">
  459. <div class="tearoffbox_wide_tips">
  460.  
  461. <div class="tip_display">
  462. <div class="tips_sponsor_logo">
  463.  
  464. </div>
  465. <h6>Find Text Leading from Acrobat PDF</h6>
  466. <p><p>Ever have to recreate a document from an Acrobat PDF? You can find out most everything about the text by using the Object Inspector, except the leading. Well, here's a cheesy way to figure it out. Open the PDF in Illustrator (you just need one page). Release any and all clipping masks. Draw a guide at the baseline of the first line of text, and one on the line below. Now, Option-drag the first line to make a copy, and position it exactly next to the original first line at baseline. Then put a return anywhere in the copied line. Now adjust leading of the copied lines, so that the second line of copy rests on the baseline of the second line of the original. Now you know your leading.</p><p>Or you could buy expensive software to find the leading. Your choice.</p></p>
  467. <p>Visit <a href="http://macproductionartist.wordpress.com">Mac Production Artist Tips and Scripts</a></p>
  468. </div>
  469.  
  470. <div class="tearoffbox_wide_bottom_tips">
  471. <div style="padding-bottom:35px"><div class="tip_display" style="float:left"><p><br><a href="/tipbits/172">Link to this tip</a></p></div><div class="tip_display" style="float:right; width:150px">
  472. <p class="credit">Submitted by<br>Greg Ledger</p>
  473. </div></div>
  474.  
  475. </div>
  476.  
  477. <div class="tearoffbox_wide_tips_submit">
  478. <form method="post" onsubmit="return false" id="tipbits_form" name="tipbits_form" action="noaction.cgi"><p><a href="javascript:void(0)" onmousedown="ShowTipBox('ts','ts_recaptcha', 50, 'tip_title_id'); return true;">Share your own tip!</a> | <a href="javascript:void(0)" onClick="generic_show_hide('search_tipbits'); document.tipbits_form.tipbits_searchvalue.focus()">Search TipBITS</a></p>
  479. <p style="display:none" id="search_tipbits"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue'); }" id="tipbits_searchvalue" name="tipbits_searchvalue"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue')">Search</a></p></form>
  480. </div>
  481. <div class="tearoffbox_wide_bottom_tips_submit">
  482.  
  483. </div>
  484.  
  485. </div><!-- end tearoffbox_wide_tips -->
  486. </div><!-- end tearoffbox_wide_container for tips-->
  487. <!-- end tearoff box wide -->
  488.  
  489.  
  490.  
  491. <!-- begin 300 x 250 ad -->
  492.  
  493. <div id="content_ad_square">
  494. <script type='text/javascript'><!--// <![CDATA[
  495.     OA_show(5);
  496. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TB7671f69'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=5&n=TB7671f69'></a></noscript>
  497. </div><!-- end 300 x 250 ad -->
  498.  
  499. <!-- TBTalk items -->
  500. <div class="tearoffbox_wide_container">
  501.  
  502. <div class="tearoffbox_wide_p">
  503. <p class="tearoffbox_wide_top_p"> </p>
  504.  
  505. <h5>Recent TidBITS Talk Discussions</h5>
  506. <ul>
  507.  
  508. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf95241">Alternatives to MobileMe for syncing calendars between iPad/Mac</a> (1 message)</LI>
  509.  
  510. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf94dbb">Free anti-virus for the Mac</a> (20 messages)</LI>
  511.  
  512. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf934e6">iTunes 10 syncing iPod Touch 4.1</a> (2 messages)</LI>
  513.  
  514. <LI><a href="http://emperor.tidbits.com/webx?50@@.3cf92a22">Thoughts about Ping</a> (16 messages)</LI>
  515.  
  516. </ul>
  517.  
  518. <div class="tearoffbox_wide_bottom_p"> </div>
  519.  
  520. </div><!-- end tearoffbox_wide -->
  521.  
  522. </div><!-- end tearoffbox_wide_container for TBtalk items -->
  523.  
  524. <!-- start takecontrol_ad -->
  525. <script type='text/javascript'><!--// <![CDATA[
  526.     OA_show(7);
  527. // ]]> --></script><noscript><a target='_blank' href='http://db.tidbits.com/ads/delivery/ck.php?n=TBe46d56f'><img border='0' alt='' src='http://db.tidbits.com/ads/delivery/avw.php?zoneid=7&n=TBe46d56f'></a></noscript><!-- end takecontrol_ad -->
  528.  
  529. <!-- begin tearoff box 2 -->
  530.  
  531. <div class="tearoffbox_wide_container">
  532.  
  533. <div class="tearoffbox_wide_p">
  534. <p class="tearoffbox_wide_top_p"> </p>
  535.  
  536. <h5>Related Articles</h5>
  537. <ul>
  538. <li><a href="/article/7239">The Mail Must Go Through, Faster</a> (23 Jun 03)</li>
  539. <li><a href="/article/6943">Mailsmith and Distributed Filtering, Part 1</a> (23 Sep 02)</li>
  540.  
  541. </ul>
  542.  
  543. <p class="tearoffbox_wide_bottom_p"> </p>
  544.  
  545. </div><!-- end tearoffbox_wide -->
  546. </div><!-- end tearoffbox_wide_container -->
  547.  
  548. <!-- end tearoff box 2 -->
  549.  
  550.  
  551.  
  552.  
  553.  
  554.  
  555.  
  556. <!-- begin tearoff box 1 -->
  557.  
  558. <div class="tearoffbox_wide_container">
  559.  
  560. <div class="tearoffbox_wide">
  561. <p class="tearoffbox_wide_top"> </p>
  562.  
  563. <h5>Published in <a href="/issue/638">TidBITS 638</a>.<br><a href="http://www.tidbits.com/list">Subscribe</a> to our weekly email edition.</h5>
  564. <ul>
  565. <li><A HREF="/article/6867">Security Update 7-12-02 Fixes Software Update</A></li>
  566. <li><A HREF="/article/6868">FileMaker Pro 6 Released</A></li>
  567. <li><A HREF="/article/6869">Content Filtering Exposed</A></li>
  568.  
  569. </ul>
  570.  
  571. <p class="tearoffbox_wide_bottom"> </p>
  572.  
  573. </div><!-- end tearoffbox_wide -->
  574. </div><!-- end tearoffbox_wide_container -->
  575.  
  576. <!-- end tearoff box 1 -->
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584. <div id="rightcolumn_bottom">
  585.  
  586. </div>
  587.  
  588.     </div><!-- end rightcolumn -->
  589.  
  590.  
  591. </div><!-- end rightcolumn_container -->
  592.  
  593.  
  594.  
  595. <!-- featured articles -->
  596.  
  597. <div id="center_ajax_sub" class="instapaper_body">
  598.  
  599. <!-- google_ad_section_start -->
  600.  
  601.  
  602.  
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618.  
  619.  
  620. <!-- issue, article, or series -->
  621.  
  622.     
  623.     
  624.     
  625.     
  626.     
  627.         
  628.     <!-- show article(s) -->
  629.     <div class="article"><a name="5484"></a>
  630.     
  631. <!-- comment initialization routine as needed -->
  632. <div class="popup_box_with_captcha" id="hc_5484" style="display: none">
  633.     <div class="tip_box_format">
  634.     <div id="hc_innards_alt_5484" style="display: none">
  635.             <div class="tbf_row">
  636.                 <div class="tbf_wide_80" id="hc_small_response_5484"></div><div class="x_close_row" id="hc_upper_right1_5484"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_5484', 'hc', '5484'); return true;">Close</a></div>
  637.  
  638.             </div>
  639.     </div>
  640.     <div id="hc_innards_5484">
  641.         <div class="tip_box_form">        
  642.             <form action="foobar.cgi" method="get" name="check_human_5484">
  643.             <div class="tbf_row">
  644.                 <div class="tbf_wide_80" id="hc_rc_5484">To help us avoid automated posts and misuse of our site, please enter the words below.</div><div class="x_close_row" id="hc_upper_right2_5484"><a href="javascript:void(0)" onmousedown="HidePopupContent('hc_5484', 'hc', '5484'); return true;">Close</a></div>
  645.  
  646.             </div>
  647.             <div class="spacer"></div>
  648.             <div class="tbf_row" id="hc_message_box_5484" style="display:none">
  649.                 <div class="tbf_wide"><div class="tbf_alert" id="hc_top_message_5484"></div></div>
  650.             </div>
  651.             <div class="spacer"></div>
  652.             <div class="tbf_row">
  653.                 <div class="tbf_wide"><div id="hc_recaptcha_5484"></div></div>
  654.             </div>
  655.             <div class="spacer"></div>
  656.             <div class="tbf_row">
  657.                 <div class="tbf_wide"><input type="submit" value="Submit" name="submit_this_tip" onClick="handle_tip_submission('hc', '5484', this.form, this.form.submit_type.value); return false;"><input name="calling_routine" type="hidden"><input type="hidden" name="getbits" value="6870"><input type="hidden" name="author_id"><input type="hidden" name="submit_type" value=""></div>
  658.             </div>
  659.             <div class="spacer"></div>
  660.             </form>
  661.         </div><!-- end tip_box_form -->
  662.     </div><!-- end hum box innards -->
  663.     </div><!-- end tip box format -->
  664. </div><!-- end tip_submit box-->
  665.  
  666.  
  667.  
  668.         
  669.         
  670.         <!-- specific article details here -->
  671.         
  672.         
  673.             
  674.         
  675.     
  676.         <article_link><script type="text/javascript">open_if_linked('')</script></article_link>
  677.         
  678.         <div class="featured_meta"><div class="meta_article">15 Jul 2002 | <a href="/article/6870?print_version=1">Print <span class="shift_up"><img src="/images/printer_icon.gif" alt="Printer-Friendly Version of This Article" border="0" width="9" height="10"></span></a></div></div>
  679.  
  680.         <H2>Mailsmith 1.5: Lean, Mean Email Machine</H2>
  681.  
  682.         <p class="byline">by <a href="/author/William%20Porter">William Porter</a> <a href="javascript:void(0)" onClick="document.check_human_5484.submit_type.value='email'; document.check_human_5484.author_id.value='295'; ShowTipBox('hc_5484', 'hc_recaptcha_5484')"><span class="shift_down"><img src="/images/gettb_button_email.gif" height="12" width="12" border="0" alt="Send Email to Author"></span></a></P>
  683.  
  684.         <!-- article text -->
  685.         
  686.         <div id="article_box_5484"><P>It's safe to assume that nearly everyone with Internet access uses email, but you can't assume that everyone needs the same features in an email client. Mailsmith, from Bare Bones Software, eschews other programs' emphasis on making messages pretty (in fact, HTML email is not supported), and instead focuses on making it easy and powerful for you to create, store, and locate your messages.</P><P>Mailsmith 1.0, released in 1998, boasted a feature set that compared favorably to its established big-league competition, Microsoft's Outlook Express and Qualcomm's Eudora. And Mailsmith had certain strengths that the competition couldn't match, especially in searching and filtering. It was a great version 1.0. Unfortunately, some impatient users (including yours truly) found it unacceptably slow.</P><P>With the latest release of Mailsmith 1.5, my old gripe about Mailsmith's performance has been eliminated. And as of version 1.5, Mailsmith is now a full-fledged Mac OS X application (it can also run under Mac OS 9.) But Mailsmith 1.5 is more than an optimized and carbonized version of Mailsmith 1.0.</P><P><<A HREF="http://www.barebones.com/products/mailsmith.html">http://www.barebones.com/products/ mailsmith.html</A>></P><P><STRONG>Mailsmith and Text</STRONG> -- Mailsmith's older cousin and Bare Bones' flagship product is BBEdit, in my mind the world's greatest plain text editor. BBEdit is a perennial favorite with programmers, Web developers, practitioners of the arcane art of grep, and anyone else who needs to manipulate or process text in a serious way. In keeping with its bloodline, Mailsmith is an email client with, well, mind-bogglingly deep support for text processing in the broadest sense.</P><P>Mailsmith's writing tools - and I'm talking here just about tools that I personally use every day - include user-controlled text wrapping and rewrapping, quoting and unquoting, adding or removing line breaks, multiple clipboards, unlimited undos, support for draft messages, a sort feature, and a find/replace tool that includes full support for regular expressions (the aforementioned grep). The fact that I can access all of these commands without lifting my hands from the keyboard is a serious plus.</P><P>New in Mailsmith 1.5 is a glossary feature, very similar to BBEdit's. A Mailsmith glossary can contain as much or as little text as you like, and it can be inserted either from a floating palette or by means of a user-defined keystroke. The glossary feature is overkill if all you want to do is create shortcuts for frequently typed words; something like TypeIt4Me is a much better tool for that and works great with Mailsmith under Mac OS X. What makes glossaries truly powerful is that, in addition to your custom text, they can use placeholders to insert the current date or time, or to control where the insertion point is placed after the glossary item is entered, or what text is selected.</P><P><<A HREF="http://www.typeit4me.com/">http://www.typeit4me.com/</A>></P><P><STRONG>You've Got Mail - Lots of It</STRONG> -- Mailsmith's greatest strength lies in the tools it gives you for managing your mail intelligently, a boon these days as spam continues to multiply.</P><P>First off, you want to file messages in logical locations. Mailsmith of course lets you manually drag messages from one mailbox to another or use the contextual menu's Move to Mailbox command, but there is a much better way: filters. Set up the right filters and you will seldom have to worry about moving messages around by hand. Messages from Mom can end up in the your Family mailbox, or messages from your top client can appear in his specific box and flagged as important. An example of a traditional filter - written out as text - might look like this:</P><BLOCKQUOTE>IF "From" CONTAINS "editors@tidbits.com" THEN TRANSFER TO MAILBOX "TidBITS"</BLOCKQUOTE><P>Filtering is to email what formatting by styles is to word processing, namely, the single most useful task that the program can perform for you. And no program gives you more or better ways to create and use filters than Mailsmith. Mailsmith actually provides three distinct ways to approach the problem of filtering: basic filters, traditional filters, and distributed filters.</P><P>You can use Mailsmith's filters in the standard way, to transfer incoming messages directly into the mailboxes where they belong. Considering Bare Bones's reputation for catering to code-it-yourselfers, it may come as a surprise that Mailsmith 1.5 offers an innovation aimed equally at technophobes and at those for whom convenience trumps all other considerations. In Mailsmith 1.5, when you create a new mailbox, you are immediately asked if you would like to create a basic filter to route messages into that mailbox, and if so, what criteria the message must meet. If you had just created a mailbox for your most important client, for example, you might tell Mailsmith to transfer to that mailbox messages whose From header line contains the email address myclient@example.com. (It's easy to tell where your new mail goes: mailboxes with unread messages are highlighted, and they display the number of unread messages.) Additionally, you can ask Mailsmith to notify you ("Mail from your top client has arrived!"), or play a sound, or perform one or two other simple actions. Setting up a filter this way is quick and couldn't be easier, in part because the user does not have to specify the an action transferring mail to the target mailbox, and in part because the number of actions available is intentionally limited to common filtering actions.</P><P>On the other hand, if you are up to the challenge, Mailsmith also includes options for its traditional filters that run circles around the competition. In Mailsmith, unlike in Eudora, filters can have an unlimited number of test criteria and actions; and you can give your filters custom names, making it easier to manage them intelligently. And unlike Entourage, Mailsmith filters can use tests with simple logical branching: if (a or b) and (x or y). You can test to see if "any address" matches a particular string, which allows you to use the same filter to catch incoming and outgoing correspondence, say, with a particular client. And finally, you can use regular expressions (grep) to test for text patterns in the subject, headers, or body of messages, which means the sky's the limit.</P><P>I would have stopped at running rings around the competition, but Bare Bones did not. There's a third approach: distributed filtering, which is not just a better way to make filters, it takes the whole idea of filtering to a new level. Distributed filters can be attached to any mailbox, and are then triggered as messages percolate through your hierarchy. A single distributed filter can be attached to several different mailboxes and have a slightly different effect in each location, due to changes in the context. I now use distributed filters to process my mail entirely, from the moment it comes in, to the moment it gets deleted; the only thing these distributed filters can't do is read the mail for me.</P><P>Distributed filters are much more powerful and flexible than traditional filters, yet at the same time, they are actually easier to set up and troubleshoot. The only catch is that distributed filters are so original that it's hard for new users to grasp the idea at first. I'll cover them in more detail in an upcoming issue.</P><P>My only gripe with Mailsmith's filters is that there's no link between filtering tests and the address book. In some other programs, you can test to see if an incoming message is from someone whose email address is in the address book, or who belongs to a mail group. Mailsmith does not provide filtering tests that let you do this.</P><P>If half of managing your email is getting messages filed in the right mailboxes, the other half is being able to find those messages later. Like several other programs, Mailsmith provides both simple and advanced query options. The Advanced Query definition dialog is identical to the one used to define filters and gives you access to the same extraordinary range of options. In just a second or two, you can find all messages to or from a particular person, or sent within a certain date range. And once again, you can use regular expressions in these advanced queries.</P><P>I use Mailsmith's advanced queries all the time and couldn't imagine life without them. I have only two complaints. One is that Mailsmith does not let you search in several different mailboxes at the same level of the hierarchy at the same time, as you can in Eudora. (You can search inside a parent mailbox and its children, just not in a mailbox and one of its siblings.) My other wish is that you could save queries, another feature that's available in Eudora.</P><P>But that's not all. New in Mailsmith 1.5.3 is support for Sherlock-style searching that ranks found messages by how relevant they are to your search terms. Where you'd use Mailsmith's standard searching tools for finding messages that come from a specific person or within a specific date range, the Find Messages About dialog lets you search your entire collection for messages related to your search terms, a much fuzzier approach that's a godsend when you can't remember an appropriate keyword in the messages you hope to find.</P><P><STRONG>Tyrannosaurus Regex</STRONG> -- For years, I pooh-poohed the idea of searching based on patterns of text, generally called regular expressions, also known as regex or grep. When users of BBEdit and Nisus Writer tried to tell me how useful regular expressions could be, I laughed - but it was a hollow, nervous laugh. The truth is, I had taken a peek at grep and found it rather scary. Now I'm hooked, and my addiction has a lot to do with my desire to make the most of Mailsmith's strengths.</P><P>Say you want to search for my company's name in the body of messages in a given mailbox, but you can't remember whether it's spelled Polytrope, Pollytrope, Polutrope, or Poletrope. You could perform the search four times, changing the search string slightly each time, or, if you knew just a tiny bit about regex, you could search once for this regex string:</P><BLOCKQUOTE> pol+.trope</BLOCKQUOTE><P>This string matches any of the four possibilities I gave. Note that coming up with this search pattern does not require a computer science degree. The plus sign (+) and the period (.) are among the most common replacement symbols used in regex. The plug sign means "possibly more than one of the preceding character," and the period means "one of any character."</P><P>Regex is also useful in building filters. One of the simplest and most effective tests for spam is this regex :</P><BLOCKQUOTE>IF "Subject" MATCHES REGEX PATTERN "  +"</BLOCKQUOTE><P>That's two spaces and a plus sign. It simply looks for strings of two or more blank spaces in the subjects of incoming messages. I just ran this particular test on my main mailbox and found 90 messages; only four of them were not marketing messages or downright spam. [Searching for more spaces would probably make this filter less likely to catch legitimate messages. -Adam]</P><P>Knowing even a tiny bit about regex is immediately useful. Knowing more than a tiny bit means you'll be using it everywhere. How do you learn? The Mailsmith documentation will take you through the basics and then some, although it's short on examples that make sense in the context of an email program. The Mailsmith Talk and BBEdit Talk mailing lists are both frequented by folks who use regex to edit their weekly grocery lists and are helpful to new users. Also useful is the Web site Steve Ramsay's Guide to Regular Expressions. And if the bug bites you, you'll want to get Jeffrey Friedl's book Mastering Regular Expressions, Second Edition, published by O'Reilly and Associates.</P><P><<A HREF="http://etext.lib.virginia.edu/helpsheets/regex.html">http://etext.lib.virginia.edu/helpsheets/ regex.html</A>><BR><<A HREF="http://www.amazon.com/dp/0596002890/?tag=tidbitselectro00">http://www.amazon.com/exec/obidos/ASIN/ 0596002890/tidbitselectro00/</A>></P><P><STRONG>Have It Your Way</STRONG> -- In the best Macintosh tradition (and in striking contrast to Apple's Mac OS X Mail), Mailsmith is extraordinarily customizable. You can assign a keystroke to almost every command in the Mailsmith menu, something that power users will love.</P><P>Then there's AppleScript. AppleScript can control almost every aspect of Mailsmith and also interact with other applications. And Mailsmith is not just scriptable, it's recordable. This means that you can write a script - or at least get a draft version of a script - by turning recording on, then performing a series of actions in Mailsmith. You may have to do some editing afterwards, but recording is often a great way to great a simple script started, and it's a boon to AppleScript amateurs like myself. Mailsmith is also one of the few Mac OS X applications that are AppleScript-attachable, which means you can link a script to a Mailsmith menu item so the script runs when you select that command.</P><P><STRONG>Miscellaneous Topics</STRONG> -- A few things seem worth mentioning but don't fit into the larger topics above.</P><P>Nothing in Mailsmith better deserves to be described as "bare bones" than the address book. Even Mailsmith adepts admit in private that it might be nice to be able to sort by last names or to have a category field for organizing address book entries. I won't mind if Bare Bones tinkers with the address book in a future release, but I don't want them to "improve" it too much. I keep my fuller contact information in an application of my own which interacts nicely with Mailsmith and OmniWeb under Mac OS X.</P><P>Mailsmith stores messages in individual mailboxes, not the single huge database file favored by the Microsoft email clients or PowerMail. Now it appears that Mailsmith examines every mailbox when it starts up, and this scan seems to change each mailbox file's modified date; so unfortunately, a backup program like Retrospect which looks at modified dates will want to back up all the mailboxes every time, regardless of whether or not they have actually received new messages. Even so, storing your messages in many database files does avoid putting all your eggs in one basket.</P><P>Mailsmith 1.5 provides built-in support for SpamCop, a spam reporting service. This feature doesn't help you deal with spam that you have received or are destined to receive - you use filters for that - but it does improve the ecosystem by making life more difficult for spammers. A SpamCop reporting account is free; the Mailsmith documentation explains how to configure Mailsmith for use with SpamCop.</P><P><<A HREF="http://www.spamcop.net/">http://www.spamcop.net/</A>></P><P><STRONG>So What's Not to Like?</STRONG> Mailsmith is as good as I claim, for both ordinary users and power users. But that doesn't mean it's for everybody. Mailsmith does not support IMAP, a type of email account that some people must use or may prefer over standard POP.</P><P>And then there's the shocking fact that Mailsmith does not handle HTML. Mailsmith has been designed by people who believe that email should be plain text, for users who believe the same thing. The person most likely to love Mailsmith is someone who likes his email neat: no ice, no soda, no cute little umbrellas. And for heaven's sake, no HTML!</P><P>Personally, Mailsmith 1.5 handles HTML as well as I like. If an incoming HTML message is properly formatted, Mailsmith generally does a good job of extracting the raw content and displaying it. If you insist on having the message dance at your table in all its painted and tattooed HTML glory, simply double-click on the HTML enclosure to view it in your browser.</P><P>I should mention in this context that Mailsmith 1.5 does use QuickTime translation and playback view images and movies without opening another application (though in a window separate from the incoming message that contains the movie or graphic). This is a service provided by the operating system itself, so it makes sense to take advantage of it.</P><P>Also, Mailsmith's server management options seem to have been designed more for safety than user convenience. You can tell Mailsmith to leave messages for one account on the server but delete messages for another account as soon as they have been downloaded. However, you cannot tell Mailsmith to delete mail on a server after a specified number of days. However, the easy-to-use POP Monitor does let view messages on the server and delete or download them individually.</P><P><STRONG>Summing Up</STRONG> -- Should you adopt Mailsmith as your new email client?</P><P>The answer will be an easy no for users who aren't using either Mac OS 9 or Mac OS X 10.1 or later, who require IMAP, or who want to compose email in double-byte languages like Chinese or Arabic (which Mailsmith does not support). Some other users may find Mailsmith's user interface simply too austere.</P><P>Otherwise, you may want to do yourself a favor and take a close look at Mailsmith. Its combination of powerful editing features, innovative filtering tools, comprehensive support for AppleScript, straightforward interface, and the extraordinary degree to which you can customize it, makes it very hard to resist. It won't be right for everybody, but in my judgment, for most users, Mailsmith may be the best email client for the Mac.</P><P>Mailsmith 1.5 normally costs $100, with $80 copies available for academic users or those upgrading from another email program. Upgrades from previous versions are $40. From 15-Jul-02 through 19-Jul-02, you can also take advantage of Bare Bones Software's "Not-at-the-Show" special price of $80 plus a free BBEdit t-shirt. If you want to try before you buy, you can download a fully functional demo (8.4 MB) that works for 24 launches.</P><P><<A HREF="https://store.barebones.com/MWNY2002.html">https://store.barebones.com/MWNY2002.html</A>><BR><<A HREF="http://www.barebones.com/products/mailsmith/mailsmith-demo.html">http://www.barebones.com/products/mailsmith/ mailsmith-demo.html</A>></P><!-- Mailsmith 1.5: Lean, Mean Email Machine William Porter --></div>
  687.         
  688.  
  689.         <!-- end article text -->
  690.     
  691.         
  692.         <!-- PayBITS -->
  693.         
  694.  
  695.         
  696. <p> </p><div class="sponsorbox">
  697. <div class="sponsortext"><A HREF="http://www.webcrossing.com/"><IMG SRC="http://db.tidbits.com/images/badges/web-crossing.gif" ALT="" HEIGHT="50" WIDTH="50" BORDER="0" ALIGN="left"></A>WebCrossing Neighbors Creates Private Social Networks<br />Create a complete social network with your company or group's<br />own look. Scalable, extensible and extremely customizable.<br />Take a guided tour today <<a href="http://www.webcrossing.com/tour">http://www.webcrossing.com/tour</a>></div>
  698. </div>
  699. <div class="sponsorbox_bottom"> </div>
  700.  
  701.  
  702.         <!-- comments section -->
  703.         
  704.         <!-- end comment show-->
  705.         
  706.         <!-- end comments section -->
  707.  
  708.  
  709.         <!-- end article loop details -->
  710.         
  711.         
  712.  
  713.         
  714.     </div><!-- end show article -->
  715.     
  716.     
  717.  
  718.  
  719. <!-- article_plus end -->
  720. <!--
  721. </DIV>
  722. --><!-- end main_column DIV -->
  723.  
  724.  
  725. <!-- google_ad_section_end -->
  726.  
  727. </div><!-- end center AJAX insert -->
  728.  
  729. <!-- TipBITS Search Results Lozenge -->
  730. <div id="tipbits_results_loz" style="display:none">
  731. <form method="post" onsubmit="return false" id="tipbits_form_loz" name="tipbits_form_loz" action="noaction.cgi">
  732. <div class="tip_footer">
  733. <p id="search_tipbits_loz"><input type="text" onkeydown="if (event.keyCode == 13) { search_tipbits('tipbits_searchvalue_loz', 'tipbits_results_loz'); }" id="tipbits_searchvalue_loz" name="tipbits_searchvalue_loz"> <a href="javascript:void(0)" onClick="search_tipbits('tipbits_searchvalue_loz', 'tipbits_results_loz')">Search</a></p>
  734. </div>
  735. <div class="tip_footer_bottom">
  736.  </div>
  737. </form>
  738. </div><!-- end TipBITS Search Results lozenge -->
  739.  
  740.  
  741.  
  742.  
  743. <!-- begin footer -->
  744. <div id="footer">
  745.  
  746. <div id="qr_tag_right"><div id="qr_tag_image"><img src="http://db.tidbits.com/tags/6870.png"></div><div id="qr_tag_text"><a href="http://db.tidbits.com/article/10616">What's this image?</a></div></div>
  747. <p>Special thanks to <a href="http://www.forest.net/">digital.forest</a>, our
  748. Web and mailing list host.</p>
  749. <p>Unless otherwise noted, this article is copyright © 2002 <a href="/author/William%20Porter">William Porter</a></p>
  750. <p>TidBITS is copyright © 2010 TidBITS Publishing Inc.</p>
  751. <p>Reuse governed by <a href="http://www.tidbits.com/terms/">Creative Commons License</a>.</p>
  752.  
  753. <p><a href="/about.html" title="About TidBITS">About TidBITS</a> | <a href="/account.html" title="Account Help">Account Help</a> | <a href="/advertising.html" title="Advertise with TidBITS!">Advertise with TidBITS!</a> | <a href="/contact.html" title="Contact Info">Contact Info</a> | <a href="/copyright.html" title="Copyright Terms">Copyright Terms</a></p>
  754.  
  755. </div><!-- end footer -->
  756.  
  757.  
  758. </div> <!-- end centercolumn -->
  759.  
  760. <div class="center_bottom"> </div>
  761.  
  762. </div> <!-- end centercolumn_border -->
  763.  
  764.  
  765. </div> <!-- end content_container -->
  766.  
  767. </div> <!-- end mainbody -->
  768.  
  769.  
  770. <script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
  771. </script>
  772. <script type="text/javascript">
  773. _uacct = "UA-276924-3";
  774. urchinTracker();
  775. </script>
  776. <script type="text/javascript"
  777. src="http://tidbitscom.skimlinks.com/api/skimlinks.js"></script>
  778. <script type="text/javascript">
  779. var skimlinks_pub_id = '2559X585851';
  780. var skimlinks_domain = 'go.tidbits.com';
  781. skimlinks();
  782. </script>
  783. </body>
  784. </html>
  785.  
  786.