Compare commits
	
		
			1 commit
		
	
	
		
			main
			...
			s-branch-1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 644926a361 | 
					 2 changed files with 47 additions and 0 deletions
				
			
		
							
								
								
									
										14
									
								
								CNP/Wireshark/SMTP/mail-sender.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								CNP/Wireshark/SMTP/mail-sender.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| import smtplib | ||||
| from email.message import EmailMessage | ||||
| 
 | ||||
| # the email message | ||||
| msg = EmailMessage() | ||||
| msg['Subject'] = 'CNP Assignment Email' | ||||
| msg['From'] = 'aadit@example.com' | ||||
| msg['To'] = 'shreyas@example.com' # used example.com just to not have a DNS error. | ||||
| msg.set_content('Hello World. This is a message that is to be captured for the CNP FISAC II.') | ||||
| 
 | ||||
| #SMTP server running on localhost on port 25 | ||||
| with smtplib.SMTP('127.0.0.1', 25) as server: | ||||
|     server.set_debuglevel(1)  # debug output to see the SMTP conversation (for dev log) | ||||
|     server.send_message(msg) | ||||
							
								
								
									
										33
									
								
								CNP/Wireshark/SMTP/smtp-server.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								CNP/Wireshark/SMTP/smtp-server.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,33 @@ | |||
| import asyncio | ||||
| import uvloop | ||||
| from aiosmtpd.controller import Controller | ||||
| 
 | ||||
| # handler that just prints the message content | ||||
| class PrintHandler: | ||||
|     async def handle_DATA(self, server, session, envelope): | ||||
|         print("Message from:", envelope.mail_from) | ||||
|         print("Recipients:", envelope.rcpt_tos) | ||||
|         print("Message data:") | ||||
|         print(envelope.content.decode('utf8', errors='replace')) | ||||
|         print("End of message") | ||||
|         # Respond with a success code | ||||
|         return '250 Message accepted for delivery' | ||||
| 
 | ||||
| # uvloop for better performance | ||||
| asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) | ||||
| 
 | ||||
| def run_server(): | ||||
|     # SMTP server controller, binding to localhost on port 25 | ||||
|     controller = Controller(PrintHandler(), hostname='127.0.0.1', port=25) | ||||
|     controller.start() | ||||
|     print("SMTP server running on port 25. Press Ctrl+C to stop.") | ||||
|     try: | ||||
|         # Run forever | ||||
|         asyncio.get_event_loop().run_forever() | ||||
|     except KeyboardInterrupt: | ||||
|         pass | ||||
|     finally: | ||||
|         controller.stop() | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     run_server() | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue