هل هناك طريقة للبحث في كافة مجلدات IMAP المتاحة باستخدام Javamail؟
سؤال
أنا أبحث عن طريقة للبحث في جميع المجلدات (للمستخدم المحدد).
وأنا على علم بأن أمر بحث IMAP يتطلب منك تحديد صندوق بريد للعمل عليه أولاً - تحديد نطاق نتائج البحث لصندوق البريد المحدد هذا.
ينفذ تطبيق Javamail IMAP أ search
الوظيفة التي تعمل على Folder
هدف.يبدو أن هذا يحاكي المواصفات، حيث سيتم البحث داخل مجلد معين.
كنت أتمنى أن أتمكن من البحث في المجلد "الافتراضي" الخاص (الذي تم استرجاعه باستخدام ملف getDefaultFolder
طريقة في IMAPStore
)، حيث يؤدي ذلك إلى إرجاع المجلد الجذر الذي يحتوي على كافة المجلدات الأخرى.ولكن على الرغم من استرجاعها Folder
يمكن تقديم قائمة بجميع المجلدات المتاحة، نوعها ليس من النوع HOLDS_MESSAGES
, ، وبالتالي لا يمكن استخدامه للوصول إلى الرسائل أو البحث عنها.
هل هناك طريقة أخرى للبحث في الرسائل في جميع المجلدات، أم سيُطلب مني البحث في كل مجلد على حدة؟
أخشى أنني لا أستطيع نشر أكثر من رابطين تشعبيين، ولكن هنا إمكانية الوصول إلى وثائق Javamail com.sun.mail.imap, ، والتي يمكنك من خلالها الاطلاع على معلومات حول الطرق التي وصفتها.
المحلول
لا يوفر بروتوكول IMAP هذه الإمكانية، لذا لا يستطيع JavaMail القيام بأي شيء أفضل مما يمكنك القيام به بنفسك من خلال التكرار على كافة المجلدات والبحث في كل مجلد.