मैं प्रमाणीकरण के साथ जेएनडीआई के माध्यम से टोमकैट में 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
निकलती है।
अब मेरा प्रश्न यह है कि उन सभी चीजों के लिए प्रलेखन कहां है। विशेष रूप से उपयोगकर्ता नाम और पासवर्ड की कॉन्फ़िगरेशन के बारे में?
बीटीडब्ल्यू: मैंने इसे एक और समस्या के बारे में अन्य मदद करने के लिए थोड़ा और विस्तृत समझाया।
इसके लिए अगस्त 2012 में https://issues.apache.org/bugzilla/show_bug.cgi?id=53665 –
पर एक समस्या दर्ज की गई है, मैं कहूंगा कि अंतिम 'अन्य' हटा दिया जाना चाहिए था। अधिकतर इस तरह की चीज लंबे समय तक कोड विकास के कारण होती है। – EJP