33 lines
674 B
Python
33 lines
674 B
Python
|
#! /usr/bin/python3
|
||
|
|
||
|
# https://www.djangosnippets.org/snippets/96/
|
||
|
# Considered public domain
|
||
|
|
||
|
from datetime import datetime
|
||
|
import asyncore
|
||
|
from smtpd import SMTPServer
|
||
|
|
||
|
class EmlServer(SMTPServer):
|
||
|
no = 0
|
||
|
|
||
|
def process_message(self, peer, mailfrom, rcpttos, data):
|
||
|
filename = '%s-%d.eml' % (datetime.now().strftime('%Y%m%d%H%M%S'),
|
||
|
self.no)
|
||
|
f = open(filename, 'w')
|
||
|
f.write(data)
|
||
|
f.close
|
||
|
print('%s saved.' % filename)
|
||
|
self.no += 1
|
||
|
|
||
|
|
||
|
def run():
|
||
|
foo = EmlServer(('0.0.0.0', 25), None)
|
||
|
try:
|
||
|
asyncore.loop()
|
||
|
except KeyboardInterrupt:
|
||
|
pass
|
||
|
|
||
|
|
||
|
if __name__ == '__main__':
|
||
|
run()
|