2011-02-02 21 views
6

में ई-मेल भेजना मैं ग्लासफ़िश पर तैनात जावा ईई 6 एप्लिकेशन विकसित कर रहा हूं, मैं ईमेल भेजने के तरीके के बारे में ट्यूटोरियल पढ़ता रहता हूं लेकिन वे या तो पुराने या बहुत जटिल लगते हैं। मैं उम्मीद कर रहा था कि इस विनिर्देश में हो सकता है कि मेल भेजने का एक आसान तरीका है क्योंकि इतनी सारी चीज़ें इतनी सरल हो गई हैं। क्या आप मुझे सही दिशा में इंगित कर सकते हैं या मुझे कुछ नमूना कोड दिखा सकते हैं?जावा ईई 6

उत्तर

11

आप apache commons email का उपयोग कर सकते हैं या यदि आप वसंत का उपयोग कर रहे हैं तो spring mail का उपयोग करें। यदि आप किसी भी रैपर पुस्तकालयों और code sample पर इसका उपयोग नहीं करना चाहते हैं तो हमेशा JavaMail होता है।

इन सभी लिंक में कोड उदाहरण हैं।

+0

क्या ग्लासफ़िश में एक एसएमटीपी सर्वर या मेल भेजने के लिए कोई सेवा शामिल है? या मुझे अलग-अलग सेट अप करना है? – arg20

+0

आपको या तो अपने स्कूल या काम smtp सर्वर का उपयोग करने की आवश्यकता होगी। मैंने कभी डंबस्टर का उपयोग नहीं किया है लेकिन उपयोग करने के लिए एक अच्छा लगता है। उस लिंक को प्रदान करने के लिए जेम्स को कुडोस। – CoolBeans

0

जेईई ऐप सर्वर को ईमेल संसाधन प्रदान करना चाहिए। एकमात्र ऐसा सोचने के लिए आपको संसाधन की तलाश है (मुझे लगता है कि यह कॉन्फ़िगर किया गया है) और ईमेल भेजें।

//Mail Resource injection not working on wildfly 10 
//@Resource(lookup = "java:/futuramail") 
private Session mailSession; 

@Asynchronous 
@Lock(LockType.READ) 
    public void sendMail(String recipient, String subject, String text) { 
     try { 

      InitialContext ic = new InitialContext(); 
      mailSession = (Session) ic.lookup("java:/futuramail"); 
      MimeMessage message = new MimeMessage(mailSession); 
      Address[] to = new InternetAddress[]{new InternetAddress(recipient)}; 
      message.setRecipients(Message.RecipientType.TO, to); 
      message.setSubject(subject); 
      message.setSentDate(new Date()); 
      message.setContent(text, "text/html"); 
      //message.setText(text); 
      Transport.send(message); 
      System.out.println("mail sent"); 
     } catch (MessagingException me) { 
      me.printStackTrace(); 
     } catch (NamingException ex) { 
      Logger.getLogger(MailProcessor.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
+0

मेरी वाइल्डफ्लाई 10.1.0. फ़ाइनल पर, मेल संसाधन इंजेक्शन पूरी तरह से लुकअप या नाम विशेषताओं का उपयोग कर काम करता है –

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