Package com.pff

Class PSTMessage

  • Direct Known Subclasses:
    PSTActivity, PSTAppointment, PSTContact, PSTDistList, PSTRss, PSTTask

    public class PSTMessage
    extends PSTObject
    PST Message contains functions that are common across most MAPI objects. Note that many of these functions may not be applicable for the item in question, however there seems to be no hard and fast outline for what properties apply to which objects. For properties where no value is set, a blank value is returned (rather than an exception being raised).
    • Field Detail

      • recipientTable

        private PSTTable7C recipientTable
      • attachmentTable

        private PSTTable7C attachmentTable
        attachment stuff here, not sure if these can just exist in emails or not, but a table key of 0x0671 would suggest that this is a property of the envelope rather than a specific email property
    • Method Detail

      • getRTFBody

        public java.lang.String getRTFBody()
                                    throws PSTException,
                                           java.io.IOException
        Throws:
        PSTException
        java.io.IOException
      • getImportance

        public int getImportance()
        get the importance of the email
        Returns:
        IMPORTANCE_NORMAL if unknown
      • getMessageClass

        public java.lang.String getMessageClass()
        get the message class for the email
        Overrides:
        getMessageClass in class PSTObject
        Returns:
        empty string if unknown
      • getSubject

        public java.lang.String getSubject()
        get the subject
        Returns:
        empty string if not found
      • getClientSubmitTime

        public java.util.Date getClientSubmitTime()
        get the client submit time
        Returns:
        null if not found
      • getReceivedByName

        public java.lang.String getReceivedByName()
        get received by name
        Returns:
        empty string if not found
      • getSentRepresentingName

        public java.lang.String getSentRepresentingName()
        get sent representing name
        Returns:
        empty string if not found
      • getSentRepresentingAddressType

        public java.lang.String getSentRepresentingAddressType()
        Sent representing address type Known values are SMTP, EX (Exchange) and UNKNOWN
        Returns:
        empty string if not found
      • getSentRepresentingEmailAddress

        public java.lang.String getSentRepresentingEmailAddress()
        Sent representing email address
        Returns:
        empty string if not found
      • getConversationTopic

        public java.lang.String getConversationTopic()
        Conversation topic This is basically the subject from which Fwd:, Re, etc. has been removed
        Returns:
        empty string if not found
      • getReceivedByAddressType

        public java.lang.String getReceivedByAddressType()
        Received by address type Known values are SMTP, EX (Exchange) and UNKNOWN
        Returns:
        empty string if not found
      • getReceivedByAddress

        public java.lang.String getReceivedByAddress()
        Received by email address
        Returns:
        empty string if not found
      • getTransportMessageHeaders

        public java.lang.String getTransportMessageHeaders()
        Transport message headers ASCII or Unicode string These contain the SMTP e-mail headers.
      • isRead

        public boolean isRead()
      • isUnmodified

        public boolean isUnmodified()
      • isSubmitted

        public boolean isSubmitted()
      • isUnsent

        public boolean isUnsent()
      • hasAttachments

        public boolean hasAttachments()
      • isFromMe

        public boolean isFromMe()
      • isAssociated

        public boolean isAssociated()
      • isResent

        public boolean isResent()
      • getAcknowledgementMode

        public int getAcknowledgementMode()
        Acknowledgment mode Integer 32-bit signed
      • getOriginatorDeliveryReportRequested

        public boolean getOriginatorDeliveryReportRequested()
        Originator delivery report requested set if the sender wants a delivery report from all recipients 0 = false 0 != true
      • getPriority

        public int getPriority()
        Priority Integer 32-bit signed -1 = NonUrgent 0 = Normal 1 = Urgent
      • getReadReceiptRequested

        public boolean getReadReceiptRequested()
        Read Receipt Requested Boolean 0 = false 0 != true
      • getRecipientReassignmentProhibited

        public boolean getRecipientReassignmentProhibited()
        Recipient Reassignment Prohibited Boolean 0 = false 0 != true
      • getOriginalSensitivity

        public int getOriginalSensitivity()
        Original sensitivity Integer 32-bit signed the sensitivity of the message before being replied to or forwarded 0 = None 1 = Personal 2 = Private 3 = Company Confidential
      • getSensitivity

        public int getSensitivity()
        Sensitivity Integer 32-bit signed sender's opinion of the sensitivity of an email 0 = None 1 = Personal 2 = Private 3 = Company Confidential
      • getPidTagSentRepresentingSearchKey

        public byte[] getPidTagSentRepresentingSearchKey()
      • getRcvdRepresentingName

        public java.lang.String getRcvdRepresentingName()
        Received representing name ASCII or Unicode string
      • getOriginalSubject

        public java.lang.String getOriginalSubject()
        Original subject ASCII or Unicode string
      • getReplyRecipientNames

        public java.lang.String getReplyRecipientNames()
        Reply recipients names ASCII or Unicode string
      • getMessageToMe

        public boolean getMessageToMe()
        My address in To field Boolean
      • getMessageCcMe

        public boolean getMessageCcMe()
        My address in CC field Boolean
      • getMessageRecipMe

        public java.lang.String getMessageRecipMe()
        Message addressed to me ASCII or Unicode string
      • getResponseRequested

        public boolean getResponseRequested()
        Response requested Boolean
      • getSentRepresentingAddrtype

        public java.lang.String getSentRepresentingAddrtype()
        Sent representing address type ASCII or Unicode string Known values are SMTP, EX (Exchange) and UNKNOWN
      • getOriginalDisplayBcc

        public java.lang.String getOriginalDisplayBcc()
        Original display BCC ASCII or Unicode string
      • getOriginalDisplayCc

        public java.lang.String getOriginalDisplayCc()
        Original display CC ASCII or Unicode string
      • getOriginalDisplayTo

        public java.lang.String getOriginalDisplayTo()
        Original display TO ASCII or Unicode string
      • getRcvdRepresentingAddrtype

        public java.lang.String getRcvdRepresentingAddrtype()
        Received representing address type. Known values are SMTP, EX (Exchange) and UNKNOWN
      • getRcvdRepresentingEmailAddress

        public java.lang.String getRcvdRepresentingEmailAddress()
        Received representing e-mail address
      • isNonReceiptNotificationRequested

        public boolean isNonReceiptNotificationRequested()
        Non receipt notification requested
      • isOriginatorNonDeliveryReportRequested

        public boolean isOriginatorNonDeliveryReportRequested()
        Originator non delivery report requested
      • getRecipientType

        public int getRecipientType()
        Recipient type Integer 32-bit signed 0x01 => To 0x02 =>CC
      • isReplyRequested

        public boolean isReplyRequested()
        Reply requested
      • getSenderEntryId

        public byte[] getSenderEntryId()
      • getSenderName

        public java.lang.String getSenderName()
        Sender name
      • getSenderAddrtype

        public java.lang.String getSenderAddrtype()
        Sender address type. Known values are SMTP, EX (Exchange) and UNKNOWN
      • getSenderEmailAddress

        public java.lang.String getSenderEmailAddress()
        Sender e-mail address
      • getMessageSize

        public long getMessageSize()
        Message size
      • getInternetArticleNumber

        public int getInternetArticleNumber()
        Internet article number
      • getPrimarySendAccount

        public java.lang.String getPrimarySendAccount()
      • getNextSendAcct

        public java.lang.String getNextSendAcct()
      • getURLCompNamePostfix

        public int getURLCompNamePostfix()
        URL computer name postfix
      • getObjectType

        public int getObjectType()
        Object type
      • getDeleteAfterSubmit

        public boolean getDeleteAfterSubmit()
        Delete after submit
      • getResponsibility

        public boolean getResponsibility()
        Responsibility
      • isRTFInSync

        public boolean isRTFInSync()
        Compressed RTF in Sync Boolean
      • isURLCompNameSet

        public boolean isURLCompNameSet()
        URL computer name set
      • getDisplayBCC

        public java.lang.String getDisplayBCC()
        Display BCC
      • getDisplayCC

        public java.lang.String getDisplayCC()
        Display CC
      • getDisplayTo

        public java.lang.String getDisplayTo()
        Display To
      • getMessageDeliveryTime

        public java.util.Date getMessageDeliveryTime()
        Message delivery time
      • getBody

        public java.lang.String getBody()
        Plain text e-mail body
      • getBodyPrefix

        public java.lang.String getBodyPrefix()
      • getRTFSyncBodyCRC

        public int getRTFSyncBodyCRC()
        RTF Sync Body CRC
      • getRTFSyncBodyCount

        public int getRTFSyncBodyCount()
        RTF Sync Body character count
      • getRTFSyncBodyTag

        public java.lang.String getRTFSyncBodyTag()
        RTF Sync body tag
      • getRTFSyncPrefixCount

        public int getRTFSyncPrefixCount()
        RTF whitespace prefix count
      • getRTFSyncTrailingCount

        public int getRTFSyncTrailingCount()
        RTF whitespace tailing count
      • getBodyHTML

        public java.lang.String getBodyHTML()
        HTML e-mail body
      • getInternetMessageId

        public java.lang.String getInternetMessageId()
        Message ID for this email as allocated per rfc2822
      • getInReplyToId

        public java.lang.String getInReplyToId()
        In-Reply-To
      • getReturnPath

        public java.lang.String getReturnPath()
        Return Path
      • getIconIndex

        public int getIconIndex()
        Icon index
      • getActionFlag

        public int getActionFlag()
        Action flag This relates to the replying / forwarding of messages. It is classified as "unknown" atm, so just provided here in case someone works out what all the various flags mean.
      • hasForwarded

        public boolean hasForwarded()
        is the action flag for this item "forward"?
      • hasReplied

        public boolean hasReplied()
        is the action flag for this item "replied"?
      • getActionDate

        public java.util.Date getActionDate()
        the date that this item had an action performed (eg. replied or forwarded)
      • getDisableFullFidelity

        public boolean getDisableFullFidelity()
        Disable full fidelity
      • getURLCompName

        public java.lang.String getURLCompName()
        URL computer name Contains the .eml file name
      • getAttrHidden

        public boolean getAttrHidden()
        Attribute hidden
      • getAttrSystem

        public boolean getAttrSystem()
        Attribute system
      • getAttrReadonly

        public boolean getAttrReadonly()
        Attribute read only
      • processRecipients

        private void processRecipients()
        find, extract and load up all of the attachments in this email necessary for the other operations.
        Throws:
        PSTException
        java.io.IOException
      • getNumberOfRecipients

        public int getNumberOfRecipients()
                                  throws PSTException,
                                         java.io.IOException
        get the number of recipients for this message
        Throws:
        PSTException
        java.io.IOException
      • processAttachments

        private void processAttachments()
                                 throws PSTException,
                                        java.io.IOException
        find, extract and load up all of the attachments in this email necessary for the other operations.
        Throws:
        PSTException
        java.io.IOException
      • getTaskStartDate

        public java.util.Date getTaskStartDate()
        Start date Filetime
      • getTaskDueDate

        public java.util.Date getTaskDueDate()
        Due date Filetime
      • getReminderSet

        public boolean getReminderSet()
        Is a reminder set on this object?
        Returns:
      • getReminderDelta

        public int getReminderDelta()
      • isFlagged

        public boolean isFlagged()
        "flagged" items are actually emails with a due date. This convience method just checks to see if that is true.
      • getColorCategories

        public java.lang.String[] getColorCategories()
                                              throws PSTException
        get the categories defined for this message
        Throws:
        PSTException
      • getNumberOfAttachments

        public int getNumberOfAttachments()
        get the number of attachments for this message
        Throws:
        PSTException
        java.io.IOException
      • getAttachment

        public PSTAttachment getAttachment​(int attachmentNumber)
                                    throws PSTException,
                                           java.io.IOException
        get a specific attachment from this email.
        Parameters:
        attachmentNumber -
        Returns:
        the attachment at the defined index
        Throws:
        PSTException
        java.io.IOException
      • getRecipient

        public PSTRecipient getRecipient​(int recipientNumber)
                                  throws PSTException,
                                         java.io.IOException
        get a specific recipient from this email.
        Parameters:
        recipientNumber -
        Returns:
        the recipient at the defined index
        Throws:
        PSTException
        java.io.IOException
      • getRecipientsString

        public java.lang.String getRecipientsString()
      • toString

        public java.lang.String toString()
        string representation of this email
        Overrides:
        toString in class PSTObject