2015-07-30 7 views
21

सबसे पहले जीमेल SMTP के माध्यम से ई-मेल भेजा जा रहा है, मुझे लगता है कि 1.2.0.RELEASE साथ ईमेल भेजने के काम करता है ठीकस्प्रिंग बूट 1.2.5.RELEASE -

application.properties कहने की जरूरत है:

spring.mail.host = smtp.gmail.com 
spring.mail.username = *****@gmail.com 
spring.mail.password = **** 
spring.mail.properties.mail.smtp.auth = true 
spring.mail.properties.mail.smtp.socketFactory.port = 465 
spring.mail.properties.mail.smtp.socketFactory.class = javax.net.ssl.SSLSocketFactory 
spring.mail.properties.mail.smtp.socketFactory.fallback = false 

pox.xml

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.2.0.RELEASE</version> 
    <relativePath/> 
</parent> 

.......

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-mail</artifactId> 
</dependency> 


1.2.5.RELEASE ईमेल भेजने काम नहीं किया है करने के लिए माता पिता के संस्करण बदलने के बाद

डॉक्स का कहना है: यदि spring.mail.host और प्रासंगिक पुस्तकालय (जैसा कि वसंत-बूट-स्टार्टर-मेल द्वारा परिभाषित किया गया है) उपलब्ध है, तो डिफ़ॉल्ट जावामेलरेंडर बनाया गया है यदि कोई भी exis ts।


तो मैं

<dependency> 
    <groupId>javax.mail</groupId> 
    <artifactId>mail</artifactId> 
    <version>1.4.7</version> 
</dependency> 

जोड़े हुए नहीं मदद की है और उसके बाद मैं

<dependency> 
    <groupId>com.sun.mail</groupId> 
    <artifactId>javax.mail</artifactId> 
    <version>1.5.4</version> 
</dependency> 

इसके अलावा मैं कोशिश की है करने के लिए इसे बदल दिया है

spring.mail.host = smtp.gmail.com 
spring.mail.username = *****@gmail.com 
spring.mail.password = **** 
spring.mail.port = 465 

उसका परिणाम।

मैन्युअल रूप से @Bean बनाने और कॉन्फ़िगर करने में कोई समस्या नहीं है। लेकिन मैं वसंत बूट की सभी सुंदरता का उपयोग करना चाहता हूं।
कृपया मुझे मेरी गलतियों पर इंगित करें।

अग्रिम धन्यवाद

+0

तो त्रुटि संदेश क्या है? – dunni

+0

@dunni, त्रुटि संदेश नहीं है।प्रेषक धागा बस – InsFi

+0

जमा करता है तो आपके पास स्प्रिंग बूट 1.2.0 का उपयोग करके नमूना प्रोजेक्ट है और यह काम करता है। और फिर आप वसंत बूट 1.2.5 में बदल जाते हैं और फिर यह टूट जाता है? जहां तक ​​मैं देख सकता हूं उन दो संस्करणों के बीच कुछ भी नहीं बदला है। क्या आप परियोजना साझा कर सकते हैं? –

उत्तर

34

ऐसा लगता है कि जावा मेल में एक प्रतिगमन/व्यवहार परिवर्तन है। The change दोनों 1.5.3 और 1.5.4 में है। आपका ऐप बूट 1.2.0 के साथ काम करता है क्योंकि यह जावा मेल 1.5.2 का उपयोग करता है। यह बूट 1.2.5 के साथ विफल रहता है क्योंकि यह जावा मेल 1.5.4 का उपयोग करता है।

1.5.3+ में समस्या यह प्रतीत होती है कि एसएमटीपी परिवहन बंदरगाह 465 पर जुड़ता है और जीमेल एक एसएसएल हैंडशेक की अपेक्षा करता है। जावा मेल गलत तरीके से सोचता है कि यह एसएसएल का उपयोग नहीं कर रहा है, इसलिए यह कभी भी हैंडशेक और कनेक्शन प्रयास (अंततः) समय शुरू नहीं करता है। एसएसएल के उपयोग के बारे में स्पष्ट होने के कारण आप सही काम करने के लिए जावा मेल को समझ सकते हैं। application.properties पर 0 जोड़ें:

spring.mail.properties.mail.smtp.ssl.enable = true 
+0

मेरे लिए भी काम किया। मेरे एंटीवायरस के कारण मुझे अतिरिक्त त्रुटि मिली। एक बार जब मैंने मेल सुरक्षा अक्षम कर दी, तो संदेश सफलतापूर्वक भेजा गया – Juanal

+0

यह उत्तर बहुत उपयोगी था। मैंने अपनी समस्या को तुरंत हल करने के लिए वसंत-बूट के "spring.mail.test-connection = true" के उपयोग के साथ इसका उपयोग किया। –

3

ऐसा लगता है कि यह एक प्रतिगमन है। मैंने इस समस्या की जांच के लिए #3624 बनाया है। नमूना परियोजना के लिए धन्यवाद!

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