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