Interactive visualization of email transmission using SMTP protocol
About This Simulator
This tool demonstrates how emails are sent using the Simple Mail Transfer Protocol (SMTP). Configure network conditions and watch the complete transmission process.
Network Configuration
Receiver Control
Ready
0%
π»
Client
π₯οΈ
SMTP Server
π¬
Recipient Server
0
Total Packets
0
Packets Lost
0
Retransmissions
0
Queued Emails
SMTP Command Log
System ready. Configure email parameters and click "Send Email" to begin simulation.
×
π Learn About SMTP Protocol
What is SMTP?
SMTP (Simple Mail Transfer Protocol) is an application layer protocol used for sending and routing emails across the Internet. It operates over TCP, typically on port 25, using a clientβserver model. Commands like HELO, MAIL FROM, RCPT TO, DATA, and QUIT control the communication. SMTP ensures reliable delivery between mail servers and supports authentication and encryption through extensions.
SMTP Commands
Commands Used in This Simulator:
HELO/EHLO: Client introduces itself to the server and lists supported features
MAIL FROM: Defines the sender's email address
RCPT TO: Defines the recipient's email address
DATA: Starts sending the message content and ends with a dot
QUIT: Ends the SMTP session
Additional SMTP Commands:
RSET: Clears the current mail transaction but keeps the connection
VRFY: Checks if a user or mailbox exists
EXPN: Shows all members of a mailing list
NOOP: Tests or keeps the connection alive
STARTTLS: Switches to a secure encrypted connection
AUTH: Authenticates the client to the mail server
Store-and-Forward Mechanism
This simulator demonstrates the store-and-forward mechanism used in email systems:
Receiver Online: Email is delivered immediately to the recipient's mailbox
Receiver Offline: Email is stored in the server queue and delivered when receiver comes online
Queue Management: Server maintains a queue of pending emails
Automatic Delivery: System checks receiver status periodically and delivers queued emails
How This Project Was Built
Technologies Used:
HTML for structure and semantic markup
CSS for styling with modern gradients and animations
JavaScript for SMTP protocol simulation logic
Implementation Steps:
Designed the user interface with input forms and visualization area
Implemented SMTP command sequence (HELO β MAIL FROM β RCPT TO β DATA β QUIT)
Added network simulation with configurable delays and packet loss
Created packet animation system using CSS animations
Built real-time logging system with color-coded entries
Implemented statistics tracking and error handling
Added receiver status management and email queuing system
Implemented store-and-forward mechanism for offline receivers
Network Simulation Features
Server Delay: Simulates processing time at SMTP server
Network Delay: Simulates packet transmission time
Packet Loss: Random packet drops with automatic retransmission
Receiver Status: Toggle receiver online/offline to test queuing
Email Queue: Emails stored when receiver is offline
πΊ Video Tutorial
Watch this video to learn more about how SMTP protocol works
References
RFC 5321 - Simple Mail Transfer Protocol
RFC 2821 - Simple Mail Transfer Protocol (Previous Standard)
Computer Networks by Andrew S. Tanenbaum
Data Communications and Networking by Forouzan
×
π₯ Developed By
Anushree Jain
24BCE1829
Jaya Bakshi
24BCE1700
π€ Guided By
Dr. Swaminathan Annadurai
Project Information
Project: SMTP Protocol Simulator
Course: Computer Networks
Year: 2025-2026
Institution: Vellore Institute of Technology, Chennai
×
β Help - How to Use This Simulator
Step 1: Enter Email Details
Fill in the following fields in the left panel:
Sender Email: Enter the sender's email address (e.g., alice@example.com)
Recipient Email: Enter the recipient's email address (e.g., bob@example.com)
Subject: Type the email subject line
Message Body: Enter your email message content
Attachment: (Optional) Enter attachment name like "document.pdf"
Step 2: Configure Network Conditions
Adjust network simulation parameters:
Server Delay: Set processing time (0-5 seconds). Higher values simulate slower servers.
Network Delay: Set packet transmission time (0-2000 ms). Higher values simulate slower networks.
Packet Loss Rate: Set probability of packet loss (0-90%). Higher values simulate unreliable networks.
Step 3: Control Receiver Status (NEW)
Test the store-and-forward mechanism:
Toggle Receiver Button: Click to switch receiver between online (π’) and offline (π΄) states
Receiver Online: Emails are delivered immediately
Receiver Offline: Emails are queued on the server and delivered when receiver comes online
Queued Emails Counter: Shows number of emails waiting for delivery
Step 4: Send Email
Click the "π€ Send Email" button to start the simulation.
Understanding the Visualization
Network Diagram: Shows three nodes (Client, SMTP Server, Recipient Server)
Animated Packets: Blue circles moving between nodes represent data packets
Active Nodes: Highlighted nodes indicate current processing location
Recipient Node Opacity: Dimmed when receiver is offline, full brightness when online
Progress Bar: Shows overall transmission progress (0-100%)
Status Badge: Displays current status (Ready, Processing, Success, Failed)
Reading the SMTP Log
The log console shows real-time SMTP commands and responses: