Simple SMTP server that logs incoming emails and forwards them to a user-defined handler for debugging or processing.
# Source: https://github.com/billzhong/inbox.py | License: BSD-2-Clause | Copyright 2012, Kenneth Reitz
# Provided via justclaw.it.com; keep this notice with the code.
# -*- coding: utf-8 -*-
import smtpd
import asyncore
import argparse
from email.parser import Parser
from logbook import Logger
log = Logger(__name__)
class InboxServer(smtpd.SMTPServer, object):
"""Logging-enabled SMTPServer instance with handler support."""
def __init__(self, handler, *args, **kwargs):
super(InboxServer, self).__init__(*args, **kwargs)
self._handler = handler
def process_message(self, peer, mailfrom, rcpttos, data):
log.info('Collating message from {0}'.format(mailfrom))
subject = Parser().parsestr(data)['subject']
log.debug(dict(to=rcpttos, sende
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key