Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package tools.email;
- import javax.mail.*;
- import javax.mail.internet.InternetAddress;
- import java.util.*;
- import static org.junit.Assert.fail;
- public class Email {
- private String host = null;
- private String user = null;
- private String password = null;
- private List<HashMap<String, String>> listMessages = new ArrayList<>();
- public Email(String userLogin, String userPassword, String host) {
- this.host = host;
- this.user = userLogin;
- this.password = userPassword;
- }
- private void readEmail(boolean delete) {
- Map<String, String> itemMessage = new HashMap<>();
- try {
- Properties properties = System.getProperties();
- properties.setProperty("mail.pop3.ssl.enable", "false");
- properties.setProperty("mail.pop3.starttls.enable", "true");
- properties.setProperty("mail.pop3.starttls.required", "true");
- properties.setProperty("mail.pop3.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
- properties.setProperty("mail.pop3.socketFactory.fallback", "false");
- properties.setProperty("mail.pop3.host", host);
- properties.setProperty("mail.pop3.user", user);
- properties.setProperty("mail.pop3.password", password);
- properties.setProperty("mail.pop3.port", "995");
- properties.setProperty("mail.pop3.auth", "true");
- Session session = Session.getDefaultInstance(properties);
- Store store = session.getStore("pop3");
- store.connect(host, user, password);
- Folder folder = store.getFolder("inbox");
- folder.open(Folder.READ_WRITE);
- Message[] messages = folder.getMessages();
- for (int i = 0; i < messages.length; i++) {
- if (delete) {
- messages[i].setFlag(Flags.Flag.DELETED, true);
- continue;
- }
- itemMessage.put("From", InternetAddress.toString(messages[i].getFrom()));
- itemMessage.put("Reply-to", InternetAddress.toString(
- messages[i].getReplyTo())
- );
- itemMessage.put("to", InternetAddress.toString(
- messages[i].getRecipients(Message.RecipientType.TO))
- );
- itemMessage.put("CC", InternetAddress.toString(
- messages[i].getRecipients(Message.RecipientType.CC))
- );
- itemMessage.put("BCC", InternetAddress.toString(
- messages[i].getRecipients(Message.RecipientType.BCC))
- );
- itemMessage.put("Subject", messages[i].getSubject());
- itemMessage.put("Content", messages[i].getContent().toString());
- listMessages.add((HashMap<String, String>) itemMessage);
- }
- folder.close(true);
- store.close();
- } catch (Exception e) {
- e.printStackTrace();
- fail("Не удалось открыть почту");
- }
- }
- public List<HashMap<String, String>> getListMessages() {
- readEmail(false);
- return this.listMessages;
- }
- public void cleanEmail() {
- readEmail(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement