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 Details

    • IMPORTANCE_LOW

      public static final int IMPORTANCE_LOW
      See Also:
    • IMPORTANCE_NORMAL

      public static final int IMPORTANCE_NORMAL
      See Also:
    • IMPORTANCE_HIGH

      public static final int IMPORTANCE_HIGH
      See Also:
    • RECIPIENT_TYPE_TO

      public static final int RECIPIENT_TYPE_TO
      See Also:
    • RECIPIENT_TYPE_CC

      public static final int RECIPIENT_TYPE_CC
      See Also:
    • 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
  • Constructor Details

  • Method Details

    • getRTFBody

      public String getRTFBody() throws PSTException, IOException
      Throws:
      PSTException
      IOException
    • getImportance

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

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

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

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

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

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

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

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

      public 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 String getReceivedByAddressType()
      Received by address type Known values are SMTP, EX (Exchange) and UNKNOWN
      Returns:
      empty string if not found
    • getReceivedByAddress

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

      public 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 String getRcvdRepresentingName()
      Received representing name ASCII or Unicode string
    • getOriginalSubject

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

      public 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 String getMessageRecipMe()
      Message addressed to me ASCII or Unicode string
    • getResponseRequested

      public boolean getResponseRequested()
      Response requested Boolean
    • getSentRepresentingAddrtype

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

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

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

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

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

      public 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 String getSenderName()
      Sender name
    • getSenderAddrtype

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

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

      public long getMessageSize()
      Message size
    • getInternetArticleNumber

      public int getInternetArticleNumber()
      Internet article number
    • getPrimarySendAccount

      public String getPrimarySendAccount()
    • getNextSendAcct

      public 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 String getDisplayBCC()
      Display BCC
    • getDisplayCC

      public String getDisplayCC()
      Display CC
    • getDisplayTo

      public String getDisplayTo()
      Display To
    • getMessageDeliveryTime

      public Date getMessageDeliveryTime()
      Message delivery time
    • getBody

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

      public String getBodyPrefix()
    • getRTFSyncBodyCRC

      public int getRTFSyncBodyCRC()
      RTF Sync Body CRC
    • getRTFSyncBodyCount

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

      public String getRTFSyncBodyTag()
      RTF Sync body tag
    • getRTFSyncPrefixCount

      public int getRTFSyncPrefixCount()
      RTF whitespace prefix count
    • getRTFSyncTrailingCount

      public int getRTFSyncTrailingCount()
      RTF whitespace tailing count
    • getBodyHTML

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

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

      public String getInReplyToId()
      In-Reply-To
    • getReturnPath

      public 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 Date getActionDate()
      the date that this item had an action performed (eg. replied or forwarded)
    • getDisableFullFidelity

      public boolean getDisableFullFidelity()
      Disable full fidelity
    • getURLCompName

      public 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
      IOException
    • getNumberOfRecipients

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

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

      public Date getTaskStartDate()
      Start date Filetime
    • getTaskDueDate

      public 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 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
      IOException
    • getAttachment

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

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

      public String getRecipientsString()
    • toString

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