GNU Mailutils |
|
General-Purpose Mail Package |
Official GNU Software |
The file name of the Python mail filter is specified using ‘script’ configuration statement. For example, the following configuration statement:
script { pattern "~/.maidag.py"; }
instructs mda
to use the file .maidag.py in the
recipient home directory as a Python filter.
A simple example of a mail filter written in Python:
from mailutils import * import maidag import re msg = message.Message (maidag.message) hdr = msg.header try: if 'List-Post' in hdr and 'Received' in hdr \ and hdr['Received'].find ('fencepost.gnu.org') != -1: # check envelope's sender address m = re.search (r'([\w\-]+)-bounces\+([\w]+)=.*', msg.envelope.get_sender ()) if m: lbox = m.group (1) user = m.group (2) # open destination mailbox and append message dst = mailbox.MailboxDefault ('~/Mail/%s' % lbox) dst.open ('ac') dst.append_message (msg) dst.close () # set deleted flag so maidag will not deliver msg elsewhere msg.attribute.set_deleted () except Exception: pass
This document was generated on January 2, 2022 using makeinfo.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.