Member 12947047 Ответов: 1

Как найти пустую тему(без темы) письма с помощью java-кода?


Я пытаюсь читать электронные письма с помощью java - кода и выполнять операции. но я не могу выполнить операцию по электронной почте без темы . Также не удалось найти электронные письма без темы.

Message message = сообщения[i];
Строка тема=сообщение.getSubject().метод toString();
что я должен проверить на отсутствие темных писем?

Что я уже пробовал:

Message message = сообщения[i];
Строка тема=сообщение.getSubject().метод toString();

1 Ответов

Рейтинг:
2

Jochen Arndt

Хотя тема не является обязательным полем заголовка, почти все письма будут иметь его. Если вам нужно письмо без заголовка темы, просто создайте его (например, отправив на адрес, который используется в качестве входных данных для вашего приложения). Но может возникнуть необходимость создавать/отправлять почту программно, а не с помощью клиентского приложения электронной почты, поскольку они имеют поле ввода для темы и поэтому всегда могут включать заголовок даже с пустым содержимым.

Как обнаружить почту без темы зависит от реализации Message.getSubject() функция. Он может возвращать пустую строку, a null указатель, или бросок MessagingException (Я не нашел четкого утверждения в документации, но вы должны быть в состоянии узнать это при обработке письма без заголовка темы).

В первом случае вы не можете обнаружить письма без темы (вы можете обнаружить только пустые поля темы). В третьем случае вы должны поймать исключение.

Фрагмент кода, обрабатывающий все случаи:

try {
    String subject=message.getSubject();
    if (subject == null)
    {
        // no subject (if null is returned for this case)
    }
    else if (subject.isEmpty())
    {
        // empty subject
    }
} catch (MessagingException me) {
    // Handle exception here
    // Invalid message or - if it applies - subject not present
}

Наконец то нет необходимости звонить toString() потому что Message.getSubject() возвращать строки.