Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private fun extractText(mimeMessage: Any): String {
- when (mimeMessage) {
- is MimeMessage -> {
- // заготовка для сообщения
- var message = "\n New Email: ["
- // проверяю на нулли, чтобы не спамить лишним
- if (mimeMessage.encoding !== null) {
- // Кодировка сообщения
- message = "$message\n Language: " + mimeMessage.encoding
- }
- if (mimeMessage.sender !== null) {
- // Автор сообщения
- message = "$message\n From: " + mimeMessage.sender
- }
- if (mimeMessage.sentDate !== null) {
- // Дата отправки сообщения
- message = "$message\n Sent Date: " + mimeMessage.sentDate.toString()
- }
- if (mimeMessage.receivedDate !== null) {
- // Дата получения сообщения
- message = "$message\n Receive Date: " + mimeMessage.receivedDate.toString()
- }
- if (mimeMessage.subject !== null) {
- // Тема сообщения
- message = "$message\n Subject: " + mimeMessage.subject
- }
- if (mimeMessage.contentLanguage !== null) {
- // Язык контента в сообщении
- message = "$message\n encoding: " + mimeMessage.contentLanguage
- }
- if (mimeMessage.content is Multipart) {
- val mp = mimeMessage.content as Multipart
- val count = mp.count
- // итерация по e-mail'у
- for (i in 0 until count) {
- message = "$message\n" + extractText(mp.getBodyPart(i) as MimeBodyPart)
- }
- }
- //Если тип данных простой текст или html. У меня случились проблемы при формирование мультипарта,
- //программа всегда выкидывала text/plain в второй функции, по этому я попробовал объединить
- //функцоинал, и в целом, учитывая что у меня подгорают дедлайны, я решил,
- //что это удовлетворительно.
- else if (mimeMessage.isMimeType("text/plain") || mimeMessage.isMimeType("text/html")) {
- message = "$message\n Text: " + Jsoup.parse(mimeMessage.content.toString()).text()
- }
- if (mimeMessage.description !== null) {
- // Дополнение к сообщению
- message = "$message\n Message Description: " + mimeMessage.description
- }
- return "$message \n ]"
- }
- // заготовка для сообщения
- is MimeBodyPart -> {
- var message = "\n New Part Of Email: ["
- // проверяю на нулли, чтобы не спамить лишним
- if (mimeMessage.encoding !== null) {
- // Кодировка сообщения
- message = "$message\n encoding: " + mimeMessage.encoding
- }
- if (mimeMessage.contentLanguage !== null) {
- // Язык контента в сообщении
- message = "$message\n Language: " + mimeMessage.contentLanguage
- }
- println(mimeMessage.contentType)
- if (mimeMessage.content is Multipart) {
- val mp = mimeMessage.content as Multipart
- val count = mp.count
- // рекурсия
- for (i in 0 until count) {
- message = "$message\n" + extractText(mp.getBodyPart(i) as MimeBodyPart)
- }
- } else if (mimeMessage.isMimeType("text/plain") || mimeMessage.isMimeType("text/html")) {
- message = "$message\n Text: " + Jsoup.parse(mimeMessage.content.toString()).text()
- }
- if (mimeMessage.description !== null) {
- // Дополнение к сообщению
- message = "$message\n Message Description: " + mimeMessage.description
- }
- return "$message \n ]"
- }
- else -> throw error("Unable to find Email")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement