File size: 826 Bytes
7a1af2c
 
18f091b
7a1af2c
 
 
 
 
 
 
18f091b
7a1af2c
 
 
a3733c4
7a1af2c
18f091b
7a1af2c
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import asyncio
from aiosmtpd.controller import Controller

class CustomSMTPHandler:
    async def handle_DATA(self, server, session, envelope):
        print(f'Message from: {envelope.mail_from}')
        print(f'Message to  : {envelope.rcpt_tos}')
        print(f'Message data:\n{envelope.content.decode("utf8", errors="replace")}')
        print('Message accepted for delivery')
        return '250 Message accepted for delivery'

# Function to start the SMTP server
def start_smtp_server():
    handler = CustomSMTPHandler()
    controller = Controller(handler, hostname='0.0.0.0', port=1025)
    controller.start()

if __name__ == "__main__":
    start_smtp_server()
    print("SMTP server running on 127.0.0.1:1025")
    
    try:
        asyncio.get_event_loop().run_forever()
    except KeyboardInterrupt:
        pass