2013-01-21 48 views
11

का उपयोग करके javamail भेजें मुझे Office365 के माध्यम से javax.mail (1.4.4) का उपयोग करके मेल भेजने के लिए SMTP सेटिंग्स को कॉन्फ़िगर करने में समस्या हो रही है, इसलिए मैंने सोचा कि मैं यहां दूसरों के लिए गुण पोस्ट करूंगा।Office365

उत्तर

11
private static Properties props; 
private static Session session; 
static { 
    props = new Properties(); 
    props.put("mail.smtp.starttls.enable", "true"); 
    props.put("mail.smtp.port", "587"); 
    props.put("mail.smtp.host", "m.outlook.com"); 
    props.put("mail.smtp.auth", "true"); 
    session = Session.getInstance(props, new Authenticator() { 
     @Override 
     protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication("office365 email address" 
        "office365 password"); 
     } 
    }); 

} 
+0

मैं इसी तरह की समस्या का सामना कर रहा हूँ अपने समाधान समझाने कृपया कर सकते ?? ? –

+0

मुझे जिस समस्या का सामना करना पड़ रहा है वह है कि मेरा धागा मेल भेजने से पहले अटक गया, मैंने इंटरनेट से कई समाधानों की कोशिश की, उनमें से कोई भी काम नहीं किया, मुझे कोई अपवाद भी नहीं मिला। मैं मेल भेजने में असमर्थ हूं, अगर आप अपना ज्ञान साझा करते हैं तो यह सहायक होगा .. :) धन्यवाद –

+1

मेरे लिए, यह केवल '587' से '587' 'के बाद ही काम किया। अन्यथा, जावामेल ने पोर्ट 25 से कनेक्ट करने का प्रयास किया। – Glorfindel

0

केवल त्रुटि है कि मैं अपने कोड में देख रहा हूँ गलत होस्ट

javaMailProperties.setProperty("mail.smtp.from", "[email protected]"); 
    javaMailProperties.setProperty("mail.smtp.user", "[email protected]"); 
    javaMailProperties.setProperty("mail.smtp.password","Password"); 
    javaMailProperties.setProperty("mail.smtp.host", "smtp.office365.com"); 
    javaMailProperties.setProperty("mail.smtp.port", "587"); 
    javaMailProperties.setProperty("mail.smtp.auth", "true"); 
    javaMailProperties.setProperty("mail.smtp.starttls.enable", "true"); 

बदलें मेजबान आप सब अच्छा हो जाएगा।

4

एक काम कर कोड उदाहरण:

Email email = new SimpleEmail(); 

email.setHostName("smtp.office365.com"); 
email.setSmtpPort(587); 
email.setAuthenticator(new DefaultAuthenticator("[email protected]", "****")); 
email.setStartTLSEnabled(true); 
try { 
    email.setFrom("[email protected]"); 
    email.setSubject("Job Failure"); 
    email.setDebug(true); 
    email.setMsg("This is a test mail ... :-)"); 
    email.addTo("[email protected]"); 
    email.send(); 
} catch (EmailException e) { 
    e.printStackTrace(); 
} 
+0

आप यह निर्दिष्ट करना चाहते हैं कि यह [कॉमन्स-ईमेल] (https://commons.apache.org/proper/commons-email/) का उपयोग करता है। – JBert

3

और वसंत-बूट के साथ, आप बस अपने application.properties को यह जोड़ने की जरूरत:

spring.mail.host = smtp.office365.com 
spring.mail.username = [email protected] 
spring.mail.password = s3cr3t 
spring.mail.port = 587 
spring.mail.properties.mail.smtp.auth = true 
spring.mail.properties.mail.smtp.starttls.enable = true