#! /usr/bin/python # # Copyright (c) 2001 Bizar Software Pty Ltd (http://www.bizarsoftware.com.au/) # This module is free software, and you may redistribute it and/or modify # under the same terms as Python, so long as this copyright message and # disclaimer are retained in their original form. # # IN NO EVENT SHALL BIZAR SOFTWARE PTY LTD BE LIABLE TO ANY PARTY FOR # DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING # OUT OF THE USE OF THIS CODE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # # BIZAR SOFTWARE PTY LTD SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, # BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE. THE CODE PROVIDED HEREUNDER IS ON AN "AS IS" # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE, # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. # # $Id: roundup-popgw,v 1.3 2001-11-01 22:20:39 richard Exp $ import sys if int(sys.version[0]) < 2: print "Roundup requires Python 2.0 or newer." sys.exit(1) # figure the instance home import os if len(sys.argv) > 1: instance_home = sys.argv[1] else: instance_home = os.environ.get('ROUNDUP_INSTANCE', '') if not instance_home: print 'No instance home specified' sys.exit(1) # get the instance import roundup.instance instance = roundup.instance.open(instance_home) # invoke the mail handler db = instance.open('admin') handler = instance.MailGW(db) import getpass, poplib from rfc822 import Message M = poplib.POP3('localhost') M.user(getpass.getuser()) M.pass_(getpass.getpass()) numMessages = len(M.list()[1]) for i in range(numMessages): for j in M.retr(i+1)[1]: s = cStringIO.StringIO('\n'.join(j)) s.seek(0) handler.handle_Message(Message(s)) # # $Log: not supported by cvs2svn $ # Revision 1.2 2001/11/01 22:09:36 richard # make popgw use the Message interface # # Revision 1.1 2001/11/01 22:07:11 richard # Completely untested pop gateway. It's a start. # # # # vim: set filetype=python ts=4 sw=4 et si