2011-06-16 26 views
8

मैं प्रमाणीकरण के साथ जेएनडीआई के माध्यम से टोमकैट में javax.mail.Session को कॉन्फ़िगर करने के तरीके के बारे में जानने के लिए कई दिन बिताता हूं, अब मुझे यह मिलता है लेकिन कोड में गहरे गोता के बाद ही।टॉमकैट में जेएनडीआई के लिए जावा मेल एपीआई कॉन्फ़िगरेशन का दस्तावेज़ीकरण

इस बार मैंने सबसे खराब कोड कभी देखा है: javax.mail.Service # कनेक्ट (स्ट्रिंग, स्ट्रिंग, स्ट्रिंग, स्ट्रिंग) संस्करण 1.4.1

 if (user == null) { 
    user = url.getUsername(); 
    if (password == null) // get password too if we need it 
     password = url.getPassword(); 
    } else { 
    if (password == null && user.equals(url.getUsername())) 
     // only get the password if it matches the username 
     password = url.getPassword(); 
    } 

पासवर्ड कब असाइन किया जाता है ? और यह दो बार शून्य के खिलाफ क्यों जांच की जाती है? - और तब महसूस करें कि उपर्युक्त उपरोक्त का नहीं है। (यह मूल इंडेंटेशन है)। विषय पर वापस।

कम से कम मैंने पाया कि सही संसाधन परिभाषा है:

<Resource name="email/session" 
    type="javax.mail.Session" 
    auth="Container" 
    password="secret" 

    mail.debug="false" 
    mail.transport.protocol="smtp" 

    mail.smtp.auth="true" 
    mail.smtp.user="testi" 
    mail.smtp.host="smtp.xxx.org" 
    mail.smtp.from="[email protected]"  
    /> 

इस तथ्य पर ध्यान दें कि यह "पासवर्ड" और "mail.smtp.user" या "mail.user" है लेकिन नहीं "Mail.smtp.password" या "उपयोगकर्ता"।

कम से कम जादू टॉमकैट्स org.apache.naming.factory.MailSessionFactory में किया जाता है। यह कारखाना मेल सत्र में javax.mail.Authenticator जोड़ता है यदि कोई संपत्ति password और कोई संपत्ति mail.smtp.user या mail.user निकलती है।

अब मेरा प्रश्न यह है कि उन सभी चीजों के लिए प्रलेखन कहां है। विशेष रूप से उपयोगकर्ता नाम और पासवर्ड की कॉन्फ़िगरेशन के बारे में?

बीटीडब्ल्यू: मैंने इसे एक और समस्या के बारे में अन्य मदद करने के लिए थोड़ा और विस्तृत समझाया।

+2

इसके लिए अगस्त 2012 में https://issues.apache.org/bugzilla/show_bug.cgi?id=53665 –

+0

पर एक समस्या दर्ज की गई है, मैं कहूंगा कि अंतिम 'अन्य' हटा दिया जाना चाहिए था। अधिकतर इस तरह की चीज लंबे समय तक कोड विकास के कारण होती है। – EJP

उत्तर

0

बिलाव प्रलेखन सीमित है लेकिन स्रोत कोड यहाँ है: http://javasourcecode.org/html/open-source/tomcat/tomcat-7.0.19/org/apache/naming/factory/MailSessionFactory.java.html

+0

हाँ, मुझे पता है। मेरा सवाल है कि मैंने पहले ही बताया है कि जादू किस कक्षा में करता है। - लेकिन पहले भाग की वजह से मैं जवाब स्वीकार करूंगा ("टोमकैट दस्तावेज सीमित है") - यह एकमात्र सही जवाब होने लगता है। – Ralph

+0

एफवाईआई टॉमकैट दस्तावेज़ अपडेट किए गए हैं। परिवर्तन 7.0.42 में होंगे: http://svn.apache.org/r1495016 –

2

यह केवल दस्तावेज में एक बग है। किसी ने पहले ही बिलाव बग ट्रैकर

https://bz.apache.org/bugzilla/show_bug.cgi?id=53665

मैं आप रजिस्टर और बग के लिए वोट का सुझाव पर इस उठाया गया है।