mutation as clever generalization or diabolical hack is left as an exercise in itself smtp sends may not work in some network configurationson my home/office networksmtp works fine and as shown for sending emailsbut have occasionally seen sends have issues on public networks of the sort available in hotels and airports in some casesmail sends can fail with exceptions and error messages in the guiin worst casessuch sends might fail with no exception at all and without reporting an error in the gui the mail simply goes nowherewhich is obviously less than ideal if its content matters it' not clear if these issues are related to limitations of the networks usedof python' smtplibor of the isp-provided smtp server use unfortunatelyi ran out of time to recreate the problem and investigate further (againa system with single user also has just single testerresolving any such issues is left as an exercise for the readerbut as cautionif you wish to use the system to send important emailsyou should first test sends in new network environment to ensure that they will be routed correctly sending an email to yourself and verifying receipt should suffice performance tuningalmost all of the work done on this system to date has been related to its functionality the system does allow some operation threads to run in paralleland optimizes mail downloads by fetching just headers initially and caching alreadyfetched full mail text to avoid refetching apart from thisthoughits performance in terms of cpu utilization and memory requirements has not been explored in any meaningful way at all that' for the best--in general we code for utility and clarity first in pythonand deal with performance later if and only if needed having said thata broader audience for this program might mandate some performance analysis and improvement for examplealthough the full text of fetched mails is kept just once in cacheeach open view of message retains copy of the parsed mail in memory for large mailsthis may impact memory growth caching parsed mails as well might help decrease memory footprintsthough these will still not be small for large mailsand the cache might hold onto memory longer than required if not intelligently designed storing messages or their parts in files (perhaps as pickled objectsinstead of in memory might alleviate some growthtoothough that may also require mechanism for reaping temporary files as ispython' garbage collector should reclaim all such message space eventually as windows are closedbut this can depend upon how and where we retain object references see also the gc standard library modules for possible pointers on finer-grained garbage collection control unicode model tuningas discussed in brief at the start of this and in full in pymailgui' support for unicode encoding of message text and header components is broadbut not necessarily as general or universally applicable as it might be some the pymailgui client