Note that "Java EE" is now called "Jakarta EE".
Eclipse MicroProfile (not part of Jakarta EE, but used in enterprise Java)
What's new in EJB 3.1? part 1 - part 2 - part3 - part 4 - part 5 - A Significant Step Towards Maturity
Home page, FAQ (very extensive)
Extensive tutorial with many code examples
Using delivery status notifications
Using encryption: The JavaMail-Crypto API project is rather dated, but it purports to add S/MIME and OpenPGP support to JavaMail
Using DKIM: This java-utils-mail-dkim library implements DKIM
Third party extensions, e.g. local store implementations
James is an open source SMTP, POP3 and NNTP server written in Java by the good folks at Apache. Its Mailet API enables automatic processing of emails, kind of what servlets do for HTTP requests. Introductory article part 1, part 2
Aspirin is an embeddable Java SMTP server. While useful mostly for send-only situations, it has some provisions to receive mails as well (to handle bounces and such). While it's functional as it is, without setting up at least SPF and DKIM the results will likely be unsatisfactory.
Q: I'm marking my mails as SEEN, but next time I access the INBOX, they're once again presented as unread. What gives?
From the FAQ : Just because a flag exists doesn't mean the flag is supported by all mail servers/providers. For instance, besides deleting messages, the POP protocol supports none of them. ... To find out what flags are supported, ask the folder with getPermanentFlags().
Q: I'm having trouble connecting to Gmail using JavaMail; something about "starttls". What gives?
This, too, is covered in the FAQ: How do I access Gmail with JavaMail?
Q: How can I access the SMTP response code?
The Transport object can be cast to JavaDoc:com.sun.mail.smtp.SMTPTransport which has the getLastServerResponse and getLastReturnCode methods available.
Java Message Service (JMS)
open source JMS implementations: ActiveMQ - OpenMQ
Java Naming and Directory Interface (JNDI)
How to go about ObtainingRemoteJndiContext ?
Introductory articles on JavaWorld? - 1) Naming Services 2) Directory Services 3) Advanced JNDI 4) Example Application
LDAP: Specification Introduction JNDI Tutorial Chapter on LDAP
Some software for using LDAP:
Java Management Extension (JMX)
JmxExample - code for an application making MBeans available for monitoring
JConsole and VisualVM are tools that can be used to access local or remove JVMs via JMX.