मैं मेल मेल बॉक्स के अंदर पढ़ने के लिए javax.mail का उपयोग कर एक ग्राहक मेल विकासशील हूँ मेल के शरीर के अंदर पाठ पढ़ने के लिए कैसे:javax.mail का उपयोग कर
Properties properties = System.getProperties();
properties.setProperty("mail.store.protocol", "imap");
try {
Session session = Session.getDefaultInstance(properties, null);
Store store = session.getStore("pop3");//create store instance
store.connect("pop3.domain.it", "mail.it", "*****");
Folder inbox = store.getFolder("inbox");
FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
inbox.open(Folder.READ_ONLY);//set access type of Inbox
Message messages[] = inbox.search(ft);
String mail,sub,bodyText="";
Object body;
for(Message message:messages) {
mail = message.getFrom()[0].toString();
sub = message.getSubject();
body = message.getContent();
//bodyText = body.....
}
} catch (Exception e) {
System.out.println(e);
}
मुझे पता है कि विधि getContent()
एक वस्तु कारण रिटर्न सामग्री String
, MimeMultiPart
, SharedByteArrayInputstream
और अन्य (मुझे लगता है) ... क्या संदेश के शरीर के अंदर हमेशा पाठ प्राप्त करने का कोई तरीका हो सकता है? धन्यवाद!!
आपको किस प्रकार का आउटपुट मिल रहा है ??? क्या आप प्रकार के आधार पर प्रकार और प्रक्रिया मेल की पहचान के लिए 'msg.getContentType()' का उपयोग नहीं कर सकते ?? – iNan
मुझे यह जानने की आवश्यकता नहीं है कि सामग्री किस प्रकार की है, मुझे केवल इसके अंदर पाठ जानने की आवश्यकता है – JackTurky
टेक्स्ट प्राप्त करने के लिए अलग-अलग एमआईएम प्रकार वाले प्रत्येक मेल को अलग-अलग तरीके से संभालना होगा। इसलिए आपको 'getContentType' – iNan