Skip to main content

Introduction

smtp2zope is a script that takes an email as input, does some transformation, and submits it to a backend server using a url. Traditionally, Zope is expected to be the receiving server, hence the name, but should work fine for other servers too.

Originally, the code here comes from the MailBoxer product for Zope.

Usage

When installing this package, a smtp2zope script is generated. The script reads from standard input and expects a url and optional maximum number of bytes as arguments:

smtp2zope URL [MAXBYTES]

URL:

call this URL with the email as a post-request. Authentication can be included in URL: http://username:password@example.org/some-page

MAXBYTES:

optional: only forward mails with a size of less than MAXBYTES to the URL

So a test run could look like this:

cat testmail.txt > /path/to/smtp2zope http://admin:secret@example.org/my-mail-handler

Mail server integration

Mail comes in through a mail server. So when you want mail for mailme@example.org to be handled by smtp2zope and sent to your web server, you should add an alias in your smtp server configuration. Something like this probably works (there might be slight differences depending on which mail server you use):

mailme@example.org "|/path/to/smtp2zope http://admin:secret@example.org/my-mail-handler 1000000"

The number at the end restricts the maximum size of a message; this is optional, but highly recommended.

Debugging

Please note: output is logged to maillog per default on unices. See your maillog (e.g. /var/log/mail.log) to debug problems with the setup.

Buildout

If you like setting up your project with zc.buildout (I myself do), this simple snippet is enough to create the bin/smtp2zope script:

[script]
recipe = zc.recipe.egg
eggs = smtp2zope

Credits

  • Original implementation: Maik Jablonski

  • Packaging: Maurits van Rees

Changelog

1.2 (2012-10-14)

1.1 (2011-05-05)

  • Use a better way to determine the basic authentication information that is passed in the url so the logic does not fail when the url has an @ sign somewhere else. [maurits]

  • Fixed error “local variable ‘AUTHORIZATION’ referenced before assignment” when not using basic authentication (http://user:pw@example.com). [maurits]

1.0 (2011-05-04)

  • Initial release

Release files for smtp2zope 1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smtp2zope 1.2
File Size Uploaded
smtp2zope-1.2.zip 27.2 kB Details

Release files / smtp2zope-1.2.zip

Download URL smtp2zope-1.2.zip
Size 27.2 kB
Tags Source
SHA-256 checksum
How to use checksums
9c38be38c4e9b967dccb47d1df6149dcdadccf1f0ca94349afe789d12f84bcf9
BLAKE2b-256 checksum
How to use checksums
f293b741d8e6a9036b6b426472a93f36a570a393aaa23c96da054cc38bada206
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

1.2 This release

1 release file

1.1

1 release file

1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page