2011-02-25 5 views
1

나는 message라는 새로운 MimeMessage라는 객체를 가지고 있는데, 이것이 내 보내는 메일 서버로 전달되는 것을 찾고 싶다. 그러나 나는 자바에서 인쇄 된 것과 같은 변수를 얻는 방법을 모른다. 여기에 몇 가지 코드가 있습니다 :자바에서 변수 값 인쇄하기

private String sendConfirmationEmail (String to, String from, String subject, String body, boolean CCSender) { 
     try 
     { 
    //   String smtpHost = Properties.smtp; 
      String smtpHost = Properties.smtp;  
      String fromAddress = from; 
      String toAddress = to; 

      Properties properties = System.getProperties(); 
      properties.put("mail.smtp.host", smtpHost); 

      Session session = Session.getInstance(properties, null); 

      MimeMessage message = new MimeMessage(session); 

      message.setFrom(new InternetAddress(fromAddress)); 
      message.setRecipient(Message.RecipientType.TO, 
        new InternetAddress(toAddress)); 

      if (CCSender) { 
      message.setRecipient(Message.RecipientType.CC, 
        new InternetAddress(from)); 
      } 
      message.setSubject(subject); 
      message.setText(body); 

      System.out.println(message); <=== I want this to work! 

      message.saveChanges(); 
      Transport.send(message); 
      return "1:success"; 
     } 
     catch(Exception e) 
     { 
      return "0:failure "+e.toString(); 
     } 
    } 

어떤 도움을 주시면 감사하겠습니다.

감사합니다.

답변

0

MimeMessage의 경우 message.writeTo(System.out);으로 전화 할 수 있습니다. 일관성을 위해 message.saveChanges()을 호출 한 후이 작업을 수행하는 것이 좋습니다.

6

이 있다면 당신은, 당신은 오버라이드 (override)의 제어를하는 클래스는 당신이 그것을 통제 할 수없는 경우는, toString() 메소드

, 당신은

String valueOf(Message message) { 
    StringBuilder sb = new StringBuilder(); 
    sb.append(message.someValue()); 
    sb.append(message.someOtherValue()); 
    return sb.toString(); 
} 

및 사용 등의 방법을 작성해야 디버그 메시지 valueOf는

MimeMessage를 들어

, 나는 그것의 콘텐츠에 대한의 toString 구현을 필요에 의존 것

String valueOf(Message message) { 
    return message.getContent().toString(); 
} 
0

기본 인터페이스를 구현하고 래핑 된 클래스 'toString() (또는 기본 인터페이스에있는 다른 방법)이 반환 한 모든 것을 기록/인쇄 할 수 있습니다.