2014-04-23 1 views
0

Java Gmail API를 사용하여 Gmail 계정에 액세스하려고 시도한 후 첫 번째 이메일 본문에 액세스 한 다음이 경로를 사용하여 텍스트 파일에 저장합니다. 내 컴퓨터에서 D:\Email, 그래서 어떤 제안? saveFile을 사용하는 것과 같이 많은 예제를 시도했지만 그 중 아무 것도 나를 위해 일하지 않았습니다!Java Gmail API를 사용하여 텍스트 본문에 이메일 본문을 작성하는 방법

참고 : 난 단지

package ReadingEmail; 
import java.util.*; 
import javax.mail.Address; 
import javax.mail.BodyPart; 
import javax.mail.Folder; 
import javax.mail.Message; 
import javax.mail.Multipart; 
import javax.mail.Session; 
import javax.mail.Store; 
//=================================================================================== 

public class ReadingEmail { 
     public static Scanner input = new Scanner(System.in);  
public static void main(String[] args) { 
     Properties props = new Properties(); 
     props.setProperty("mail.store.protocol", "imaps"); 
     try { 
      Session session = Session.getInstance(props, null); 
      Store store = session.getStore(); 
      System.out.println("enter your email"); 
      String email= input.nextLine(); 
       System.out.println("enter your password"); 
      String pass= input.nextLine(); 

      store.connect("imap.gmail.com", email, pass); //connect to email 

      Folder inbox = store.getFolder("INBOX");// go to index 


      inbox.open(Folder.READ_ONLY); // open index 
//============================================================================================== 
      int messageCount = inbox.getMessageCount();// line 20,21 show the number of emails 
     System.out.println("Total Messages" + messageCount); 
     int Message1 = messageCount; 
     int Message2 = Message1 -1 ; 


     Message msg1= inbox.getMessage(messageCount); 
     Message msg2= inbox.getMessage(Message2); 


     Address[] in1 = msg1.getFrom(); 
      for (Address address1 : in1) {} 

//================================================================================ 
      Message msg = inbox.getMessage(inbox.getMessageCount()); 
      Address[] in = msg.getFrom(); 
      for (Address address : in) { 

      } 
      Multipart mp = (Multipart) msg.getContent(); 
      BodyPart bp = mp.getBodyPart(0); 



      System.out.println("CONTENT:" + bp.getContent()); 
     } 
     catch (Exception ex) // wrong password 
    { System.out.println("the email or password is wrong "); } 


    } 
} 

답변

0

당신은 어떤 오류가있는 이메일의 본문을 저장하려면? 지금은 파일에 저장할 코드를 볼 수 없습니다.

또한 System.out.println("CONTENT:" + bp.getContent());을 사용하면 텍스트를 콘솔에 인쇄 할 수 있는지 여부를 결정할 수 있습니까?

+0

아니요, 오류가 없습니다. 프로그램에서 사용자에게 이메일과 비밀번호를 입력하라는 메시지를 표시 한 다음 출력 화면에서 자신의 계정에있는 첫 번째 이메일 본문을 표시합니다. 이메일 본문을 저장하려고합니다. 내 D 드라이브에 텍스트 파일로! – user3564384

+0

이 [link] (http://stackoverflow.com/questions/2885173/java-how-to-create-and-write-to-a-file) 또는 [this] (http : /www.mkyong.com/java/how-to-write-to-file-in-java-bufferedwriter-example/). 전자 메일의 본문은 위에서 추가 한 SOP에서 사용할 수 있습니다. – AdityaKeyal

+0

코드에서이 줄을 시도 할 때 두 번째 링크를 시도했습니다 bw.write (bp); 그것은 내가 오류 (오류 : (BodyPart) 쓰기 (BodyPart) bw.write (bp);)에 대한 적절한 방법을 찾지 못하게 알려줍니다 .. 미안하지만, 내가 그것을 해결할 수있는 자바에 대한 새로운이야? – user3564384

관련 문제