Currently when using JavaMail if I use getFrom()
to decompose a message into its separate parts the getFrom()
will also display the name of the sender. This may be a simple question but how do you make it so only the email address is returned. Sorry if this is a simple question but I cannot seem to find an answer.
IMAP: Acronym for Internet Message Access Protocol. It is an advanced protocol for receiving messages. It provides support for multiple mailbox for each user, in addition to, mailbox can be shared by multiple users. It is defined in RFC 2060.
As it turns out, the address has already been parsed for you. Because of JavaMail's silly extra layer of abstraction, it's returning InternetAddress
objects as their Address
superclass. Address
objects are pretty much useless. You need to cast them back down to InternetAddress
and then just get the email part:
Address[] froms = message.getFrom();
String email = froms == null ? null : ((InternetAddress) froms[0]).getAddress();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With