我有一个对象,它是一个名为 message 的新 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();
}
}
如有任何帮助,我们将不胜感激。
谢谢。
最佳答案
如果它是您可以控制的类,您可以覆盖它的 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();
}
关于java - 在 Java 中打印变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5122514/