⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messageinfo.java

📁 javamail的源包
💻 JAVA
字号:
/* * Copyright 2001-2007 Sun Microsystems, Inc. All Rights Reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *   - Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. * *   - Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in the *     documentation and/or other materials provided with the distribution. * *   - Neither the name of Sun Microsystems nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */package demo;import java.text.*;import java.util.*;import javax.mail.*;import javax.mail.internet.*;/** * Used to store message information. */public class MessageInfo {    private Message message;            /**     * Returns the bcc field.     */    public String getBcc() throws MessagingException {	return formatAddresses(	    message.getRecipients(Message.RecipientType.BCC));    }        /**     * Returns the body of the message (if it's plain text).     */    public String getBody() throws MessagingException, java.io.IOException {	Object content = message.getContent();	if (message.isMimeType("text/plain")) {	    return (String)content;	} else if (message.isMimeType("multipart/alternative")) {	    Multipart mp = (Multipart)message.getContent();	    int numParts = mp.getCount();	    for (int i = 0; i < numParts; ++i) {		if (mp.getBodyPart(i).isMimeType("text/plain"))		    return (String)mp.getBodyPart(i).getContent();	    }	    return "";   	} else if (message.isMimeType("multipart/*")) { 	    Multipart mp = (Multipart)content;	    if (mp.getBodyPart(0).isMimeType("text/plain"))		return (String)mp.getBodyPart(0).getContent();	    else		return "";	} else	    return "";    }        /**     * Returns the cc field.     */    public String getCc() throws MessagingException {	return formatAddresses(	    message.getRecipients(Message.RecipientType.CC));    }        /**     * Returns the date the message was sent (or received if the sent date     * is null.     */    public String getDate() throws MessagingException {	Date date;	SimpleDateFormat df = new SimpleDateFormat("EE M/d/yy");	if ((date = message.getSentDate()) != null)	    return (df.format(date));	else if ((date = message.getReceivedDate()) != null)	    return (df.format(date));	else	    return "";     }           /**     * Returns the from field.     */    public String getFrom() throws MessagingException {	return formatAddresses(message.getFrom());    }    /**     * Returns the address to reply to.     */    public String getReplyTo() throws MessagingException {	Address[] a = message.getReplyTo();	if (a.length > 0)	    return ((InternetAddress)a[0]).getAddress();	else	    return "";    }        /**     * Returns the javax.mail.Message object.     */    public Message getMessage() {	return message;    }        /**     * Returns the message number.     */    public String getNum() {	return (Integer.toString(message.getMessageNumber()));    }        /**     * Returns the received date field.     */    public String getReceivedDate() throws MessagingException {	if (hasReceivedDate())	    return (message.getReceivedDate().toString());	else	    return "";    }        /**     * Returns the sent date field.     */    public String getSentDate() throws MessagingException {	if (hasSentDate())	    return (message.getSentDate().toString()); 	else	    return "";    }        /**     * Returns the subject field.     */    public String getSubject() throws MessagingException {	if (hasSubject())	    return message.getSubject();	else	    return "";    }        /**     * Returns the to field.     */    public String getTo() throws MessagingException {	return formatAddresses(	    message.getRecipients(Message.RecipientType.TO));    }        /**     * Method for checking if the message has attachments.     */    public boolean hasAttachments() throws java.io.IOException, 					   MessagingException {	boolean hasAttachments = false;	if (message.isMimeType("multipart/*")) {	    Multipart mp = (Multipart)message.getContent();	    if (mp.getCount() > 1)		hasAttachments = true;	}	    	return hasAttachments;    }        /**     * Method for checking if the message has a bcc field.     */    public boolean hasBcc() throws MessagingException {	return (message.getRecipients(Message.RecipientType.BCC) != null);    }        /**     * Method for checking if the message has a cc field.     */    public boolean hasCc() throws MessagingException {	return (message.getRecipients(Message.RecipientType.CC) != null);    }        /**     * Method for checking if the message has a date field.     */    public boolean hasDate() throws MessagingException {	return (hasSentDate() || hasReceivedDate());    }        /**     * Method for checking if the message has a from field.     */    public boolean hasFrom() throws MessagingException {	return (message.getFrom() != null);    }        /**     * Method for checking if the message has the desired mime type.     */    public boolean hasMimeType(String mimeType) throws MessagingException {	return message.isMimeType(mimeType);    }        /**     * Method for checking if the message has a received date field.     */    public boolean hasReceivedDate() throws MessagingException {	return (message.getReceivedDate() != null);    }        /**     * Method for checking if the message has a sent date field.     */    public boolean hasSentDate() throws MessagingException {	return (message.getSentDate() != null);    }        /**     * Method for checking if the message has a subject field.     */    public boolean hasSubject() throws MessagingException {	return (message.getSubject() != null);    }        /**     * Method for checking if the message has a to field.     */    public boolean hasTo() throws MessagingException {	return (message.getRecipients(Message.RecipientType.TO) != null);    }        /**     * Method for mapping a message to this MessageInfo class.     */    public void setMessage(Message message) {	this.message = message;    }    /**     * Utility method for formatting msg header addresses.     */    private String formatAddresses(Address[] addrs) {	if (addrs == null)	    return "";	StringBuffer strBuf = new StringBuffer(getDisplayAddress(addrs[0]));	for (int i = 1; i < addrs.length; i++) {	    strBuf.append(", ").append(getDisplayAddress(addrs[i]));	}	return strBuf.toString();    }        /**     * Utility method which returns a string suitable for msg header display.     */    private String getDisplayAddress(Address a) {	String pers = null;	String addr = null;	if (a instanceof InternetAddress &&	   ((pers = ((InternetAddress)a).getPersonal()) != null)) {	    addr = pers + "  "+"&lt;"+((InternetAddress)a).getAddress()+"&gt;";	} else 	    addr = a.toString();	return addr;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -