Protocal
protocal | full name | meaning |
---|
SMTP | simple mail transfer protocal | send messages |
POP3 | post office protocal | receive messages |
IMAP | Internet message access protocal | receive messages(more advanced) |
MIME | multipurpose Internet mail extension | define the format of message’content,attachment and so on |
Main Object
- Properties:new Properties object,put some properties,like port ,protocal and so on
- Session:initialize Javamail environment and receive properties by Properties object
- Store :the object of Store is created by Session
- Folder :the object of Folder is created by Store
- Message:open the folder then get messages
- Transfer :the object of Transfer is created by Session
- MimeMessage :define message(set message’s properties)
Transfer message code
String host = ...;
String from = ...;
String to = ...;
Properties props = System.getProperties();
props.put("mail.smtp.host", host);
Session session = Session.getDefaultInstance(props, null);
MimeMessage message = new MimeMessage(session);
Address toAddress = new InternetAddress("vice.president@whitehouse.gov");
Address ccAddress = new InternetAddress("first.lady@whitehouse.gov");
message.addRecipient(Message.RecipientType.TO, toAddress);
message.addRecipient(Message.RecipientType.CC, ccAddress);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject("Hello JavaMail");
message.setText("Welcome to JavaMail");
Transport.send(message);
Receive message code
String host = ...;
String username = ...;
String password = ...;
Properties props = new Properties();
Session session = Session.getDefaultInstance(props, null);
Store store = session.getStore("pop3");
store.connect(host, username, password);
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_ONLY);
Message message[] = folder.getMessages();
for (int i=0, n=message.length; i<n; i++) {
System.out.println(i + ": " + message[i].getFrom()[0]+ "/t" +message[i].getSubject());
}
folder.close(false);
store.close();