Skip to main content

addon for mailtoplone creating Scrawl Blog Entries

Project description




Example buildout


Change history


0.2 (2009-05-10)

  • fix issue querying multidapter with None, now correctly use context.REQUEST [ramonski]

0.1 (2009-05-29)

  • call add_category [hplocher]
  • get all attachments from mail, and call add_file for each [hplocher] call add_file for each, before calling create
  • decode subject header, used as title [hplocher]
  • refactor adapter, use IBlogEntryFactory [hplocher]
  • add adapter to create a Blog Entry [hplocher] (title, body text, only atm)

Detailed Documentation


We need manager role for this test:

>>> self.setRoles(('Manager',))

Configure Folder for Blog Entries

We use a standard Folder for dropping the emails in:

>>> self.portal.invokeFactory('Folder', 'blog_entries')
>>> blog_entries = self.portal.blog_entries

To enable MailDropbox functionality, we equip the folder with an additional marker interface:

>>> from zope.interface import alsoProvides
>>> from mailtoplone.scrawl.interfaces import IScrawlMailDropBoxMarker
>>> alsoProvides(blog_entries, IScrawlMailDropBoxMarker)

mailtoplone uses a more generic interface IMailDropBox, to adapt the context, we use that to call drop:

>>> from mailtoplone.base.interfaces import IMailDropBox
>>> IMailDropBox(blog_entries).drop("Subject: my first blog entry")

As result, we wexpect a single blog entry, with the title, id set according to the email’s subject:

>>> blog_entries.objectIds()
>>> blog_entry = blog_entries.listFolderContents()[0]
>>> blog_entry.title
u'my first blog entry'
>>> blog_entry.portal_type
'Blog Entry'


Hans-Peter Locher, Author Ramon Bartl


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mailtoplone.scrawl, version 0.2
Filename, size File type Python version Upload date Hashes
Filename, size (23.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page