public String getEmailContent()

in community/document-readers/spring-ai-alibaba-starter-document-reader-email/src/main/java/com/alibaba/cloud/ai/reader/email/eml/EmailParser.java [251:292]


	public String getEmailContent(Part part, boolean preferHtml) throws MessagingException, IOException {
		String htmlContent = null;
		String textContent = null;

		Object content = part.getContent();
		if (content instanceof String) {
			// Check if content is HTML
			String contentType = part.getContentType().toLowerCase();
			if (contentType.contains("text/html")) {
				htmlContent = (String) content;
			}
			else {
				textContent = (String) content;
			}
		}
		else if (content instanceof Multipart) {
			Multipart multipart = (Multipart) content;
			for (int i = 0; i < multipart.getCount(); i++) {
				Part bodyPart = multipart.getBodyPart(i);
				String contentType = bodyPart.getContentType().toLowerCase();

				if (contentType.contains("text/html")) {
					htmlContent = new String(bodyPart.getInputStream().readAllBytes(), StandardCharsets.UTF_8);
				}
				else if (contentType.contains("text/plain")) {
					textContent = new String(bodyPart.getInputStream().readAllBytes(), StandardCharsets.UTF_8);
				}
			}
		}

		// Parse HTML content if available and preferred
		if (htmlContent != null && (preferHtml || textContent == null)) {
			return parseHtmlContent(htmlContent);
		}

		// Return plain text if available
		if (textContent != null) {
			return textContent;
		}

		return "";
	}