Class Mail

java.lang.Object
i2p.susi.webmail.Mail
Direct Known Subclasses:
Draft

class Mail extends Object
data structure to hold a single message, mostly used with folder view and sorting
Author:
susi
  • Field Details

    • HEADER_MATCH

      static final byte[] HEADER_MATCH
      Also used by MailPart See MailPart for why we don't do \r\n\r\n
    • sender

      public String sender
    • reply

      public String reply
    • subject

      public String subject
    • dateString

      public String dateString
    • formattedDate

      public String formattedDate
    • localFormattedDate

      public String localFormattedDate
    • shortSender

      public String shortSender
    • shortSubject

      public String shortSubject
    • quotedDate

      public String quotedDate
    • uidl

      public final String uidl
    • date

      public Date date
    • to

      String[] to
      May be null. Non-empty if non-null. Not HTML escaped.
    • cc

      String[] cc
      May be null. Non-empty if non-null. Not HTML escaped.
    • contentType

      public String contentType
    • messageID

      public String messageID
    • error

      public String error
    • markForDeletion

      public boolean markForDeletion
  • Constructor Details

    • Mail

      public Mail(String uidl)
  • Method Details

    • getHeader

      public Buffer getHeader()
      This may or may not contain the body also.
      Returns:
      if null, nothing has been loaded yet for this UIDL
    • setHeader

      public void setHeader(Buffer rb)
    • hasHeader

      public boolean hasHeader()
      Returns:
      if false, nothing has been loaded yet for this UIDL
    • getBody

      public Buffer getBody()
      This contains the header also.
      Returns:
      may be null
    • setBody

      public void setBody(Buffer rb)
    • hasBody

      public boolean hasBody()
    • getPart

      public MailPart getPart()
    • hasPart

      public boolean hasPart()
    • getSize

      public long getSize()
      Returns:
      0 if unknown
    • setSize

      public void setSize(long size)
    • isSpam

      public boolean isSpam()
    • isNew

      public boolean isNew()
    • setNew

      public void setNew(boolean isNew)
    • hasAttachment

      public boolean hasAttachment()
    • validateAddress

      public static boolean validateAddress(String address)
      Parameters:
      address - E-mail address to be validated
      Returns:
      Is the e-mail address valid?
    • getAddress

      public static String getAddress(String address)
      Returns the first email address portion, enclosed by <>
      Parameters:
      address -
    • getRecipientsFromList

      public static boolean getRecipientsFromList(ArrayList<String> recipients, String text, boolean ok)
      A little misnamed. Adds all addresses from the comma-separated line in text to the recipients list.
      Parameters:
      recipients - out param
      text - comma-separated
      ok - will be returned
      Returns:
      true if ALL e-mail addresses are valid AND the in parameter was true
    • getRecipientsFromList

      public static boolean getRecipientsFromList(ArrayList<String> recipients, String[] ccs, boolean ok)
      A little misnamed. Adds all addresses from the elements in text to the recipients list.
      Parameters:
      recipients - out param
      ok - will be returned
      Returns:
      true if ALL e-mail addresses are valid AND the in parameter was true
      Since:
      0.9.35
    • appendRecipients

      public static void appendRecipients(StringBuilder buf, ArrayList<String> recipients, String prefix)
      Adds all items from the list to the builder, separated by tabs. This is for SMTP/POP.
      Parameters:
      buf - out param
      prefix - prepended to the addresses
    • appendRecipients

      public static void appendRecipients(PrintWriter out, String[] recipients, String prefix)
      Adds all items from the array to the builder, separated by commas This is for display of a forwarded email.
      Parameters:
      prefix - prepended to the addresses, includes trailing ": "
      Since:
      0.9.35