2009-05-11 6 views
10

का उपयोग कर जावा में ईमेल भेजना मैं ईमेल भेजने के लिए अपाचे कॉमन्स ईमेल लाइब्रेरी का उपयोग कर रहा हूं, लेकिन मैं उन्हें जीमेल एसएमटीपी सर्वर के माध्यम से भेजने में सक्षम नहीं हूं।
कोई भी नमूना कोड प्रदान कर सकता है जो जीमेल एसएमटीपी सर्वर और अन्य के साथ काम करता है?अपाचे कॉमन्स ईमेल libs

String[] recipients = {"[email protected]"}; 

SimpleEmail email = new SimpleEmail(); 
email.setHostName("smtp.gmail.com"); 
email.setAuthentication("[email protected]", "mypasswd"); 
email.setDebug(true); 
email.setSmtpPort(465); 

for (int i = 0; i < recipients.length; i++) 
{ 
    email.addTo(recipients[i]); 
} 

email.setFrom("[email protected]", "Me"); 
email.setSubject("Test message"); 
email.setMsg("This is a simple test of commons-email"); 
email.send(); 

उत्तर

10

जीमेल एसएमटीपी सर्वर को ईमेल भेजा जा रहा है प्रमाणीकरण और SSL की आवश्यकता है:

मैं निम्नलिखित कोड है जो काम नहीं करता है का उपयोग कर रहा हूँ। उपयोगकर्ता नाम और पासवर्ड बहुत सीधे आगे है। सुनिश्चित करें कि आपके पास प्रमाणीकरण और SSL सक्षम करने के लिए निम्न गुण सेट हैं और इसे काम करना चाहिए।

mail.smtp.auth=true 
mail.smtp.starttls.enable=true 

नमूना कोड में सक्षम टीएलएस सक्षम करने के लिए निम्नलिखित जोड़ें।

एपीआई-संस्करण < 1.3 उपयोग के लिए:
email.setTSL(true);
विधि संस्करणों> = 1.3 के लिए हटा दिया गया है, और बदले में आप का उपयोग करना चाहिए: email.setStartTLSEnabled(true);

2

commons.email का उपयोग कर मेरे लिए काम किया।

HtmlEmail email = new HtmlEmail(); 
email.setHostName("smtp.gmail.com"); 
email.setSmtpPort(465); 
email.setSSL(true); 
8

कृपया एक कोड जो नीचे काम करता है नीचे पाएं। जाहिर है, आपको अपने प्रोजेक्ट के निर्माण पथ में अपाचे जार जोड़ना होगा।

public static void sendSimpleMail() throws Exception { 
    Email email = new SimpleEmail(); 
    email.setSmtpPort(587); 
    email.setAuthenticator(new DefaultAuthenticator("your gmail username", 
      "your gmail password")); 
    email.setDebug(false); 
    email.setHostName("smtp.gmail.com"); 
    email.setFrom("[email protected]"); 
    email.setSubject("Hi"); 
    email.setMsg("This is a test mail ... :-)"); 
    email.addTo("[email protected]"); 
    email.setTLS(true); 
    email.send(); 
    System.out.println("Mail sent!"); 
} 

सादर, सरगियू