#!/usr/bin/env python

import imaplib, time, sys, os, re, ConfigParser

SECTION = "default"

config = ConfigParser.SafeConfigParser()
config.readfp(open(os.path.expanduser("~/.phishing-reports")))
hostname = config.get(SECTION, 'hostname')
username = config.get(SECTION, 'username')
password = config.get(SECTION, 'password')
mailbox = config.get(SECTION, 'mailbox')
if config.has_option(SECTION, 'quiet'):
    quiet = config.get(SECTION, 'quiet')
else:
    quiet = False

connection = imaplib.IMAP4_SSL(hostname)
connection.login(username, password)
message_first = sys.stdin.readline()
# Drop the mbox separator line, if present
if re.search("^From ", message_first):
    message = ""
else:
    message = message_first
message += sys.stdin.read()
if len(message) <= 0:
    raise Exception("Empty message")
# append() does not raise exceptions when something goes wrong :-(
result = connection.append(mailbox, '', imaplib.Time2Internaldate(time.time()), message)
if not quiet:
    print result
connection.logout()


