С Новым годом! Форум программистов, компьютерный форум, киберфорум
Java: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
12 / 12 / 1
Регистрация: 05.04.2012
Сообщений: 127

Обработка полученного сообщения в почтовом клиенте

16.11.2013, 13:12. Показов 739. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла проблема, при обработке сообщения, которое я получаю с почты в формате MIME с помощью протокола POP3. А точнее, я не могу понять, почему мой класс содержит пустые строки, да и вообще не желает обрабатывать что-либо.
Класс сообщений, который я написал. Ничего хитрого или интересного. Содержит пару полей и методы получения. Необходим, что бы хранить в нем уже "обработанное" сообщение.
Использую библиотеку JavaMail API 1.4.7.
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import java.io.Serializable;
public class MyMessage implements Serializable {
    private String subject;
    private String from;
    private String to;
    private String body;
    private String date;
    private int msgID;
 
    public MyMessage(String subject, String from, String to, String body, String date, int msgID) {
        this.subject = subject;
        this.from = from;
        this.to = to;
        this.body = body;
        this.date = date;
        this.msgID = msgID;
    }
 
    public String getSubject() {
        return subject;
    }
 
    public String getFrom() {
        return from;
    }
 
    public String getTo() {
        return to;
    }
 
    public String getBody() {
        return body;
    }
 
    public String getDate() {
        return date;
    }
 
    public int getMsgID() {
        return msgID;
    }
}

Основной класс, выводит все в консоль, поскольку только учусь работать с сетью и в GUI пока нет особого резона.
Кликните здесь для просмотра всего текста

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
import javax.mail.Folder;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Store;
import javax.mail.internet.MimeUtility;
import java.util.LinkedList;
import java.util.Properties;
 
public class MainClass {
 
    public static void main(String[] args) throws Exception {
 
        Properties props = new Properties();
        String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
        props.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
        props.setProperty("mail.pop3.socketFactory.fallback", "false");
        props.setProperty("mail.pop3.port", "995");
        props.setProperty("mail.pop3.socketFactory.port", "995");
 
          /*
        String host = "pop.gmail.com";
        String username = "*****";
        String password = "*****";
        String provider = "pop3";
                     */
        String host = "pop.rambler.ru";
        String username = "*****";
        String password = "*****";
        String provider = "pop3";
        Session session = Session.getDefaultInstance(props, null);
        Store store = session.getStore(provider);
        store.connect(host, username, password);
 
        Folder inbox = store.getFolder("INBOX");
        if (inbox == null) {
            System.out.println("No INBOX");
            System.exit(1);
        }
        inbox.open(Folder.READ_ONLY);
        //Получаем почту и кучу заковырок (сами сообщения не обработаны)
        Message[] messages = inbox.getMessages();
        for (int i = 0; i < messages.length; i++) {
            System.out.println("Message " + (i + 1));
            messages[i].writeTo(System.out);
        }
        System.out.println(messages.length);
        LinkedList<MyMessage> myMessages = new LinkedList<MyMessage>();
        for (int i = 0; i < messages.length; i++) {
            if (messages[i].isMimeType("text/plain"))   {
                MyMessage message = new MyMessage(MimeUtility.decodeText(messages[i].getSubject()),messages[i].getFrom().toString(),
                null,messages[i].getContent().toString(),messages[i].getSentDate().toString(),messages[i].getMessageNumber());
            myMessages.add(message);
            }
        }
        System.out.println(myMessages.size());
 
        myMessages.getFirst().getSubject().toString();
        inbox.close(false);
        store.close();
    }
}

Вместо звездочек ес-но введены корректные логин и пароль. Так же я получаю ответ, но он необработанный .
P.s. Я изначально знаю, что файлы не содержат всяких вложений и прочих штук, поэтому подобное событие не обрабатывается.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2013, 13:12
Ответы с готовыми решениями:

Протокол в почтовом клиенте SMTP
Здравствуйте. есть почтовый клиент написанный на C#. Работает норм. но весь процесс почтовой сессии должен отображаться на экране. как...

Две учётки в почтовом клиенте
Машина получает почту с двух разных серверов как пример возмём 10.10.10.10 и 20.20.20.20. Завести две учётки в одном почтовом клиенте не...

Получение писем в почтовом клиенте, POP3
Здравствуйте я в этой области новичок и прошу помощи, у меня такая проблема, пишу почтовый клиент в котором не могу вывести письма в какое...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.11.2013, 13:12
Помогаю со студенческими работами здесь

некорректное отображение полей в почтовом клиенте
Добрый день, коллеги! Имеется такая проблема: почтовый клиент Lotus 8.5.1 FP3, система win 7 prof x64. Так вот, при попытке создания...

Что использовать в почтовом клиенте для списка писем???
У меня такая проблемма: Тема курсовой у меня по Delphi - &quot;Почтовый клиент&quot;. Какой компонент лучше использовать для списка писем. Список...

Очень часто слетает пароль в почтовом клиенте. (Outlook Express и Windows Live)
Добрый день! Подскажите, пожалуйста. Очен часто слетает пароль в почтовых клиентах Outlook Express и Windows Live.. Сначала стоял...

Метод для получения последнего полученного сообщения
Искал этот метод в messages ничего не нашел нужного,в notifications,тоже пусто,а мне нужно вытащить последнее полученное письмо,вернее даже...

Фиксированный размер буфера для приема сообщения на клиенте (UDP)
Программа условная (лабораторная работа с использованием библиотеки boost). Клиент вводит размерность матрицы m x n. Сервер заполняет эту...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru