2009-10-03 17 views
8

मैं संदेश को कैसे संग्रहीत कर सकता हूं जिसे मैंने javamail के माध्यम से MySQL तालिका में लिखा है? मैं पहले से ही जेम्स MySQL सर्वर (डेटा स्रोत तत्व नाम maildb साथ) से कनेक्ट करने के लिए सर्वर कॉन्फ़िग फ़ाइल कॉन्फ़िगर किया गया है, और मैंजावमेल के माध्यम से MySQL तालिका में डेटा संग्रहीत करना

<inboxRepository> 
    <repository destinationURL="db://maildb/spammer/" 
    type="MAIL"/>  
</inboxRepository> 

को जेम्स सर्वर कॉन्फ़िग फ़ाइल में <inboxRepository> तत्व बदल लेकिन मैं अभी भी नहीं पा रहा हूँ MySQL में मेल डेटाबेस में तालिका स्पैमर तालिका के इनबॉक्स कॉलम से संदेशों को पढ़ें।

यहाँ मेरी javamail वर्ग है:

import java.io.IOException; 
import java.io.PrintWriter; 
import java.util.Properties; 
import javax.mail.*; 
import javax.mail.internet.*; 

public class mail{ 

    public static void main(String[] argts){ 
    String to = "[email protected]"; 
    String from = "[email protected]"; 
    String subject = "jdk"; 
    String body = "Down to wind"; 

    if ((from != null) && (to != null) 
     && (subject != null) && (body != null)) 
    // we have mail to send 
    { 
     try { 
     Properties props = new Properties(); 

     props.put("mail.host", "127.0.0.1 "); 
     props.put("mail.smtp.auth","true"); 

     Session session = 
      Session.getInstance(props, new javax.mail.Authenticator() { 

      protected PasswordAuthentication getPasswordAuthentication() { 
      return new PasswordAuthentication("blue", "blue"); 
      } 
     }); 
     Message message = new MimeMessage(session); 
     message.setFrom(new InternetAddress(from)); 
     Address[] add={ new InternetAddress(to) }; 
     message.setRecipients(Message.RecipientType.TO,add); 
     message.setSubject(subject); 
     message.setContent(body, "text/plain"); 
     message.setText(body); 
     Transport.send(message); 

     System.out.println 
      ("<b>Thank you. Your message to "+to+" was successfully sent.</b>"); 

     } catch (Throwable t) { 
     t.printStackTrace(); 
     } 
    } 
    } 
} 

क्या मैं गलत यहाँ कर रहा हूँ, और कैसे मैं MySQL में स्पैमर मेज से संदेश पढ़ सकते हैं?

+0

जब आप अपना आवेदन निष्पादित करते हैं - क्या भेजा गया एप्लिकेशन डेटाबेस में जारी रहता है? मैं आपकी पोस्ट से इकट्ठा हूं, आप स्पैमर टेबल में भेजे गए भेजे गए संदेश की प्रतिलिपि चाहते हैं, लेकिन मैं आपके चल रहे उदाहरण के साथ कोई दृढ़ता कोड नहीं देख सकता - क्या इसका मतलब है कि जेम्स स्वचालित रूप से दृढ़ता से कार्य करता है? – Bitmap

उत्तर

1

शायद तुम डेटाबेस के लिए गलत URL का उपयोग: DESTINATIONURL = "db: // maildb/स्पैमर /" मैं DESTINATIONURL = करने के लिए परिवर्तन का प्रस्ताव "mysql: // maildb/स्पैमर /" की mysql डेटाबेस यदि गंतव्य है पाठ्यक्रम।