Skip to Content
Programming Internet Email
book

Programming Internet Email

by David Wood
August 1999
Intermediate to advanced
378 pages
11h 44m
English
O'Reilly Media, Inc.
Content preview from Programming Internet Email

Designing JBiff

Our JBiff should be able to monitor a random mailbox and show its state. For simplicity, we will limit ourselves to IMAP mailboxes, which are handled in Sun’s reference implementation of the API. Since we can determine a lot about the state of IMAP mailboxes, (as described in Chapter 11, The Internet Message Access Protocol ), JBiff should be able to determine not only that we have new messages in the box, but also the number of unread messages and the number of total messages in the box. If we wanted to get carried away, we could show who the messages were from and their subjects, but we will leave this for a later day.

Both the IMAP protocol and the Java Mail API provide a way to determine message sizes. In IMAP, it is handled via the SEARCH command. In the Java Mail API, it is handled with the classes in the javax.mail.search hierarchy. It would be a nice addition to this script to note sizes of messages in the remote mailbox.

In order to access an IMAP mailbox, we will clearly need the name of the IMAP server (we will presume the port number to be standard) and the mailbox name. We will also need a username and password that can access the mailbox. In order to periodically refresh the display, we should also ask for a refresh rate.

With this information, we can construct a command line for the new script that looks like this:

$ java JBiff <username> <password> <host> <mailbox> <frequency (sec) >

A good mailbox to try is Inbox since every valid IMAP account is guaranteed ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Practical Internet Server Configuration: Learn to Build a Fully Functional and Well-Secured Enterprise Class Internet Server

Practical Internet Server Configuration: Learn to Build a Fully Functional and Well-Secured Enterprise Class Internet Server

Robert La Lau
How to Develop a Great Digital Strategy

How to Develop a Great Digital Strategy

Jeanne W. Ross, Cynthia M. Beath, Ina M. Sebastian
Virtual Facilitation

Virtual Facilitation

Henrik Horn Andersen, Iben Nelson, Kare Ronex

Publisher Resources

ISBN: 9780596802585Errata Page