]> git.basschouten.com Git - openhab-addons.git/commitdiff
[mail] Fix content processing (#16580)
authorJ-N-K <github@klug.nrw>
Wed, 27 Mar 2024 04:17:45 +0000 (05:17 +0100)
committerGitHub <noreply@github.com>
Wed, 27 Mar 2024 04:17:45 +0000 (05:17 +0100)
Signed-off-by: Jan N. Klug <github@klug.nrw>
bundles/org.openhab.binding.mail/src/main/java/org/openhab/binding/mail/internal/POP3IMAPHandler.java

index 984c80387c6ca72e3838f83d588824bbd2eb9f49..dd9b261117a87fb2cbde085949c85c7b736055d1 100644 (file)
@@ -52,6 +52,8 @@ import org.openhab.core.types.Command;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import com.sun.mail.imap.IMAPInputStream;
+
 /**
  * The {@link POP3IMAPHandler} is responsible for handling commands, which are
  * sent to one of the channels.
@@ -184,6 +186,14 @@ public class POP3IMAPHandler extends BaseThingHandler {
                                         mimeMultipart.writeTo(os);
                                         contentAsString = os.toString();
                                     }
+                                } else if (rawContent instanceof IMAPInputStream imapInputStream) {
+                                    logger.trace("Detected IMAPInputStream message");
+                                    try {
+                                        contentAsString = new String(imapInputStream.readAllBytes());
+                                    } catch (IOException e) {
+                                        logger.warn("Could not read from stream: {}", e.getMessage(), e);
+                                        continue;
+                                    }
                                 } else {
                                     logger.warn(
                                             "Failed to convert mail content from '{}' with subject '{}', to String: {}",