
Update: I just did this google search:
java and email book david wood
and looked at the results.
The first hit is that book - it's name was actually Programming Internet Email - and it was by O'Reilly Media:
http://shop.oreilly.com/product/9781565924796.do
It has info on both the fundamental concepts and protocols of email, as well as examples in both Perl and Java.
Other results of that search show that there are multiple books about programming email (as can be expected), including a list of books about Internet email on an Oracle site:
Books on the JavaMail API and Internet Mail:
http://www.oracle.com/technetwork/java/javamail/index-139773...
Not all of those are exclusively about email, and some probably have overlapping content, but still, it shows (as Wood's book did too) that it is a big topic:
JavaMail API, by Elliotte Rusty Harold.
Internet Email, by David Wood.
Programmer's Guide to Internet Mail, by John Rhoton.
Internet Email Protocols: A Developer's Guide, by Kevin Johnson.
Java Network Programming, 2nd Edition, by Elliotte Rusty Harold.
Essential Email Standards: RFCs and Protocols Made Practical, by Pete Loshin.
Internet Messaging: From the Desktop to the Enterprise, by Marshall T. Rose and David Strom.
Internet E-Mail: Protocols, Standards, & Implementation, by Lawrence Hughes.
Managing IMAP, by Dianna Mullet and Kevin Mullet.
Professional Java Server Programming J2EE Edition.
Java Cookbook: Solutions and Examples for Java Developers, by Ian F. Darwin.
JavaServer Pages (JSP) Fast & Easy Web Development, by Aneesha Bakharia.
[1] From what I read about David Wood, he seemed to have a lot of experience with email (and other stuff) and had for some time, a company providing products and/or services in that area.
http://www.oreilly.com/pub/au/565
And that Java Cookbook by Ian Darwin is pretty good too - I have it.
Next, JSP and Servlets, JDBC, and MySql, along with POJOS. Made it easier to write consistent, clean code, and along with the Java Cookbook, programming was a lot of fun for a while.
It all almost ended with JSF, Struts, Struts2, Spring MVC, Spring DI, Pico, Wicket, Tapestry, Hibernate, JPA... these were often the product of good minds and talented engineers, but, yeah, this almost ended my career in programming. I remember seeing a sysadmin and unix book on the desk of a web developer. I asked what he was learning for, and he gestured to a long row of Java related web books on his shelf. "I just want to be a systems administrator", he said, "I can't deal with this churn anymore." What had been fun now required a 2,000 page stack of books with constant churn, and so many little integration errors that doing even the simplest thing was a true slog. I wanted to secede as well, but many teams (and recruiting managers) absolutely insisted on this stack. I figured software was "over" for me, at least in web dev...
Then, Rails. Pretty much saved programming for me. I get it, it's not the new shiny anymore, but it was blissful to get back to such a productive environment. Although the Rails community was too brash and dismissive of reasonable criticisms and efforts to improve the stack, I understand the hurt that was behind this angry rejection of the "enterprise" world. Get stuck on an "enterprise" Java project in 2004, see nothing get done, and then watch as people try to shoot down Rails or Django, and you'll understand why the anger hit this level, why people cheered when the simple words "Fuck You" were offered as a retort to J2EE criticisms of Rails. It's better to be civil even as you disagree with everything you've got, though, (the Django community seemed to understand this better than the Rails one).
Lately, javascript framework churn has pushed me back into the way I felt during the explosion of Java based frameworks. The difference is that I know understand that this will pass, it's a period of chaos that often accompanies a large shift in technology and focus. It will settle down, and what emerges will be simple, effective, and useful. However, I am also making an effort to find shelter from the storm. Eventually, this will be sorted out, but I don't want to get sucked up into the vortex for several years like I did with Java in the mid 2000s. Like a lot of devs, I'm looking to stay on the backend - though this has always been my inclination anyway.
Lately, scipy and scikit-learn, I hope. The ease of doing formerly difficult things may lead to some awesome new directions!
