/** * メール内容を出力します。<br> * メールのソースに似たフォーマットで出力されます。 * * @see java.lang.Object#toString() */ public String toString() { StringBuffer buf = new StringBuffer(1000); buf.append("Mail\n"); buf.append("Return-Path: ").append(returnPath).append("\n"); buf.append("From: ").append(from != null ? from.toUnicodeString() : null).append("\n"); buf.append("To: ").append(arrayToCommaDelimitedString(to)).append("\n"); buf.append("Cc: ").append(arrayToCommaDelimitedString(cc)).append("\n"); buf.append("Bcc: ").append(arrayToCommaDelimitedString(bcc)).append("\n"); buf.append("Subject: ").append(subject).append("\n"); if (headers != null) { for (Iterator<String> itr = headers.keySet().iterator(); itr.hasNext(); ) { String header = (String) itr.next(); String value = (String) headers.get(header); buf.append(header).append(": ").append(value).append("\n"); } } buf.append("\n"); buf.append(text); if (htmlText != null) { buf.append("\n\n-----\n\n"); buf.append(htmlText); } return buf.toString(); }
/** * Check whether the address pattern specified in the constructor is a substring of the string * representation of the given Address object. * * <p>Note that if the string representation of the given Address object contains charset or * transfer encodings, the encodings must be accounted for, during the match process. * * <p> * * @param a The comparison is applied to this Address object. * @return true if the match succeeds, otherwise false. */ protected boolean match(Address a) { if (a instanceof InternetAddress) { InternetAddress ia = (InternetAddress) a; // We dont use toString() to get "a"'s String representation, // because InternetAddress.toString() returns a RFC 2047 // encoded string, which isn't what we need here. return super.match(ia.toUnicodeString()); } else return super.match(a.toString()); }