IMAP - Internet Message Access Protocol
What is IMAP?
IMAP stands for Internet Message Access Protocol. It’s a standard email protocol used by email clients to retrieve messages from a mail server.
Why is IMAP useful?
Access your email from multiple devices (e.g., phone, laptop, tablet).
Keep your emails synchronized across all devices.
Store emails on the server, so they’re not lost if your device is damaged or lost.
Organize emails into folders on the server.
How it works?
You open your email app (like Outlook, Gmail, Thunderbird).
The app connects to the mail server using IMAP.
It displays a copy of your emails stored on the server.
When you read, delete, or move an email, the change is made on the server.
Any other device connected to the same account sees the updated status.
Where is IMAP used?
Email clients (e.g., Apple Mail, Microsoft Outlook, Mozilla Thunderbird).
Webmail services (e.g., Gmail, Yahoo Mail, Outlook.com).
Corporate email systems that need centralized email access.
Which OSI layer does this protocol belong to?
IMAP is a protocol used by applications (like email clients) to access and manage email on a server.
It does not deal with how data is transmitted, but rather what data is transmitted and how it’s interpreted by the application.
It relies on lower layers (like TCP at Layer 4) to handle the actual data transport.
Therefore, IMAP belongs to the Application Layer (Layer 7) of the OSI model.
Does IMAP support email folders?
Yes. IMAP lets users: * Create custom folders. * Move, copy, and delete messages. * Keep folder structure synced across devices.
What email clients support IMAP?
All major ones: * Gmail. * Outlook / Microsoft 365. * Mobile Mail apps (iOS, Android).
What are the limitations of IMAP?
Depends on server storage capacity.
Slightly more bandwidth use than POP3.
Offline access limited to cached emails unless explicitly downloaded.
Does IMAP download full emails or just headers?
By default, only headers are downloaded. Full emails (body and attachments) are fetched when opened.
What are some applications that use IMAP?
Email Clients (Desktop-Based).
Mobile Email Apps.
Webmail Interfaces.
Server Software with IMAP Support.
What is the working flow of IMAP?
Email is Received by Mail Server * An email arrives at your mail server (e.g., Gmail, Outlook). * It is stored on the server, not downloaded.
Email Client Connects to IMAP Server * You open your email app (e.g., Outlook, Thunderbird, Gmail app). * The client connects to the IMAP server using: * Port 993 (SSL/TLS). * Or port 143 (STARTTLS).
User Authenticates
The email client logs in with:
Username (email address). * Password.
Email Headers Are Fetched
IMAP downloads only email headers first (subject, sender, date).
The full message is not yet downloaded.
User Views or Opens an Email
When you click on an email, the client requests the full content from the server.
Body and attachments are downloaded temporarily.
Actions Are Synced with Server
Any action you take (read, delete, move, mark as unread) is sent to the server.
This keeps everything synced across devices (PC, mobile, webmail).
Folders Are Managed on Server
IMAP allows the client to access:
Inbox, Sent, Drafts, Trash.
Custom folders (e.g., “Work” or “Receipts”)
You can create/move folders and emails, and changes reflect on all devices.
Client Disconnects (Gracefully) * Once you’re done, the client may close the session using LOGOUT.
Is IMAP suitable for mobile devices?
Yes. IMAP is ideal for syncing mail between desktop, web, and mobile clients.
Topics in this section,
In this section, you are going to learn
Terminology
Version Info
S.No |
Version |
RFC |
Year |
contribution/core ideas |
---|---|---|---|---|
1 |
IMAP/2.0 |
RFC 1064 (Obsolete) |
1998 |
Early version; introduced basic remote mailbox access. |
2 |
IMAP/3.0 |
RFC 1203 (Obsolete) |
1991 |
Improved command structure and mailbox handling. |
3 |
IMAP4/1.0 |
RFC 1730 (Obsolete) |
1996 |
First version of IMAP4; introduced more robust mailbox management. |
4 |
IMAP4rev1/1.1 |
RFC 3501 (Obsoleted by RFC 9051) |
2003 |
Widely implemented version; added UID-based access, flags, and better synchronization. |
5 |
IMAP4rev2/2.0 |
RFC 9051 |
2021 |
Current standard; updates and consolidates previous extensions, improves internationalization and security. |
setup
setup
IMAP COMMAND LINE Packet
S.No |
Packet Components |
Description |
Size(Bytes) |
---|---|---|---|
1 |
Command Line |
Text-based command sent by the client to the server. |
Variable (typically < 512) |
Tag |
Unique identifier for the command (e.g., A001, B002). |
410 |
|
Command Keyword |
IMAP command like LOGIN, SELECT, FETCH, LOGOUT. |
410 |
|
Arguments |
Parameters like mailbox name, message ID, flags, etc. |
Variable (10100+) |
|
CRLF |
Carriage Return + Line Feed to terminate the command. |
2 |
IMAP RESPONSE LINE Packet
2 |
Response Line |
Server’s reply to the command or untagged status update. |
Variable (typically < 512) |
---|---|---|---|
Tag |
Echoed tag from client or * for untagged responses. |
110 |
|
Status |
Response status: OK, NO, BAD, PREAUTH, BYE. |
25 |
|
Response Text |
Human-readable message or structured data. |
20500+ |
|
CRLF |
Carriage Return + Line Feed. |
2 |
IMAP LITERAL DATA BLOCK Packet
3 |
Literal Data Block |
Optional: actual email content (headers, body, attachments). |
Varies (KBs to MBs) |
---|---|---|---|
Literal Size |
Size of literal data in {} notation (e.g., {342}). |
310 |
|
Data Content |
The actual content (email body, headers, etc.). |
Varies |
|
CRLF |
Carriage Return + Line Feed. |
2 |
S.No |
Use Case |
Description |
---|---|---|
1 |
Multi-device Email Access |
Allows users to access the same mailbox from multiple devices. |
2 |
Centralized Email Storage |
Emails are stored on the server, not locally, ensuring data is not lost if a |
device fails. |
||
3 |
Real-time Synchronization |
Any action is instantly reflected across all connected devices. |
4 |
Folder Management |
Users can create, rename, and delete folders on the server to organize emails. |
5 |
Efficient Email Retrieval |
Only headers or specific parts of emails can be fetched, saving bandwidth. |
6 |
Shared Mailboxes |
Multiple users can access and manage a shared mailbox |
7 |
Offline Access with Sync |
Emails can be cached locally for offline use and synced when reconnected. |
8 |
Email Backup and Archiving |
Since emails are stored on the server, they can be backed up or archived |
centrally. |
||
9 |
Webmail Integration |
IMAP is used by webmail services to sync with desktop/mobile clients. |
10 |
Corporate Email Systems |
Used in enterprise environments for secure, scalable, and synchronized |
email access. |
S.No |
IMAP features |
Description |
---|---|---|
1 |
Remote Email Access |
Emails are stored on the server and accessed remotely without downloading |
them. |
||
2 |
Multi-device Synchronization |
Keeps emails and folders synchronized across all devices. |
3 |
Selective Downloading |
Allows downloading only headers or specific parts of emails |
4 |
Folder Management |
Supports creating, renaming, and deleting folders on the server. |
5 |
Message Flags |
Supports flags like Seen, Answered, Flagged, Deleted, Draft, etc |
6 |
Concurrent Access |
Multiple clients can access the same mailbox simultaneously. |
7 |
Offline Access Support |
Clients can cache emails locally for offline viewing and sync later. |
8 |
Search Capability |
Allows searching emails on the server using keywords or filters. |
9 |
Partial Fetch |
Fetch only parts of a message (e.g., just the header or body). |
10 |
Server-side Storage |
Emails remain on the server, reducing local storage usage and enabling backups. |
Remote Email Access - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Valid IMAP Login |
Login with correct credentials |
Authentication successful |
2 |
Invalid IMAP Login |
Login with wrong credentials |
Authentication fails |
3 |
Access Inbox Remotely |
Access inbox from remote client |
Inbox emails displayed |
4 |
Access Sent Folder |
Access sent items remotely |
Sent emails displayed |
5 |
Access Custom Folder |
Access user-created folder |
Folder contents displayed |
6 |
Access from Multiple Devices |
Login from multiple devices |
Emails synced across devices |
7 |
Access via Webmail |
Access IMAP via webmail |
Emails accessible |
8 |
Access via Mobile App |
Access IMAP via mobile client |
Emails synced and accessible |
9 |
Access via Desktop Client |
Access IMAP via Outlook/Thunderbird |
Emails synced and accessible |
10 |
Folder Synchronization |
Sync folders across devices |
Folder structure consistent |
11 |
Email Read Status Sync |
Mark email as read on one device |
Status updated on all devices |
12 |
Email Flag Sync |
Flag email on one device |
Flag visible on all devices |
13 |
Email Deletion Sync |
Delete email on one device |
Email deleted across all devices |
14 |
Email Move Sync |
Move email to folder remotely |
Email appears in new folder |
15 |
Email Draft Sync |
Save draft remotely |
Draft accessible from other devices |
16 |
Email Send Sync |
Send email from one device |
Appears in Sent folder on all devices |
17 |
Folder Creation Remotely |
Create folder from remote client |
Folder appears on server |
18 |
Folder Rename Remotely |
Rename folder remotely |
Folder name updated everywhere |
19 |
Folder Deletion Remotely |
Delete folder remotely |
Folder removed from all clients |
20 |
Access with SSL |
Connect using IMAP over SSL |
Secure connection established |
21 |
Access with TLS |
Connect using STARTTLS |
Secure connection established |
22 |
Access with Plain Text |
Connect without encryption |
Warning or blocked |
23 |
Access with VPN |
Connect via VPN |
Emails accessible securely |
24 |
Access with Proxy |
Connect via proxy server |
Emails accessible |
25 |
Access with IPv6 |
Connect using IPv6 |
Connection successful |
26 |
Access with Slow Network |
Simulate slow connection |
Emails load with delay |
27 |
Access with Intermittent Network |
Simulate network drop |
Session resumes or reconnects |
28 |
Access with Large Mailbox |
Mailbox with >10,000 emails |
Emails accessible with pagination |
29 |
Access with Large Attachments |
Emails with large files |
Attachments downloadable |
30 |
Access with HTML Emails |
HTML content in emails |
Rendered correctly |
31 |
Access with Inline Images |
Emails with embedded images |
Images displayed |
32 |
Access with External Links |
Emails with external content |
Links preserved |
33 |
Access with Unicode Content |
Emails with emojis or non-Latin text |
Displayed correctly |
34 |
Access with Corrupt Email |
Email with malformed headers |
Error handled gracefully |
35 |
Access with Spam Folder |
Access spam/junk folder |
Emails displayed |
36 |
Access with Archive Folder |
Access archived emails |
Emails displayed |
37 |
Access with Quota Limit |
Mailbox near quota |
Warning shown |
38 |
Access with Expired Session |
Session timeout |
Re-authentication required |
39 |
Access with Session Persistence |
Maintain session across restarts |
Session resumes or reconnects |
40 |
Access with IMAP IDLE |
Use IDLE for real-time updates |
New emails pushed instantly |
41 |
Access with IMAP SEARCH |
Search emails remotely |
Matching emails returned |
42 |
Access with IMAP SORT |
Sort emails by date/subject |
Sorted list displayed |
43 |
Access with IMAP THREAD |
View threaded conversations |
Emails grouped by thread |
44 |
Access with IMAP EXPUNGE |
Permanently delete emails |
Emails removed from server |
45 |
Access with IMAP COPY |
Copy email to another folder |
Email appears in both folders |
46 |
Access with IMAP MOVE |
Move email to another folder |
Email moved successfully |
47 |
Access with IMAP FETCH |
Fetch specific email parts |
Requested parts retrieved |
48 |
Access with IMAP APPEND |
Upload email to server |
Email added to folder |
49 |
Access with IMAP CAPABILITY |
Query server capabilities |
Supported features listed |
50 |
Access with IMAP LOGOUT |
End session remotely |
Session closed cleanly |
Multi Device Synchronization - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
IMAP Connection Establishment |
Establish IMAP connection from multiple devices |
Connection established successfully |
2 |
IMAP Authentication |
Authenticate user across devices |
Authentication successful |
3 |
Folder Synchronization |
Sync folders across devices |
Folders synchronized |
4 |
Message Synchronization |
Sync messages across devices |
Messages synchronized |
5 |
Read Status Sync |
Sync read/unread status across devices |
Status synchronized |
6 |
Flag Synchronization |
Sync flags (e.g., starred, important) |
Flags synchronized |
7 |
Message Deletion Sync |
Delete message on one device and reflect on others |
Message deleted across all devices |
8 |
Message Move Sync |
Move message to folder and reflect on all devices |
Message moved across all devices |
9 |
Draft Synchronization |
Save draft and access from another device |
Draft available on all devices |
10 |
Sent Items Sync |
Sync sent messages across devices |
Sent messages synchronized |
11 |
IMAP IDLE Support |
Maintain real-time sync using IMAP IDLE |
Real-time updates received |
12 |
Multiple Session Handling |
Handle multiple IMAP sessions simultaneously |
Sessions managed correctly |
13 |
Conflict Resolution |
Resolve sync conflicts between devices |
Conflict resolved gracefully |
14 |
Offline Changes Sync |
Sync changes made offline once online |
Offline changes synchronized |
15 |
Attachment Sync |
Sync attachments across devices |
Attachments available on all devices |
16 |
Folder Creation Sync |
Create folder on one device and reflect on others |
Folder created across all devices |
17 |
Folder Rename Sync |
Rename folder and reflect on all devices |
Folder renamed across all devices |
18 |
Folder Deletion Sync |
Delete folder and reflect on all devices |
Folder deleted across all devices |
19 |
Message Expunge Sync |
Expunge deleted messages across devices |
Messages expunged |
20 |
IMAP Server Compatibility |
Test sync with various IMAP servers |
Compatible with all tested servers |
21 |
IMAP Client Compatibility |
Test sync with various IMAP clients |
Compatible with all tested clients |
22 |
Sync Performance Under Load |
Test sync performance with large mailbox |
Sync performance acceptable |
23 |
Sync Latency Measurement |
Measure latency of sync across devices |
Latency within acceptable limits |
24 |
Sync Reliability |
Ensure reliable sync across devices |
Sync consistent and reliable |
25 |
Sync Error Handling |
Handle sync errors gracefully |
Errors logged and resolved |
26 |
IMAP Protocol Compliance |
Ensure compliance with IMAP RFCs |
Protocol compliance verified |
27 |
Sync During Network Switch |
Maintain sync during network changes |
Sync uninterrupted |
28 |
Sync During Device Sleep |
Resume sync after device wakes |
Sync resumes successfully |
29 |
Sync During App Restart |
Resume sync after app restart |
Sync resumes successfully |
30 |
Sync During Server Restart |
Resume sync after server restart |
Sync resumes successfully |
31 |
Sync During Device Reboot |
Resume sync after device reboot |
Sync resumes successfully |
32 |
Sync During Email Migration |
Maintain sync during email migration |
Sync uninterrupted |
33 |
Sync During Backup Restore |
Resume sync after backup restore |
Sync resumes successfully |
34 |
Sync During Account Change |
Maintain sync after account settings change |
Sync resumes successfully |
35 |
Sync During Password Change |
Resume sync after password update |
Sync resumes successfully |
36 |
Sync During Security Update |
Maintain sync after security patch |
Sync uninterrupted |
37 |
Sync During App Update |
Resume sync after app update |
Sync resumes successfully |
38 |
Sync During OS Update |
Resume sync after OS update |
Sync resumes successfully |
39 |
Sync During Device Switch |
Maintain sync when switching devices |
Sync resumes on new device |
40 |
Sync During Account Recovery |
Resume sync after account recovery |
Sync resumes successfully |
41 |
Sync During IMAP Session Timeout |
Resume sync after session timeout |
Sync resumes successfully |
42 |
Sync During Server Downtime |
Resume sync after server downtime |
Sync resumes successfully |
43 |
Sync During High Latency |
Maintain sync under high latency |
Sync performance acceptable |
44 |
Sync During Packet Loss |
Maintain sync during packet loss |
Sync recovers gracefully |
45 |
Sync During VPN Use |
Maintain sync while using VPN |
Sync uninterrupted |
46 |
Sync During Proxy Use |
Maintain sync while using proxy |
Sync uninterrupted |
47 |
Sync During Firewall Restrictions |
Maintain sync under firewall restrictions |
Sync performance acceptable |
48 |
Sync During Antivirus Scan |
Maintain sync during antivirus scan |
Sync uninterrupted |
49 |
Sync During Battery Saver Mode |
Maintain sync in battery saver mode |
Sync performance acceptable |
50 |
Sync User Experience Evaluation |
Evaluate user experience during multi-device sync |
Seamless experience reported |
Selective Downloading - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Header-Only Download |
Download only email headers |
Headers downloaded successfully |
2 |
Partial Message Download |
Download partial content of large emails |
Partial content retrieved |
3 |
Attachment Skipping |
Skip downloading attachments |
Email downloaded without attachments |
4 |
Download by Date Range |
Download emails from a specific date range |
Only selected emails downloaded |
5 |
Download by Sender |
Download emails from specific sender |
Emails from sender downloaded |
6 |
Download by Subject Keyword |
Download emails with specific subject keywords |
Matching emails downloaded |
7 |
Download by Folder |
Download emails from selected folders |
Folder-specific emails downloaded |
8 |
Download by Size Limit |
Download emails below a certain size |
Only small emails downloaded |
9 |
Download by Priority Flag |
Download only flagged or important emails |
Flagged emails downloaded |
10 |
Download by Unread Status |
Download only unread emails |
Unread emails downloaded |
11 |
Download by Read Status |
Download only read emails |
Read emails downloaded |
12 |
Download by Label |
Download emails with specific labels |
Labeled emails downloaded |
13 |
Download by Thread |
Download entire conversation thread |
Thread downloaded completely |
14 |
Download by UID |
Download email using unique identifier |
Email with UID downloaded |
15 |
Download by Message Sequence |
Download using message sequence number |
Message downloaded correctly |
16 |
Download by MIME Type |
Download only plain text or HTML parts |
Selected MIME parts downloaded |
17 |
Download by Attachment Type |
Download emails with specific attachment types |
Matching emails downloaded |
18 |
Download by Attachment Size |
Download emails with small attachments only |
Filtered emails downloaded |
19 |
Download by Custom Filter |
Apply custom filter for download |
Filtered emails downloaded |
20 |
Download by Time of Day |
Download emails received during specific hours |
Time-filtered emails downloaded |
21 |
Download by Day of Week |
Download emails received on specific days |
Day-filtered emails downloaded |
22 |
Download by Frequency |
Download emails at specific intervals |
Emails downloaded as scheduled |
23 |
Download by Network Type |
Download only on Wi-Fi |
Emails downloaded on Wi-Fi only |
24 |
Download by Battery Level |
Download only when battery is above threshold |
Emails downloaded when battery is sufficient |
25 |
Download by Storage Availability |
Download only if enough storage is available |
Emails downloaded if space is available |
26 |
Download by Device Type |
Download only on specific device types |
Emails downloaded on allowed devices |
27 |
Download by User Profile |
Download based on user profile settings |
Personalized emails downloaded |
28 |
Download by Sync Settings |
Download based on sync preferences |
Emails downloaded per sync settings |
29 |
Download by Connection Speed |
Download only on high-speed connections |
Emails downloaded on fast connections |
30 |
Download by Encryption Status |
Download only encrypted emails |
Encrypted emails downloaded |
31 |
Download by Spam Filter |
Exclude spam-marked emails |
Spam emails skipped |
32 |
Download by Virus Scan Result |
Exclude emails flagged by antivirus |
Safe emails downloaded |
33 |
Download by Quota Limit |
Download within mailbox quota |
Quota not exceeded |
34 |
Download by Sync Window |
Download emails within sync window |
Emails within window downloaded |
35 |
Download by User Consent |
Download only after user approval |
Emails downloaded after consent |
36 |
Download by App Policy |
Follow app-level download policy |
Policy-compliant emails downloaded |
37 |
Download by Admin Policy |
Follow admin-defined download rules |
Admin rules enforced |
38 |
Download by IMAP Extension Support |
Use IMAP extensions for selective download |
Extensions used successfully |
39 |
Download by Server Capability |
Check server support for selective download |
Server capability verified |
40 |
Download by Client Capability |
Check client support for selective download |
Client capability verified |
41 |
Download by User Role |
Download based on user role (e.g., admin, guest) |
Role-based emails downloaded |
42 |
Download by Email Age |
Download emails older than a certain period |
Older emails downloaded |
43 |
Download by Email Importance |
Download only high-importance emails |
Important emails downloaded |
44 |
Download by Email Category |
Download emails from specific categories |
Category-filtered emails downloaded |
45 |
Download by Email Status |
Download only replied or forwarded emails |
Status-filtered emails downloaded |
46 |
Download by Custom Script |
Use script to define download logic |
Script-executed download completed |
47 |
Download by API Integration |
Use API to control selective download |
API-controlled download successful |
48 |
Download by User Feedback |
Adjust download based on user feedback |
Feedback-based download executed |
49 |
Download by Machine Learning Filter |
Use ML to predict relevant emails |
Relevant emails downloaded |
50 |
Download by Smart Sync Engine |
Use smart sync engine for optimized download |
Optimized download completed |
Folder Management - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Create Folder |
Create a new folder via IMAP client |
Folder is created successfully |
2 |
Create Nested Folder |
Create a subfolder inside another folder |
Subfolder created under parent |
3 |
Create Folder with Special Characters |
Use special characters in folder name |
Folder created or error shown if invalid |
4 |
Create Folder with Long Name |
Folder name >255 characters |
Error or truncated name |
5 |
Create Duplicate Folder |
Create folder with existing name |
Error or merge based on server policy |
6 |
Rename Folder |
Rename an existing folder |
Folder name updated |
7 |
Rename to Existing Folder Name |
Rename to a name that already exists |
Error or merge |
8 |
Delete Folder |
Delete a folder via IMAP |
Folder and contents removed |
9 |
Delete Non-Empty Folder |
Delete folder with emails |
Folder and emails deleted |
10 |
Delete System Folder |
Try deleting Inbox or Sent |
Operation denied |
11 |
Move Folder |
Move folder to another parent |
Folder moved successfully |
12 |
Copy Folder |
Copy folder and contents |
Duplicate folder created |
13 |
Access Folder |
Open folder to view emails |
Emails displayed |
14 |
Access Nested Folder |
Open subfolder |
Subfolder contents displayed |
15 |
List All Folders |
List all folders in mailbox |
All folders displayed |
16 |
Folder Hierarchy Display |
Display folder tree |
Correct hierarchy shown |
17 |
Folder Sync Across Devices |
Create folder on one device |
Folder appears on all devices |
18 |
Folder Rename Sync |
Rename folder on one device |
Name updated on all devices |
19 |
Folder Delete Sync |
Delete folder on one device |
Folder removed from all devices |
20 |
Folder Permissions |
Set read/write permissions |
Permissions enforced |
21 |
Folder Quota |
Set quota for folder |
Quota enforced |
22 |
Folder Subscription |
Subscribe to folder |
Folder appears in client |
23 |
Unsubscribe Folder |
Unsubscribe from folder |
Folder hidden in client |
24 |
Folder with Unicode Name |
Use non-English characters |
Folder created and displayed correctly |
25 |
Folder with Emojis |
Use emojis in folder name |
Folder created or error shown |
26 |
Folder with Reserved Words |
Use reserved names (e.g., INBOX) |
Error or override denied |
27 |
Folder with Invalid Characters |
Use slashes or control characters |
Error shown |
28 |
Folder Sorting |
Sort folders alphabetically |
Sorted list displayed |
29 |
Folder Search |
Search for folder by name |
Matching folders listed |
30 |
Folder with Large Number of Emails |
Folder with >10,000 emails |
Folder loads with pagination |
31 |
Folder with Large Attachments |
Folder with large email files |
Folder loads successfully |
32 |
Folder with Corrupt Email |
Folder contains corrupt email |
Folder loads, error handled |
33 |
Folder with Mixed Content |
Folder with text, HTML, attachments |
All content types handled |
34 |
Folder with Shared Access |
Shared folder between users |
Access based on permissions |
35 |
Folder Access via Webmail |
Access folder via browser |
Folder and contents displayed |
36 |
Folder Access via Mobile |
Access folder via mobile app |
Folder synced and accessible |
37 |
Folder Access via Desktop |
Access folder via desktop client |
Folder synced and accessible |
38 |
Folder Access with VPN |
Access folder over VPN |
Folder accessible securely |
39 |
Folder Access with Proxy |
Access folder via proxy |
Folder accessible |
40 |
Folder Access with SSL |
Secure access to folder |
Folder accessed over SSL |
41 |
Folder Access with TLS |
Secure access via STARTTLS |
Folder accessed securely |
42 |
Folder Access with IPv6 |
Access folder using IPv6 |
Folder accessible |
43 |
Folder Access with Timeout |
Session timeout during folder access |
Session closed or resumed |
44 |
Folder Access with Network Drop |
Network fails mid-access |
Session resumes or reconnects |
45 |
Folder Access with Quota Exceeded |
Folder exceeds quota |
Warning or access denied |
46 |
Folder Access with Server Restart |
Server restarts during access |
Session resumes or reconnects |
47 |
Folder Access with IMAP IDLE |
Real-time updates in folder |
New emails pushed instantly |
48 |
Folder Access with IMAP SELECT |
Select folder for operations |
Folder selected successfully |
49 |
Folder Access with IMAP EXAMINE |
Read-only access to folder |
Folder opened in read-only mode |
50 |
Folder Access with IMAP LIST |
List folders using IMAP LIST |
Folder list returned |
Message Flags - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Set Seen Flag |
Mark email as read |
Email marked as read |
2 |
Unset Seen Flag |
Mark email as unread |
Email marked as unread |
3 |
Set Answered Flag |
Mark email as replied |
Email marked as answered |
4 |
Set Flagged Flag |
Mark email as important/starred |
Email flagged |
5 |
Set Deleted Flag |
Mark email for deletion |
Email marked for deletion |
6 |
Set Draft Flag |
Save email as draft |
Email marked as draft |
7 |
Remove Flagged Flag |
Unflag an email |
Flag removed |
8 |
Remove Answered Flag |
Unmark reply status |
Answered flag removed |
9 |
Remove Deleted Flag |
Unmark deletion |
Email no longer marked for deletion |
10 |
Remove Draft Flag |
Remove draft status |
Draft flag removed |
11 |
Apply Multiple Flags |
Set multiple flags on one email |
All flags applied correctly |
12 |
Clear All Flags |
Remove all flags from email |
Email has no flags |
13 |
Check Flag Persistence |
Flags persist across sessions |
Flags remain after reconnect |
14 |
Check Flag Sync |
Flags sync across devices |
Flags consistent on all clients |
15 |
Check Flag Visibility |
Flags visible in email client UI |
Flags displayed correctly |
16 |
Set Custom Flag |
Apply custom flag (e.g., $MyFlag) |
Custom flag applied |
17 |
Remove Custom Flag |
Remove custom flag |
Custom flag removed |
18 |
Invalid Flag Format |
Use unsupported flag format |
Error returned |
19 |
Flag on Non-existent Email |
Apply flag to invalid UID |
Error returned |
20 |
Flag on Deleted Email |
Apply flag to deleted message |
Error or ignored |
21 |
Flag on Expunged Email |
Apply flag to expunged message |
Error returned |
22 |
Flag on Large Email |
Apply flag to large message |
Flag applied successfully |
23 |
Flag on MIME Email |
Apply flag to multipart message |
Flag applied to entire message |
24 |
Flag on HTML Email |
Apply flag to HTML content |
Flag applied successfully |
25 |
Flag on Plain Text Email |
Apply flag to plain text email |
Flag applied successfully |
26 |
Flag on Inline Image Email |
Apply flag to email with images |
Flag applied successfully |
27 |
Flag on Attachment Email |
Apply flag to email with attachments |
Flag applied successfully |
28 |
Flag with UID STORE |
Use UID STORE to set flag |
Flag applied using UID |
29 |
Flag with STORE Command |
Use STORE to set flag |
Flag applied successfully |
30 |
Flag with Silent Mode |
Use STORE +FLAGS.SILENT |
Flag set without server response |
31 |
Flag with FETCH FLAGS |
Retrieve flags using FETCH |
Correct flags returned |
32 |
Flag with SEARCH FLAGGED |
Search for flagged emails |
Only flagged emails returned |
33 |
Flag with SEARCH SEEN |
Search for read emails |
Only read emails returned |
34 |
Flag with SEARCH UNSEEN |
Search for unread emails |
Only unread emails returned |
35 |
Flag with SEARCH DELETED |
Search for deleted emails |
Only deleted emails returned |
36 |
Flag with SEARCH DRAFT |
Search for draft emails |
Only drafts returned |
37 |
Flag with SEARCH ANSWERED |
Search for replied emails |
Only answered emails returned |
38 |
Flag with SEARCH Custom |
Search using custom flag |
Matching emails returned |
39 |
Flag with COPY Command |
Copy flagged email |
Flags preserved in copy |
40 |
Flag with MOVE Command |
Move flagged email |
Flags preserved after move |
41 |
Flag with EXPUNGE |
Expunge deleted emails |
Emails with Deleted removed |
42 |
Flag with UID EXPUNGE |
UID-based expunge |
Specific deleted emails removed |
43 |
Flag with Concurrent Access |
Set flag from two clients |
Last update wins or merged |
44 |
Flag with Server Restart |
Set flag, then restart server |
Flags persist after restart |
45 |
Flag with Network Drop |
Set flag during disconnect |
Flag may not persist |
46 |
Flag with Read-Only Access |
Try to set flag in read-only mode |
Operation denied |
47 |
Flag with Read-Write Access |
Set flag in read-write mode |
Operation successful |
48 |
Flag with ACL Restrictions |
User lacks flag permission |
Operation denied |
49 |
Flag with Logging Enabled |
Log flag changes |
Logs show flag operations |
50 |
Flag with IMAP Extension |
Use IMAP extensions (e.g., CONDSTORE) |
Flags updated conditionally |
Concurrent Access - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Multiple Clients Login |
Two clients log in to the same mailbox |
Both sessions established successfully |
2 |
Simultaneous Folder Access |
Two clients access the same folder |
Folder accessible by both |
3 |
Simultaneous Email Read |
Two clients read the same email |
No conflict; both can read |
4 |
Simultaneous Email Flagging |
One client flags, another unflags |
Latest action reflected |
5 |
Simultaneous Email Deletion |
Both clients delete the same email |
Email marked deleted; expunged once |
6 |
Simultaneous Email Move |
One client moves email to folder A, another to folder B |
Final location depends on last action |
7 |
Simultaneous Draft Edits |
Both clients edit the same draft |
Conflict may occur; last save wins |
8 |
Simultaneous Folder Rename |
Two clients rename the same folder |
One succeeds, other fails or conflicts |
9 |
Simultaneous Folder Deletion |
Both clients delete the same folder |
Folder deleted; second attempt fails |
10 |
Simultaneous Folder Creation |
Both clients create folder with same name |
One succeeds; other gets error |
11 |
Concurrent Search |
Both clients perform search |
Searches execute independently |
12 |
Concurrent Fetch |
Both clients fetch same email |
Fetch succeeds for both |
13 |
Concurrent Append |
Both clients append emails to same folder |
Both emails added successfully |
14 |
Concurrent Expunge |
One client expunges while another is idle |
Expunged messages disappear from both |
15 |
Concurrent UID FETCH |
Both clients fetch using UID |
Correct messages returned |
16 |
Concurrent STORE Commands |
Both clients update flags |
Final state reflects last update |
17 |
Concurrent IDLE Sessions |
Both clients use IDLE for push |
Both receive updates |
18 |
Concurrent Logout |
One client logs out while other is active |
Other session remains unaffected |
19 |
Concurrent Session Timeout |
One session times out |
Other session remains active |
20 |
Concurrent Access with ACLs |
One user has read-only, another read-write |
Permissions enforced correctly |
21 |
Concurrent Access with Quota Limit |
Both clients upload large emails |
Quota enforced; one may fail |
22 |
Concurrent Access with Network Drop |
One client disconnects unexpectedly |
Other session unaffected |
23 |
Concurrent Access with Server Restart |
Server restarts during access |
Sessions dropped; reconnect required |
24 |
Concurrent Access with Shared Mailbox |
Two users access shared mailbox |
Access allowed per permissions |
25 |
Concurrent Access with Different Devices |
Access from phone and desktop |
Sync maintained across devices |
26 |
Concurrent Access with Same UID |
Same UID used in both sessions |
Server handles correctly |
27 |
Concurrent Access with Different UIDs |
Different UIDs used |
Sessions isolated |
28 |
Concurrent Access with IMAP Proxy |
Access via proxy |
Proxy handles sessions correctly |
29 |
Concurrent Access with VPN |
One client via VPN, one direct |
Both sessions work |
30 |
Concurrent Access with SSL |
Both clients use SSL |
Secure sessions established |
31 |
Concurrent Access with TLS |
Both clients use STARTTLS |
Secure sessions established |
32 |
Concurrent Access with Plaintext |
One client uses plaintext |
Session allowed if server permits |
33 |
Concurrent Access with Different Timezones |
Clients in different timezones |
No impact on access |
34 |
Concurrent Access with Different Languages |
Clients use different locales |
No conflict |
35 |
Concurrent Access with IMAP Extensions |
Clients use different extensions |
Server handles both |
36 |
Concurrent Access with Large Mailbox |
10,000+ emails |
Performance remains stable |
37 |
Concurrent Access with Large Attachments |
Download large files simultaneously |
Downloads succeed |
38 |
Concurrent Access with Email Sync |
One client syncs all folders |
Other client unaffected |
39 |
Concurrent Access with Email Backup |
One client backs up mailbox |
Other client continues normal access |
40 |
Concurrent Access with Email Restore |
One client restores emails |
Changes reflected in other client |
41 |
Concurrent Access with Antivirus Scan |
One client triggers scan |
Other client may experience delay |
42 |
Concurrent Access with Spam Filter |
One client marks spam |
Other client sees updated folder |
43 |
Concurrent Access with Auto-Reply |
One client sets auto-reply |
Other client unaffected |
44 |
Concurrent Access with Vacation Mode |
One client enables vacation mode |
Other client unaffected |
45 |
Concurrent Access with Logging Enabled |
Server logs all sessions |
Logs show both sessions |
46 |
Concurrent Access with Audit Trail |
Track actions from both clients |
Audit trail shows all activity |
47 |
Concurrent Access with Session Limit |
Server has max session limit |
New session denied if limit reached |
48 |
Concurrent Access with Session Conflict |
Same action from both clients |
Server resolves conflict |
49 |
Concurrent Access with IMAP Server Cluster |
Load-balanced access |
Sessions distributed across nodes |
50 |
Concurrent Access with IMAP Failover |
One node fails |
Session continues on backup node |
Offline Access Support - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Enable Offline Mode |
Verify user can enable offline mode |
Offline mode is activated |
2 |
Disable Offline Mode |
Verify user can disable offline mode |
Offline mode is deactivated |
3 |
Access Data Offline |
Verify user can access previously synced data offline |
Data is accessible |
4 |
Modify Data Offline |
Verify user can modify data while offline |
Changes are saved locally |
5 |
Sync After Reconnect |
Verify data syncs after reconnecting to internet |
Data is synced correctly |
6 |
Offline Mode Indicator |
Check if UI shows offline status |
Offline indicator is visible |
7 |
No Internet Prompt |
Verify prompt appears when internet is lost |
Prompt is shown |
8 |
Auto Sync on Reconnect |
Verify auto-sync starts after reconnect |
Sync starts automatically |
9 |
Manual Sync Option |
Verify user can manually trigger sync |
Sync starts on user action |
10 |
Data Conflict Resolution |
Verify conflict resolution when both online and offline changes exist |
Conflict resolution prompt appears |
11 |
Offline Mode Toggle UI |
Verify toggle switch for offline mode is functional |
Toggle works correctly |
12 |
Offline Mode Persistence |
Verify offline mode persists after app restart |
Mode remains active |
13 |
Offline Mode on App Launch |
Verify app launches in offline mode if no internet |
App opens in offline mode |
14 |
Read-Only Restrictions |
Verify read-only restrictions for unsynced data |
Unsynced data is read-only |
15 |
Offline Mode Notification |
Verify notification is shown when offline mode is enabled |
Notification appears |
16 |
Background Sync |
Verify background sync works when internet is restored |
Sync completes in background |
17 |
Offline Mode with VPN |
Verify offline mode works with VPN enabled |
No interference from VPN |
18 |
Offline Mode with Airplane Mode |
Verify offline mode works in airplane mode |
App functions offline |
19 |
Data Integrity Post Sync |
Verify data integrity after sync |
Data is consistent |
20 |
Offline Mode Timeout |
Verify offline mode does not timeout unexpectedly |
Mode remains until disabled |
21 |
Offline Mode on Different Devices |
Verify offline mode behavior on multiple devices |
Consistent behavior |
22 |
Offline Mode with Low Battery |
Verify offline mode works with low battery |
No performance issues |
23 |
Offline Mode with Background Apps |
Verify offline mode works with other apps running |
No interference |
24 |
Offline Mode with Large Data |
Verify performance with large offline data |
App remains responsive |
25 |
Offline Mode with Corrupted Cache |
Verify behavior with corrupted offline cache |
Error message shown |
26 |
Offline Mode with App Update |
Verify offline mode persists after app update |
Mode remains active |
27 |
Offline Mode with OS Update |
Verify offline mode persists after OS update |
Mode remains active |
28 |
Offline Mode with Permissions Denied |
Verify behavior when storage permissions are denied |
Proper error shown |
29 |
Offline Mode with Limited Storage |
Verify behavior with low device storage |
Warning shown |
30 |
Offline Mode with External Storage |
Verify offline data can be stored externally |
Data is saved correctly |
31 |
Offline Mode with Encryption |
Verify offline data is encrypted |
Data is secure |
32 |
Offline Mode with User Logout |
Verify offline data is cleared on logout |
Data is removed |
33 |
Offline Mode with Multiple Users |
Verify offline data is user-specific |
Data is isolated |
34 |
Offline Mode with Background Sync Disabled |
Verify manual sync works when background sync is off |
Manual sync functions |
35 |
Offline Mode with Notifications |
Verify notifications are handled offline |
Notifications are queued |
36 |
Offline Mode with Push Notifications |
Verify push notifications are not received |
No push notifications |
37 |
Offline Mode with Scheduled Tasks |
Verify scheduled tasks execute offline |
Tasks run as expected |
38 |
Offline Mode with Location Services |
Verify location-based features offline |
Limited or no functionality |
39 |
Offline Mode with Biometric Login |
Verify biometric login works offline |
Login successful |
40 |
Offline Mode with App Crash |
Verify data is retained after crash |
Data is not lost |
41 |
Offline Mode with App Reinstall |
Verify offline data is cleared on reinstall |
Data is removed |
42 |
Offline Mode with Sync Errors |
Verify error handling during sync |
Errors are logged and shown |
43 |
Offline Mode with Server Downtime |
Verify app handles server unavailability |
Retry mechanism works |
44 |
Offline Mode with Data Filters |
Verify filters work on offline data |
Filters apply correctly |
45 |
Offline Mode with Search |
Verify search works on offline data |
Search returns results |
46 |
Offline Mode with Sorting |
Verify sorting works on offline data |
Sorting is functional |
47 |
Offline Mode with Pagination |
Verify pagination works offline |
Pages load correctly |
48 |
Offline Mode with Media Files |
Verify media files are accessible offline |
Files open correctly |
49 |
Offline Mode with Forms |
Verify forms can be filled offline |
Data is saved locally |
50 |
Offline Mode with Sync Logs |
Verify logs are maintained for sync actions |
Logs are accurate |
Search Capability - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Search by Subject |
Search emails with a specific subject |
Emails with matching subject returned |
2 |
Search by Sender |
Search emails from a specific sender |
Emails from sender returned |
3 |
Search by Recipient |
Search emails sent to a specific recipient |
Matching emails returned |
4 |
Search by Date |
Search emails sent on a specific date |
Emails from that date returned |
5 |
Search by Date Range |
Search emails between two dates |
Emails within range returned |
6 |
Search by Keyword |
Search emails containing a keyword |
Emails with keyword in body or subject returned |
7 |
Search by Flag Seen |
Search for read emails |
Only read emails returned |
8 |
Search by Flag Unseen |
Search for unread emails |
Only unread emails returned |
9 |
Search by Flag Answered |
Search for replied emails |
Only answered emails returned |
10 |
Search by Flag Flagged |
Search for flagged/starred emails |
Only flagged emails returned |
11 |
Search by Flag Deleted |
Search for deleted emails |
Only deleted emails returned |
12 |
Search by Flag Draft |
Search for draft emails |
Only draft emails returned |
13 |
Search by Size Greater Than |
Search emails larger than X bytes |
Only large emails returned |
14 |
Search by Size Less Than |
Search emails smaller than X bytes |
Only small emails returned |
15 |
Search by Header Field |
Search using specific header (e.g., X-Priority) |
Emails with matching header returned |
16 |
Search by Message ID |
Search using unique message ID |
Specific email returned |
17 |
Search by UID |
Search using UID |
Email with matching UID returned |
18 |
Search by Text in Body |
Search for text in email body |
Matching emails returned |
19 |
Search by Text in Subject |
Search for text in subject line |
Matching emails returned |
20 |
Search by Text in Entire Message |
Search across headers, subject, and body |
Matching emails returned |
21 |
Search with AND Condition |
Combine multiple criteria (e.g., FROM + SUBJECT) |
Emails matching all conditions returned |
22 |
Search with OR Condition |
Search emails matching either of two criteria |
Emails matching any condition returned |
23 |
Search with NOT Condition |
Exclude emails with specific criteria |
Emails not matching condition returned |
24 |
Search with Complex Boolean Logic |
Use nested AND/OR/NOT |
Correct subset of emails returned |
25 |
Search with Invalid Syntax |
Use malformed search query |
Error returned |
26 |
Search in Specific Folder |
Search within a selected folder |
Results limited to that folder |
27 |
Search Across All Folders |
Search across all folders (if supported) |
Results from all folders returned |
28 |
Search with Case Sensitivity |
Search with different case |
Case-insensitive match (per IMAP spec) |
29 |
Search with Special Characters |
Search with symbols or punctuation |
Correct results returned |
30 |
Search with Unicode Characters |
Search with emojis or non-Latin text |
Matching emails returned |
31 |
Search with Empty Query |
Submit empty search |
All emails returned or error shown |
32 |
Search with No Matches |
Search for non-existent term |
No results returned |
33 |
Search with Large Mailbox |
Search in mailbox with 10,000+ emails |
Results returned within acceptable time |
34 |
Search with Timeout |
Simulate slow server response |
Timeout error or retry |
35 |
Search with Server Restart |
Server restarts during search |
Search interrupted or retried |
36 |
Search with Concurrent Access |
Multiple clients search simultaneously |
All searches succeed independently |
37 |
Search with IMAP SEARCH Command |
Use SEARCH command directly |
Correct results returned |
38 |
Search with IMAP UID SEARCH |
Use UID SEARCH command |
Correct results returned |
39 |
Search with CHARSET UTF-8 |
Use UTF-8 charset in search |
Unicode results returned correctly |
40 |
Search with CHARSET US-ASCII |
Use ASCII charset |
Results returned correctly |
41 |
Search with CHARSET Unsupported |
Use unsupported charset |
Error returned |
42 |
Search with Partial Match |
Search with partial word |
Partial matches returned (if supported) |
43 |
Search with Exact Match |
Search with quoted phrase |
Exact matches returned |
44 |
Search with Date Format Error |
Use invalid date format |
Error returned |
45 |
Search with Deleted Folder |
Search in deleted folder |
Error or no results |
46 |
Search with Read-Only Access |
Search in read-only mode |
Search allowed |
47 |
Search with No Access |
Search in restricted folder |
Access denied |
48 |
Search with Logging Enabled |
Enable logging during search |
Search queries logged |
49 |
Search with Audit Trail |
Track search activity |
Search recorded in audit logs |
50 |
Search with IMAP Extension (e.g., ESEARCH) |
Use extended search capabilities |
Enhanced results returned |
Partial Fetch - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
Fetch Email Header Only |
Verify fetching only the header of an email |
Only header is retrieved |
2 |
Fetch Email Body Only |
Verify fetching only the body of an email |
Only body is retrieved |
3 |
Fetch Specific MIME Part |
Verify fetching a specific MIME part of an email |
Requested MIME part is retrieved |
4 |
Fetch Attachment Only |
Verify fetching only the attachment |
Only attachment is downloaded |
5 |
Fetch First N Bytes |
Verify fetching first N bytes of the email body |
Partial content is retrieved |
6 |
Fetch Last N Bytes |
Verify fetching last N bytes of the email body |
Partial content is retrieved |
7 |
Fetch with BODY.PEEK |
Verify fetching without marking message as read |
Message remains unread |
8 |
Fetch with BODY[] |
Verify full message fetch using BODY[] |
Entire message is retrieved |
9 |
Fetch with BODY[HEADER.FIELDS] |
Verify fetching specific header fields |
Only specified fields are retrieved |
10 |
Fetch with BODY[TEXT] |
Verify fetching only the text part of the message |
Only text part is retrieved |
11 |
Fetch with BODY[1] |
Verify fetching first MIME part |
First MIME part is retrieved |
12 |
Fetch with BODY[2] |
Verify fetching second MIME part |
Second MIME part is retrieved |
13 |
Fetch with BODY[1.MIME] |
Verify fetching MIME header of first part |
MIME header is retrieved |
14 |
Fetch with BODY[1.TEXT] |
Verify fetching text of first MIME part |
Text content is retrieved |
15 |
Fetch with BODY[1.HEADER] |
Verify fetching header of first MIME part |
Header is retrieved |
16 |
Fetch with BODY[1]<0.100> |
Verify fetching first 100 bytes of first MIME part |
Partial content is retrieved |
17 |
Fetch with BODY[2]<100.200> |
Verify fetching bytes 100299 of second MIME part |
Correct byte range is retrieved |
18 |
Fetch with Invalid Part |
Verify behavior when requesting non-existent part |
Error or empty response |
19 |
Fetch with Invalid Byte Range |
Verify behavior with out-of-bound byte range |
Error or truncated response |
20 |
Fetch with Large Byte Range |
Verify performance with large partial fetch |
Data is retrieved efficiently |
21 |
Fetch with UID |
Verify partial fetch using UID instead of sequence number |
Correct message is retrieved |
22 |
Fetch with Sequence Number |
Verify partial fetch using sequence number |
Correct message is retrieved |
23 |
Fetch from Deleted Message |
Verify behavior when fetching from deleted message |
Error or no data |
24 |
Fetch from Expunged Message |
Verify behavior when fetching from expunged message |
Error or no data |
25 |
Fetch from Draft Folder |
Verify partial fetch from draft folder |
Data is retrieved correctly |
26 |
Fetch from Sent Folder |
Verify partial fetch from sent folder |
Data is retrieved correctly |
27 |
Fetch from Trash Folder |
Verify partial fetch from trash folder |
Data is retrieved correctly |
28 |
Fetch from Shared Mailbox |
Verify partial fetch from shared mailbox |
Data is retrieved correctly |
29 |
Fetch with Concurrent Access |
Verify partial fetch during concurrent access |
No data corruption |
30 |
Fetch with Network Latency |
Verify partial fetch under high latency |
Fetch completes successfully |
31 |
Fetch with Offline Mode |
Verify behavior when offline |
Fetch fails gracefully |
32 |
Fetch with Authentication Failure |
Verify behavior with invalid credentials |
Fetch is denied |
33 |
Fetch with Session Timeout |
Verify behavior after session timeout |
Fetch fails with error |
34 |
Fetch with Server Timeout |
Verify behavior when server times out |
Fetch fails with timeout error |
35 |
Fetch with Server Restart |
Verify behavior during server restart |
Fetch fails or retries |
36 |
Fetch with TLS Enabled |
Verify partial fetch over secure connection |
Data is securely retrieved |
37 |
Fetch with TLS Disabled |
Verify partial fetch over insecure connection |
Data is retrieved |
38 |
Fetch with IMAP IDLE |
Verify fetch during IDLE state |
Fetch completes successfully |
39 |
Fetch with IMAP Compression |
Verify fetch with compression enabled |
Data is compressed |
40 |
Fetch with IMAP Proxy |
Verify fetch through proxy server |
Data is retrieved correctly |
41 |
Fetch with Logging Enabled |
Verify logs are generated for partial fetch |
Logs contain fetch details |
42 |
Fetch with Logging Disabled |
Verify no logs are generated |
No fetch logs present |
43 |
Fetch with Quota Limit |
Verify behavior when user quota is exceeded |
Fetch fails with quota error |
44 |
Fetch with Folder Rename |
Verify fetch after folder is renamed |
Fetch works with updated path |
45 |
Fetch with Folder Move |
Verify fetch after folder is moved |
Fetch works with updated path |
46 |
Fetch with Message Flagged |
Verify fetch from flagged message |
Data is retrieved correctly |
47 |
Fetch with Message Marked Seen |
Verify fetch updates seen status |
Message marked as seen |
48 |
Fetch with Message Marked Unseen |
Verify fetch does not update seen status |
Message remains unseen |
49 |
Fetch with Message Size Limit |
Verify fetch respects message size limits |
Partial fetch succeeds |
50 |
Fetch with Server Load |
Verify fetch under high server load |
Fetch completes without error |
Server Side Storage - Testcases
S.No |
Test Case |
Description |
Expected Result |
---|---|---|---|
1 |
IMAP Connection |
Connect to IMAP server |
Connection established |
2 |
Valid Login |
Authenticate with correct credentials |
Login successful |
3 |
Invalid Login |
Authenticate with wrong credentials |
Login fails |
4 |
Create Mailbox |
Create a new mailbox |
Mailbox created |
5 |
Duplicate Mailbox |
Create mailbox with existing name |
Error: Already exists |
6 |
Delete Mailbox |
Delete an existing mailbox |
Mailbox deleted |
7 |
Delete Non-existent Mailbox |
Try deleting a mailbox that doesn’t exist |
Error: Not found |
8 |
Rename Mailbox |
Rename an existing mailbox |
Mailbox renamed |
9 |
Rename to Existing Name |
Rename mailbox to a name that already exists |
Error: Name conflict |
10 |
List Mailboxes |
List all available mailboxes |
Mailboxes listed |
11 |
Select Mailbox |
Select a mailbox for operations |
Mailbox selected |
12 |
Select Invalid Mailbox |
Select a non-existent mailbox |
Error: Not found |
13 |
Store Message |
Store a message in mailbox |
Message stored |
14 |
Store Large Message |
Store message exceeding size limit |
Error: Size exceeded |
15 |
Retrieve Message |
Retrieve a stored message |
Message retrieved |
16 |
Retrieve Invalid Message |
Retrieve message with wrong UID |
Error: Not found |
17 |
Delete Message |
Delete a message from mailbox |
Message deleted |
18 |
Delete Invalid Message |
Delete message with invalid UID |
Error: Not found |
19 |
Move Message |
Move message to another mailbox |
Message moved |
20 |
Copy Message |
Copy message to another mailbox |
Message copied |
21 |
Search by Subject |
Search messages using subject |
Matching messages returned |
22 |
Search by Sender |
Search messages using sender |
Matching messages returned |
23 |
Search by Date |
Search messages using date |
Matching messages returned |
24 |
Search No Match |
Search with no matching criteria |
No messages returned |
25 |
Set Seen Flag |
Mark message as read |
Flag set |
26 |
Unset Seen Flag |
Unmark message as read |
Flag removed |
27 |
Set Flagged |
Mark message as flagged |
Flag set |
28 |
Unset Flagged |
Unmark message as flagged |
Flag removed |
29 |
Set Custom Flag |
Add custom flag to message |
Custom flag set |
30 |
Remove Custom Flag |
Remove custom flag from message |
Custom flag removed |
31 |
Expunge Deleted |
Permanently delete marked messages |
Messages expunged |
32 |
Expunge Empty |
Expunge with no deleted messages |
No changes |
33 |
Check Quota |
Check mailbox quota |
Quota info returned |
34 |
Exceed Quota |
Store message beyond quota |
Error: Quota exceeded |
35 |
Store with Attachment |
Store message with attachment |
Message stored |
36 |
Retrieve Attachment |
Retrieve message with attachment |
Attachment retrieved |
37 |
Store Encrypted |
Store encrypted message |
Message stored |
38 |
Retrieve Encrypted |
Retrieve encrypted message |
Message retrieved |
39 |
Store Large Body |
Store message with large body |
Message stored |
40 |
Retrieve Large Body |
Retrieve message with large body |
Message retrieved |
41 |
Store Special Characters |
Store message with special characters |
Message stored |
42 |
Retrieve Special Characters |
Retrieve message with special characters |
Message retrieved |
43 |
Store HTML |
Store message with HTML content |
HTML stored |
44 |
Retrieve HTML |
Retrieve message with HTML content |
HTML rendered |
45 |
Store Inline Images |
Store message with inline images |
Images stored |
46 |
Retrieve Inline Images |
Retrieve message with inline images |
Images displayed |
47 |
Store Multiple Recipients |
Store message with multiple recipients |
Message stored |
48 |
Retrieve Multiple Recipients |
Retrieve message with multiple recipients |
Message retrieved |
49 |
Store Priority Header |
Store message with priority header |
Header stored |
50 |
Retrieve Priority Header |
Retrieve message with priority header |
Header retrieved |
Reference links