PythonCard Email Application

This page is intended to capture issues for creating a sample email application in PythonCard.

Fred Pacquier created the fpop sample. fpop is modeled after the Japanese nPOP email program, but is designed to delete unwanted email such as SPAM from a POP3 server before the email is downloaded to the users local machine.

After spending some time with Fred's first pass at fpop, I started updating it with more features for viewing and sending email, automatically tagging SPAM for deletion, etc. I'm naive enough to think that we can create a basic email client using the standard Python libraries and PythonCard for the application framework. If nothing else, this will be a good stress test of the framework <wink>.

Email package

I decided to focus on using the latest version of the email module for the handling of messages. The most recent version of the email package is newer than what is included with Python 2.2.1 and so the package will likely get included with the email sample app to simplify usage.

Mailbox format

I would like to use one of the standard mailbox formats already supported by Python. We would probably maintain additional index files to speed up searching and displaying mailboxes as they get large.

I have done some experimentation with importing mail messages (using the rfc822 library) into relational stores (Access, SQL Server, most recently MySQL with full text indexing), and would like to discuss whether this would offer additional benefits that might make it worth including this feature. I'm sure that the email module will be quite easy to adapt to. [SH]

Some Proposed Features

Mail handling semantics and policies

Headers that are typically hidden from the user

Replies versus Forward

non-nested citations (using X-Attribution header or initials)

[From Barry Warsaw]

Google's historical Usenet archives are a wonderful and scary thing. I couldn't remember who invented non-nested citations, and a quick search showed that it's been a long time:

But this nice posting includes the comments in one of the original versions of the file, which reveals that it was Martin Neitzel who invented it.

Here's an example.

>>>>> "KA" == Kevin Altis <> writes:



Reply to Group

Reply to All


Message Threading




Initials indicate comments by particular individuals.


PythonCardEmailApp (last edited 2008-03-11 10:50:22 by localhost)

NOTE: To edit pages in this wiki you must be a member of the TrustedEditorsGroup.