我有一个对象,这是一个新的MimeMessage调用消息,我想知道它传递给我的外发邮件服务器.然而,我不知道如何在Java中获得这样的变量.这是一些代码:
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();
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激.
谢谢.
如果它是您可以控制的类,则覆盖它的toString()方法
如果你无法控制它,你将不得不写一个像这样的方法
String valueOf(Message message) {
StringBuilder sb = new StringBuilder();
sb.append(message.someValue());
sb.append(message.someOtherValue());
return sb.toString();
}
Run Code Online (Sandbox Code Playgroud)
并在调试消息中使用valueOf
对于MimeMessage,我依赖于它的内容具有toString实现
String valueOf(Message message) {
return message.getContent().toString();
}
Run Code Online (Sandbox Code Playgroud)