mailtoplone.base
HomePage: https://svn.plone.org/svn/collective/mailtoplone/mailtoplone.base
Author: Hans-Peter Locher
Download: https://pypi.python.org/packages/source/m/mailtoplone.base/mailtoplone.base-0.2.7.zip
mailtoplone.base ================ Overview -------- basic package for mailtoplone Authors ------- Stefan Eletzhofer -- "<stefan dot eletzhofer at inquant de>" Hans-Peter Locher -- "<hans-peter dot locher at inquant de>" Copyright (c) 2007-2008 InQuant GmbH -- "http://www.inquant.de" Dependencies ------------ Additional egg dependecies ************************** icalendar python-dateutil Contents -------- Content Types ************* InBox: Provides an XMLRPCView to access it's drop method. Dropping a mailstring ( a plaintext string containing the whole email including envelope), a plone content type Email will be generated, the data field will contain the mailstring. Email: File like content type conatining the mailstring inside the data field. View registered for IEmail: emailview ( as standard view ) shows: - headers Subject, From, To, Cc - body (prefers text/html parts over text/plain parts) - attachments (download link) Adapters ******** MailDropBox: Basic adapter, providing a drop method generating an Email out of the dropped mailstring BlogMailDropBox: Advanced adapter, creating a news item out of the dropped mailstring. EventMailDropBox: Advanced adapter, creating an event out of text/calendar attachments inside the dropped mailstring Utilities ********* BaseDropBoxFactory: Used to find objects providing IMailDropBoxMarker with id=key. Used by the deliver action in mailtoplone.contentrules. ICalEventFactory: Taking an icalendar string, this utility creates an ATEvent out of each VEVENT. The implementation supports keywordarguments, passing them to invokeFactory. This implementation correctly imports events exported from plone, as a first approach. It is used by the EventMailDropBox. MarkerInterfaces **************** You can use these markerinterfaces (@@manage_interfaces) to mark a folder for mailtoplone (remember to reindex the marked object). Afterwards the folder can be found and delivered mails to. IMailDropBoxMarker(Interface): """ marker interface for mail drop boxes """ IBlogMailDropBoxMarker(IMailDropBoxMarker): """ marker interface for blog mail drop boxes """ IEventMailDropBoxMarker(IMailDropBoxMarker): """ marker interface for event mail drop boxes """ Scripts ******* dropemail: File system python script, to drop a mail to an inbox(url), specify the mail as file or use stdin vim: set ft=rst tw=75 nocin nosi ai sw=4 ts=4 expandtab: Change history ************** Changelog ========= 0.2.7 (2009-07-22) ------------------ - use subject to generate id for type Email, so we avoid being limited to 1000 emails per dropbox (fixes #7) [hplocher] 0.2.6 (2008-12-02) ------------------ - fix dependency in setup.py to now require python-dateutil (was dateutil earlier) - correct propertiestool.xml to not purge, and only add Email to typesUseViewActionInListings [hplocher] - for earlier changes see included CHANGELOG Detailed Documentation ********************** mailtoplone.base ================ Setup TestEnvironment --------------------- Setting up a inbox containing email1, email2:: >>> self.setRoles(('Manager',)) >>> self.portal.invokeFactory('InBox', 'inbox') 'inbox' >>> self.portal.inbox.invokeFactory('Email', 'email1') 'email1' >>> self.portal.inbox.invokeFactory('Email', 'email3') 'email3' Adapter ------- Let's test the drop function useable with the MailDropBox Adapter, The dropped mails get their id's using the NameChooser:: >>> from mailtoplone.base.interfaces import IMailDropBox >>> IMailDropBox(self.portal.inbox).drop("some data") >>> IMailDropBox(self.portal.inbox).drop("some data") >>> IMailDropBox(self.portal.inbox).drop("some data") >>> self.portal.inbox.objectIds() ['email1', 'email3', 'email', 'email-1', 'email-2'] Let's test some values of a created email:: >>> self.portal.inbox.email.title 'email' >>> self.portal.inb