How to Access IMAP server from the command line using OpenSSL
If you are running Linux, you should have openssl installed. We can connect directly from the openssl to imap server from the command line.
Various Methods That can be done here are
1) Connect
Run the following command to begin an SSL session with the IMAP server
openssl s_client -crlf -connect outlook.office365.com:993
You’ll get an output such as the following that can be suppressed by adding the -quiet option to the command above
2) Login
Run the following command
tag login user@outlook.com password
tag before login command is some character sequence required to be used before each subsequent IMAP command.
3) List Mailboxes
Run the following command
tag LIST "" "*"
Output:
* LIST (\HasNoChildren) "/" Archive
* LIST (\HasNoChildren) "/" "Archived Processed"
* LIST (\HasChildren) "/" Calendar
* LIST (\HasNoChildren) "/" Calendar/Birthdays
* LIST (\HasNoChildren) "/" "Calendar/United States holidays"
* LIST (\HasChildren) "/" Contacts
* LIST (\HasChildren) "/" "Conversation History"
* LIST (\HasNoChildren \Trash) "/" "Deleted Items"
* LIST (\HasNoChildren) "/" DISCARD
* LIST (\HasNoChildren \Drafts) "/" Drafts
* LIST (\Marked \HasNoChildren) "/" INBOX
* LIST (\HasNoChildren) "/" "Infected Items"
* LIST (\HasNoChildren) "/" Journal
* LIST (\HasNoChildren \Junk) "/" "Junk Email"
* LIST (\HasNoChildren) "/" Notes
* LIST (\HasNoChildren) "/" Outbox
* LIST (\HasNoChildren) "/" PROCESS
* LIST (\HasNoChildren \Sent) "/" "Sent Items"
* LIST (\HasNoChildren) "/" Tasks
tag OK LIST completed.
4) Select a mailbox
Run the following command to select the INBOX
tag SELECT INBOX
Output
tag SELECT INBOX
* 0 EXISTS
* 0 RECENT
* FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
* OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags
* OK [UIDVALIDITY 14] UIDVALIDITY value
* OK [UIDNEXT 136599] The next unique identifier value
tag OK [READ-WRITE] SELECT completed.
5) Mailbox status
Execute the following command to get the total number of messages in the selected Mailbox
tag STATUS INBOX (MESSAGES)
Output
* STATUS "INBOX" (MESSAGES 6388)
6) Fetch headers of last ten messages
Execute the command
tag FETCH 678:688 (BODY[HEADER])
688--is total messages
687-- 10 messages before
7) Mail BODY
Fetch message body
Execute the following command
tag FETCH 688 (BODY)
Message bodies are usually multipart - you can retrieve a particular part using
tag FETCH 6388 (BODY[n])
n is a zero-indexed part number.
8) Log out
Close IMAP connection with below
tag LOGOUT
Post a Comment
Post a Comment