A
Project Report
On
FlashMail
Submitted by
Shubham Arvind Sonone
Roll No.: 24460
MCA–I
SEM–I
Under the guidance of
Ms. Rupali Taware
For the Academic Year 2024-25
Sinhgad Technical Education Society’s
Sinhgad Institute of Management
Vadgaon Bk Pune 411041
(Affiliated to SPPU Pune & Approved by AICTE New Delhi)
Date:
CERTIFICATE
This is to certify that Mr. Shubham Arvind Sonone has successfully completed
his project work entitled “FlashMail” in partial fulfillment of MCA – I SEM –I
Mini Project for the year 2024-2025. He has worked under our guidance and
direction.
Ms. Rupali Taware Dr. Chandrani Singh
Project Guide Director, SIOM-MCA
Examiner 1 Examiner 2
Date:
Place: Pune
DECLARATION
I certify that the work contained in this report is original and has been done by me
under the guidance of my guide.
The work has not been submitted to any other Institute for any degree or diploma.
I have followed the guidelines provided by the Institute in preparing the report.
I have conformed to the norms and guidelines given in the Ethical Code of Conduct of the
Institute.
Whenever I have used materials (data, theoretical analysis, figures, and text)
from other sources, I have given due credit to them by citing them in the text
of the report and giving their details in the references.
Name and Signature of Project Team Members:
Sr. No. Seat No. Name of students Signature of students
1 Shubham Arvind Sonone
ACKNOWLEDGEMENT
It is very difficult task to acknowledge all those who have been of tremendous help in this project. I
would like to thank my respected guide Ms. Rupali Taware for providing me necessary facilities to
complete my project and also for their guidance and encouragement in completing my project
successfully without which it wouldn’t be possible. I wish to convey my special thanks and
immeasurable feelings of gratitude towards Dr. Chandrani Singh, Director, SIOM-MCA. I wish to
convey my special thanks to all teaching and non-teaching staff members of Sinhgad Institute of
Management, Pune for their support.
Thank You
Yours Sincerely,
Shubham Arvind Sonone
INDEX
Sr. No. Chapter Page No.
1 CHAPTER 1: INTRODUCTION
1.1 Abstract
1.2 Existing System and Need for System
1.3 Scope of System
1.4 Operating Environment Hardware and Software
1.5 Brief Description of Technology Used
2 CHAPTER 2: PROPOSED SYSTEM
2.1 Feasibility Study
2.2 Objectives of the proposed system
2.3 Users of the system
3 CHAPTER 3: ANALYSIS AND DESIGN
3.1 Entity Relationship Diagram (ERD)
3.2 Class Diagram
3.3 Use Case Diagrams
3.4 Activity Diagram
3.5 Sequence Diagram
3.6 Component Diagram
3.7 Module and Hierarchy Diagram
3.8 Table Design
3.9 Data Dictionary
3.10 Sample Input and Output Screens
(Screens must have valid data. All reports must have
at-least 5 valid records.)
4 CHAPTER 4: CODING Sample code
5 CHAPTER 5: LIMITATIONS OF SYSTEM
6 CHAPTER 6: PROPOSED ENHANCEMENTS
7 CHAPTER 7: CONCLUSION
8 CHAPTER 8: BIBLIOGRAPHY
CHAPTER 1: INTRODUCTION
1.1 Abstract –
The Temporary Email Generation System is a web-based service
designed to provide users with disposable, anonymous email addresses
for short-term use. This system enables users to generate a temporary
email address for activities such as sign-ups, receiving one-time
passwords (OTPs), and protecting their primary email address from spam.
The solution is implemented using Flask for the backend, integrated with
the MailTM API for generating temporary emails, and MySQL to
manage user and email data.
The system features a user-friendly interface where users can create
temporary email addresses, access received emails, and ensure their
privacy is maintained. Admins have access to an exclusive dashboard for
managing user data, reviewing generated emails, and monitoring activity.
Additionally, the system stores critical information such as user profiles,
email generation records, and admin credentials within a secure database.
This project focuses on providing a secure, easy-to-use temporary email
solution that mitigates the risks of unsolicited emails and protects users'
personal information. The system also incorporates basic user
authentication, ensuring that users can track and access their generated
emails over multiple sessions. The overall goal is to offer an efficient and
privacy-focused tool for online activities that require temporary,
disposable email addresses.
1.2 Existing System and Need for the System –
1.2.1 Existing System
Existing email services, such as Gmail, Outlook, and Yahoo Mail, are
widely used for personal and professional communication. However, these
traditional email systems have several limitations that can be addressed by a
temporary email generation system. The flaws of these existing systems and
the need for a specialized temporary email service are as follows:
Spam and Unwanted Emails: Traditional email services like Gmail,
Yahoo, and Outlook are prone to spam and unsolicited emails.
Although they offer spam filtering, some unwanted emails still make
it to the inbox, cluttering the user's primary email and sometimes
leading to potential security risks, like phishing attacks.
Privacy Concerns: Users must provide their primary email address
when signing up for various services, which increases the risk of
personal data being compromised. In case of a data breach, attackers
can gain access to sensitive information linked to the user’s email
account.
Account Clutter: Users often end up with multiple subscriptions,
promotions, and newsletters in their inboxes, causing unnecessary
clutter and making it harder to find important emails.
Security Risks with Reused Email Addresses: Reusing an email
address across multiple websites and services increases the likelihood
of account hacking, especially if users do not use unique passwords
for every account. Once one service is breached, the same email
address could be used in subsequent attacks on other services.
1.2.2 Need for the System (Temporary Email Service) –
Enhanced Privacy and Security: A temporary email service addresses the
need for privacy by allowing users to generate a disposable email address
for one-time use. This ensures that users don’t need to expose their personal
email addresses for activities like online sign-ups, downloading files, or
receiving OTPs. The disposable nature of these addresses helps keep their
identity and personal information safe.
One-Time Use for Non-Critical Tasks: Temporary email services provide
users with a convenient solution for non-critical tasks that don’t require long-
term communication. For example, users can create a temporary email to
participate in a one-time event, trial subscription, or temporary service without
committing their primary email address.
Reduced Risk of Identity Theft: By providing a layer of separation between
the user’s primary email and temporary accounts, this system reduces the
potential for identity theft. Since the temporary email is not tied to any personal
information, the user’s identity remains secure even if the temporary email is
compromised.
Prevention of Spam and Clutter: By using temporary email addresses, users
can prevent spam and unnecessary promotional emails from cluttering their
main inbox. Once the temporary email has served its purpose, it can be
discarded, eliminating the risk of long-term spam accumulation.
Admin Monitoring and Control: For administrators, this system provides the
ability to monitor user activity, track email generation history, and manage
email-related data efficiently. This also helps ensure that users are abiding by
the terms of service and not misusing the platform for malicious activities
1.3 Scope of the System –
User Registration and Authentication: Users will be able to register for an
account, log in securely, and manage their generated temporary email addresses.
Once registered, users can easily generate and track their temporary emails for
one-time use.
Temporary Email Generation: Users will have the ability to generate
temporary email addresses for various activities such as signing up for online
services, receiving OTPs, or participating in promotions. Each generated email
address will be valid for a set time.
Admin Interface: Admins can manage user accounts, monitor activity, and
ensure proper use of the service, with access to all generated email addresses
and user profiles.
Email Expiration: Generated email addresses will have an expiration period.
After the set expiration time, the temporary email address will be deactivated,
and users will no longer be able to receive emails to that address.
Backup and Recovery: The system will perform regular backups of all data,
ensuring that user information and generated email addresses can be restored in
case of system failure.
User Dashboard: The system will offer a user-friendly dashboard that allows
users to view and manage their generated temporary email addresses. This
includes options to delete or expire emails and check the status of any received
messages.
1.4 Operating Environment Hardware and
Software:
Server-side requirement
Software Requirement Hardware Requirement
Operating System: Windows 7 or above Processor: Intel Core i3 or above
Front End: Html/Css, JS RAM: 4GB or above
Back End: Python, Flask HDD: 512 GB or above
Database: MySQL
Web Browser: Chrome Mozilla Firefox
Client-side requirement
Software Requirement Hardware Requirement
Operating System: Windows 7 or above Processor: Intel Core i3 or above
Web Browser: Chrome, Mozilla Firefox RAM: 2GB or above
HDD: 512 GB or above
1.5 Brief Description of Technology Used –
The temporary email service system is built using a combination of modern
technologies that work together to provide a seamless and efficient solution
for generating and managing temporary email addresses. Below are the key
technologies used in the system:
1. Frontend Technologies:
o HTML5: Used to structure the content on web pages and create a clean,
semantic structure for the application.
o CSS3: Provides the visual styling and layout of the web pages, ensuring
a user-friendly interface. It enables responsive design, so the application
works well on various screen sizes.
o Bootstrap: A popular front-end framework for creating responsive and
mobile-first websites. It accelerates development with pre-built
components, grids, and UI elements.
o JavaScript: Used for implementing interactive elements on the web
pages, such as form validation, dynamic content, and asynchronous
requests (AJAX).
2. Backend Technologies:
o Python: Chosen as the primary backend programming language due
to its simplicity and powerful libraries for web development.
o Flask: A lightweight web framework used to develop the backend.
Flask is perfect for smaller applications and allows for quick and
flexible development. It manages HTTP requests, routes, and
interactions with the frontend and database.
o Flask Extensions: Libraries like Flask-Login (for user authentication)
and Flask-SQLAlchemy (for database management) are used to
enhance the core Flask framework.
3. Database:
o MySQL: A widely-used relational database management system
(RDBMS) used to store user data, generated temporary emails, and other
system-related information. MySQL is chosen due to its scalability,
robustness, and support for structured query language (SQL) to easily
manage and retrieve data.
4. Mail Service Integration:
o MailTM API: This API is integrated into the system to provide
temporary email address generation and receiving functionality. It allows
the system to create temporary mailboxes on demand, enabling users to
receive emails securely without using their primary email addresses.
CHAPTER 2: PROPOSED SYSTEM
2.1 Feasibility Study for Temporary Email Service
System –
A feasibility study evaluates the technical, operational, and financial
viability of the Temporary Email Service System.
Technical Feasibility:
o Technology Stack: The system will use Python with Flask for backend,
MySQL for database, and HTML, CSS, JavaScript, Bootstrap for
frontend.
o Integration with MailTM API: Feasible for generating and forwarding
temporary emails, with clear API documentation.
o Scalability: The system will handle growth using MySQL for data
management and Flask for API flexibility. Cloud hosting (e.g., AWS,
Azure) will ensure scalability.
o Security: HTTPS encryption, user authentication (Flask-Login), and
database encryption will secure the system.
Operational Feasibility:
o User Interface (UI): A responsive, user-friendly design using Bootstrap
for both regular users and admins.
o User Authentication: Registered users can generate emails, while admins
can manage users and monitor the system.
o Maintenance: Regular updates and security patches will ensure minimal
downtime and system stability.
Financial Feasibility:
o Development Costs: Includes developer resources, cloud hosting, API
costs, and security audits.
o Operational Costs: Cloud hosting and MySQL database usage will incur
costs based on traffic and usage.
o Revenue Model: Potential revenue through subscriptions (premium
features) and ads for free users.
o Cost-Benefit Analysis: Low initial development costs with high
scalability and revenue potential through subscriptions or ads.
2.2 Objectives of the proposed system –
The Temporary Email Service System aims to provide users with a
simple and secure way to generate disposable email addresses for
temporary use, such as signing up on websites or receiving verification
codes without exposing their personal email addresses. The objectives of
the proposed system include:
Secure and Anonymous Email Generation:
Enable users to generate temporary email addresses for online
registrations and tasks without exposing their personal emails, ensuring
privacy and reducing spam risks.
User-Friendly Interface:
Design an intuitive interface for both users to generate and manage
temporary emails, and for admins to monitor system activities and
manage users.
Admin Monitoring and Management:
Allow admins to manage user accounts, monitor generated emails, and
oversee system operations to ensure proper functioning and prevent
misuse.
Cost-Effective Operation:
Use open-source technologies and cloud services to minimize
development and operational costs while maintaining system
performance.
Email History Viewing:
Allow users to view the history of their generated emails and received
messages, while preventing reuse of old temporary emails.
User Authentication:
Implement a secure login system to verify users and ensure only
authorized users can generate temporary emails.
Admin Authentication:
Provide secure access for admins to manage the system, users, and emails
with elevated privileges.
2.3 Users of the Temporary Email Service System –
Regular Users (Job Seekers, Online Shoppers, General Public) –
Description: Users who need temporary email addresses for tasks like signing
up for websites, receiving OTPs, or handling short-term communications.
Key Features:
Generate and receive temporary emails
View and forward received emails to personal addresses
View email generation history
Manage account settings
Admin Users (System Administrators)
Description: Users with elevated privileges to manage and monitor the entire
system.
Key Features:
Manage user accounts and email usage
Monitor and view all generated emails
Maintain system integrity and troubleshoot issues
Generate reports on system activity and performance
Manage admin profile and credentials
System (MailTM API Integration)
Description: The backend service responsible for generating temporary email
addresses and handling email reception.
Key Features:
Generate temporary email addresses
Receive and store emails sent to temporary addresses
Forward received emails to the user interface for display
CHAPTER 3: ANALYSIS AND DESIGN
3.1 Entity Relationship Diagram (ERD)
3.2 Class Diagram
3.3 USE CASE DIAGRAM
3.3.1 Profile Module
3.3.2 Temporary Mail Generation Module
3.3.3 Notification Module
3.3.4 Feedback Module
3.4 Activity DIAGRAM
3.4.1 User Profile Module
3.4.2 User TempMail Module
3.4.3 User Notification Module
3.4.4 User Feedback Module
3.4.5 Admin Profile Module
3.4.5 Admin TempMail Module
3.4.7 Admin Notification Module
3.4.8 Admin Feedback Module
3.5 Sequence DIAGRAM
3.5.1 User Profile Module
3.5.2 Admin Profile Module
3.5.3 TempMail Module
3.5.4 Notification Module
3.5.5 Feedback Module
3.6 Component DIAGRAM
3.8 Table Design
3.8.2 User Table
3.8.3 Temporary Email Table
3.8.4 UserSpecificEmail Table
3.8.5 Notification Table
3.8.6 Feedback Table
3.9 Data Dictionary
3.10 Sample Input and Output Screens
USER
3.10.1 Register
3.10.2 Login
3.10.3 Dashboard
3.10.4 Mail Generated
3.10.5 Mail Received
3.10.6 Temporary Mails History
3.10.7 Feedback
3.10.8 Feedback History
ADMIN
3.10.9 Register
3.10.10 Login
3.10.11 Admin Dashboard
3.10.12 All Registered Users
3.10.13 All Generated Emails
3.10.14 Feedback
3.10.15 User Specific Emails
CHAPTER 4: Coding Sample
@[Link]('/generate', methods=['POST'])
def generate_email():
if 'user_id' not in session:
flash('You need to log in first to generate a temporary email.')
return redirect(url_for('login'))
test = Email()
[Link]() # Register a new temporary email address
temp_email = [Link]
newQr=[Link](temp_email)
qr_image_path = r"C:\Users\Dell\temp_email_generator\static\[Link]"
# Save the QR code image in the templates folder
[Link](qr_image_path)
# Store the generated email in the database with the logged-in user's ID
new_email = TemporaryEmail(email=temp_email)
print("this is kjdfkdfhkdfdnfkdf new mail>>>>>>>>>",temp_email)
[Link](new_email)
# For sending notification:
user = [Link].filter_by(id=session['user_id']).first()
user_email={
'email':[Link]
print(user_email)
to_email = next(iter(user_email.values()))
subject = "Mail Generated"
body = f"Your temporary mail with name {temp_email} is ready to use"
send_email(to_email, subject, body,[Link])
# Store the generated email in user_generated_emails with user_id
new_user_email = UserGeneratedEmail(user_id=session['user_id'],
temporary_email=temp_email)
[Link](new_user_email)
[Link]()
# Start listening for incoming emails
[Link](listener)
return redirect(url_for('result', email=temp_email))
# New route to display the user's generated emails
@[Link]('/my-emails')
def my_emails():
if 'user_id' not in session:
flash('You need to log in first.')
return redirect(url_for('login'))
# Fetch all emails generated by the logged-in user
user_emails =
[Link].filter_by(user_id=session['user_id']).all()
return render_template('my_emails.html', user_emails=user_emails)
# Display the generated email
@[Link]('/result/<email>')
def result(email):
return render_template('[Link]', email=email)
# Home page
@[Link]('/')
def home():
if 'user_id' in session:
user = [Link].filter_by(id=session['user_id']).first()
user_info = {
'username': [Link],
'email': [Link]
return render_template('[Link]', user=user_info)
else:
return render_template('[Link]', user=None)
# Listener function for incoming emails
def listener(message):
print(f"[DEBUG] Full message: {message}") # Print the entire message to
verify its structure
# Extracting data from the message
to_email = [Link]('to', [{'address': ''}])[0].get('address') if
isinstance([Link]('to'), list) else [Link]('to', {}).get('address', '')
from_email = [Link]('from', {}).get('address', 'Unknown Sender') # Get
sender email address
subject = [Link]('subject', '')
# Extract the HTML version of the email content if available, otherwise fallback
to text
body = [Link]('html') if [Link]('html') else [Link]('text', '')
# Check if the body is a list, and if so, join its elements into a string
if isinstance(body, list):
body = ''.join(body)
print(f"[DEBUG] Extracted - To: {to_email}, From: {from_email}, Subject:
{subject}, Body: {body}")
# Validate extracted data
if not to_email or not from_email:
print(f"[ERROR] Missing required fields - To: {to_email}, From:
{from_email}, Subject: {subject}")
return
# Extract and highlight OTP (4 to 6 digits) in the body using regex
otp_pattern = r'(\b\d{4,6}\b)' # Regular expression to find 4-6 digit numbers
highlighted_body = [Link](otp_pattern, r'<strong>\1</strong>', body) #
Highlight the OTP with <strong> tag
print(f"[DEBUG] Highlighted Body: {highlighted_body}")
# Store the received email with highlighted OTP in the database
new_email = ReceivedEmail(
to_email=to_email,
from_email=from_email,
subject=subject,
body=Markup(highlighted_body) # Store the body with highlighted OTP and
HTML content safely
# Use app context for database operations
with app.app_context():
try:
[Link](new_email)
[Link]()
print(f"[DEBUG] Email successfully saved in ReceivedEmail table")
except Exception as e:
print(f"[ERROR] Failed to save email: {e}")
[Link]()
# View inbox for a specific email
@[Link]('/inbox/<email>')
def inbox(email):
emails = [Link].filter_by(to_email=email).all()
return render_template('[Link]', emails=emails, email=email)
# Endpoint to check inbox via AJAX call
@[Link]('/check_inbox/<email>', methods=['GET'])
def check_inbox(email):
emails = [Link].filter_by(to_email=email).all()
return jsonify({
'emails': [{'from': email.from_email, 'subject': [Link], 'body':
[Link]} for email in emails]
})
CHAPTER 5: LIMITATIONS OF SYSTEM
1. Limited Lifetime of Temporary Emails -
Temporary email addresses expire after a short period (e.g., 24 or 48
hours), limiting their use for long-term communication or ongoing
website registrations.
2. No Support for Sending Emails
The system only allows receiving emails; users cannot send emails
from their temporary addresses, limiting its use for outbound
communication.
3. Limited Control Over Generated Emails
Users have limited control over incoming emails and cannot customize
filtering or manage emails beyond viewing them, which may be problematic
for handling high volumes of messages.
4. Potential Misuse of Temporary Emails
The service can be exploited for malicious purposes like spam or fraud.
While admins can monitor activities, preventing misuse entirely is difficult.
5. No Integration with Other Systems
The system is standalone and does not integrate with other platforms
(e.g., social media, e-commerce sites), limiting its use to isolated
activities.
CHAPTER 6: PROPOSED ENHANCEMENTS
Extended Lifetime for Temporary Emails
Allow users to customize the expiration period.
o Benefit: Provides flexibility for longer-term use.
Enable Sending Emails
Introduce the ability for users to send emails from temporary addresses.
o Benefit: Adds versatility for communication.
Advanced Email Management Features
Implement email filtering, categorization, and labelling options.
o Benefit: Helps users organize and manage emails efficiently.
Enhanced Security and Privacy Features
Integrate stronger encryption and two-factor authentication.
o Benefit: Improves security and user privacy.
Customized Email Domain
Allow users to choose a custom domain for temporary email addresses.
o Benefit: Provides personalization for email addresses.
Mobile Application
Develop a mobile app for managing temporary emails on the go.
o Benefit: Increases accessibility and convenience.
CHAPTER 7: CONCLUSION
The Temporary Email Service System provides users with a secure, anonymous
way to generate temporary email addresses for short-term use, addressing
privacy concerns and protecting against spam, unwanted marketing, and data
breaches. The system includes essential features like user registration, email
generation, and admin management, ensuring both ease of use and security.
Proposed enhancements, such as extended email lifetimes, sending capabilities,
advanced management tools, and mobile support, will further improve user
experience and scalability.
In conclusion, the system offers valuable privacy protection, and with ongoing
improvements, it can continue to serve a broader user base.
CHAPTER 8: BIBLIOGRAPHY
Books
Larman, C. (2004). UML and Patterns: Designing Software Architectures.
Prentice Hall.
Grinberg, M. (2018). Flask Web Development: Developing Web Applications
with Python. O'Reilly Media.
Flanagan, D. (2011). JavaScript: The Definitive Guide. O'Reilly Media.
Journal Articles
Ramo, P. (2021). "How Temporary Email Services Protect Your Privacy."
TechPrivacy Journal. Retrieved from [Link]
Kumar, S., & Patel, A. (2020). "Temporary Email Services: Their Role in
Online Privacy." Journal of Cybersecurity, 8(3), 120-130.
Online Sources
Mailgun. (n.d.). Mailgun API. Retrieved from [Link]
Flask. (n.d.). Flask Web Framework Documentation. Retrieved from
[Link]