diff --git a/listen.py b/listen.py index 78800f4..a2e6976 100755 --- a/listen.py +++ b/listen.py @@ -1,7 +1,8 @@ #!/usr/bin/env python # Original script written by Stuart Colville: http://muffinresearch.co.uk/archives/2010/10/15/fake-smtp-server-with-python/ """A noddy fake smtp server.""" - +import os +import sys import smtpd import asyncore import time @@ -10,18 +11,26 @@ class FakeSMTPServer(smtpd.SMTPServer): """A Fake smtp server""" def __init__(*args, **kwargs): - print "Running fake smtp server on port 25" + print "Running fake smtp server on smtp://" + str(locals()['args'][1][0]) + ":" + str(locals()['args'][1][1]) smtpd.SMTPServer.__init__(*args, **kwargs) def process_message(*args, **kwargs): - mail = open("mails/"+str(time.time())+".eml", "w") - print "New mail from " + args[2] + fileLoc = os.path.dirname(__file__)+"/mails/"+str(time.time())+".eml" + mail = open(fileLoc, "w") + print "New mail from " + args[2] + " => " + fileLoc mail.write(args[4]) mail.close pass if __name__ == "__main__": - smtp_server = FakeSMTPServer(('localhost', 25), None) + port = 25 + if len(sys.argv) == 2: + try: + port = int(sys.argv[1]) + except: + print("port must be integer, unknown value("+sys.argv[1]+") provided. default port 25 will be used") + + smtp_server = FakeSMTPServer(('localhost', port), None) try: asyncore.loop() except KeyboardInterrupt: