2013-10-01 7 views
21

मैं जावा में मेल भेजने के लिए javax.mail का उपयोग कर रहा हूं। अब मेरे प्रोजेक्ट की अवधारणा का एक हिस्सा बदल गया है, मुझे प्रमाणीकरण के बिना मेल भेजना है।प्रमाणीकरण के बिना javax.mail में मेल भेजें

private void createSession() { 
    properties.put("mail.smtp.auth", "true"); 
    properties.put("mail.smtp.starttls.enable", "true"); 
    properties.put("mail.smtp.host", server); 
    properties.put("mail.smtp.port", port); 

    session = Session.getInstance(properties, new javax.mail.Authenticator() { 
     protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication(username, password); 
     } 
    }); 
} 

यह बल्कि स्पष्ट है कि मैं false को mail.smtp.auth बदलना चाहिए है, लेकिन और क्या मैं बदलना चाहिए: मैं अपने createSession() विधि को बदलने के लिए करना होगा?

+2

'संपत्ति' में 'उपयोगकर्ता' और' पासवर्ड' न जोड़ें और 'उपयोगकर्ता' के लिए 'शून्य' और 'पासवर्ड' को 'कनेक्ट' –

उत्तर

17
private void createSession() { 
    properties.put("mail.smtp.auth", "false"); 
    //Put below to false, if no https is needed 
    properties.put("mail.smtp.starttls.enable", "true"); 
    properties.put("mail.smtp.host", server); 
    properties.put("mail.smtp.port", port); 

    session = Session.getInstance(properties); 
} 

मुझे लगता है, यह पर्याप्त होगा।

+3

पर पास करें और निश्चित रूप से यह आपके सर्वर पर निर्भर करता है कि आप को कॉन्फ़िगर किया जा सके पहले प्रमाणित किए बिना मेल भेजें। यह इंट्रानेट के भीतर ठीक काम कर सकता है, अन्यथा यह स्पैम का निमंत्रण है। –

+0

अभी भी कहता है 'प्रमाणीकरण आवश्यक है। कृपया समर्थन ' – Sami

+1

प्रमाणीकरण एक सर्वर नीति से संपर्क करें। अगर सर्वर को प्रमाणीकरण की आवश्यकता है - आपको इसे प्रदान करना होगा !! – Kris

संबंधित मुद्दे