<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet href="versions.xsl" type="text/xsl"?>
<product>
  <name>MailPro-Plugin</name>
  <type>Plugin</type>
  <branch>2</branch>
  <full_version>3.0.5</full_version>
  <versions>
    <version>
      <release>3.0.5</release>
      <build>305</build>
      <released>2015-10-05</released>
      <comment>Small fix for the email address validation</comment>
      <changes>
        <change>
          <type>fix</type>
          <description>top level domains longer than 6 characters are allowed</description>
        </change>
      </changes>
    </version>
    <version>
      <release>3.0.4</release>
      <build>304</build>
      <released>2014-06-06</released>
      <comment>Added addSmtpProperty() and removeSmtpProperty() to SMPTAccount</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>Added addSmtpProperty(propertyName, propertyValue) to SMTPAccount to allow customer SMTP properties to be set</description>
        </change>
        <change>
          <type>enh</type>
          <description>Added removeSmtpProperty(propertyName) to SMPTAccount to remove the given SMTP property</description>
        </change>
      </changes>
    </version>
    <version>
      <release>3.0.3</release>
      <build>303</build>
      <released>2013-03-29</released>
      <comment>Important bug fix</comment>
      <changes>
        <change>
          <type>fix</type>
          <description>under certain circumstances, attachments were added twice</description>
        </change>
      </changes>
    </version>
    <version>
      <release>3.0.2</release>
      <build>302</build>
      <released>2013-03-20</released>
      <comment>Servoy 7 compatibility, memory leaks</comment>
      <changes>
        <change>
          <type>fix</type>
          <description>fixed a problem that would prevent the plugin to load in Servoy 7</description>
        </change>
        <change>
          <type>fix</type>
          <description>fixed a few memory leaks that could occur when running in a headless client</description>
        </change>
      </changes>
    </version>
    <version>
      <release>3.0.1</release>
      <build>301</build>
      <released>2012-04-17</released>
      <comment>Fixed a possible memory leak</comment>
    </version>
    <version>
      <release>3.0.0</release>
      <build>300</build>
      <released>2012-01-23</released>
      <comment>Added possibility to register any number of servlets making it possible to use different servlets with different solutions
Added developmentOverrideAddress property to plugin and server for testing purposes
Added getRawMessage() to MailMessage to get the raw source of a message
Improvements with Attachments, MailMessage, POP3Account
Minor bug fixes</comment>
      <changes>
        <change>
          <type>fix</type>
          <description>Attachment: fixed a possible NullPointer with certain attachments</description>
        </change>
        <change>
          <type>enh</type>
          <description>Servlet: added possibility to return a result (e.g. HTML) from a servlet</description>
        </change>
        <change>
          <type>enh</type>
          <description>Servlet: added support for post requests</description>
        </change>
        <change>
          <type>enh</type>
          <description>added startServerServlet to plugin to start the servlet from a client</description>
        </change>
        <change>
          <type>fix</type>
          <description>fixed a parameter issue with closeAllAccounts()</description>
        </change>
        <change>
          <type>fix</type>
          <description>fixed a bug with createMessageFromMimeMessage when a byte[] was provided</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: improved mime type discovery</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: improved handling of message/rfc822 attachments</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: improved name and content type discovery</description>
        </change>
        <change>
          <type>enh</type>
          <description>The plugin now supports any number of servlets by adding numbered properties to the servoy.properties (e.g. com.drmaison.plugin.mailpro.servletname.1=test)</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added convenience method getCcAddressesString()</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added convenience method getBccAddressesString()</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added support for deleteMessage() for POP3 message directly from the MailMessage object</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a problem with getHeaders() on POP3 if the folder was not open</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a problem with getRecipients() if a message has no TO recipient (e.g. a draft)</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: getUID() for Imap messages no longer returns a String, but a long (Number)</description>
        </change>
        <change>
          <type>enh</type>
          <description>setBackgroundReceiverStatusText() does not necessarily take an i18n key, but also accepts plain Strings</description>
        </change>
        <change>
          <type>enh</type>
          <description>POP3Account: added getMessages(int receiveMode, int[] indices)</description>
        </change>
        <change>
          <type>enh</type>
          <description>Fixed a few problems when using the plugin on the server (e.g. in a batch processor)</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: workaround for "Unable to load BODYSTRUCTURE" issues on IMAP</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a possible error when getting headers of a POP3 message</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added getRawMessage() to get hold of the raw message source without the need to write the message to a file first</description>
        </change>
        <change>
          <type>enh</type>
          <description>Added possibility to override all TO, CC and BCC properties of a message to test; a developmentOverrideAddress has been added to the plugin (for runtime usage) or the server (for "global" usage)</description>
        </change>
        <change>
          <type>dep</type>
          <description>deprecated GmailAccount; create either a ImapAccount or POP3Account instead</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.9.1</release>
      <build>291</build>
      <released>2011-07-07</released>
      <comment>Bug fix with MailMessage.setContent()</comment>
      <changes>
        <change>
          <type>fix</type>
          <description>issue with MailMessage.setContent() that lead to a UnsupportedDataTypeException</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.9.0</release>
      <build>290</build>
      <released>2011-04-19</released>
      <comment>Internal changes, improved SSL support</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>Fixed possible problems when the plugin is used with batch processors</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added createSubfolder() to directly create a subfolder</description>
        </change>
        <change>
          <type>enh</type>
          <description>Improved findAllImagesInHtml</description>
        </change>
        <change>
          <type>enh</type>
          <description>Improved IMAP SSL support</description>
        </change>
        <change>
          <type>enh</type>
          <description>Included latest Java Mail</description>
        </change>
        <change>
          <type>enh</type>
          <description>new MailProException object that can be obtained with getLastError() where available; the object can be used to access stack trace, nested exceptions etc.</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added setContent(String content, String mimeTyp) to allow to set message content with custom mime types</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.8.0</release>
      <build>280</build>
      <released>2010-12-04</released>
      <comment>New Servlet to enable mailing tracking, Servoy 5.2.3 compatibility</comment>
      <changes>
        <change>
          <type>fix</type>
          <description>naming of message attachments failed sometimes</description>
        </change>
        <change>
          <type>fix</type>
          <description>worked around class loading issues in Servoy 5.2.3</description>
        </change>
        <change>
          <type>enh</type>
          <description>added Servlet to allow mailing tracking</description>
        </change>
        <change>
          <type>enh</type>
          <description>added JSServletRequest object to easily process requests sent to Servlet</description>
        </change>
        <change>
          <type>enh</type>
          <description>added browser and OS detection mechanisms to easily process user agent information from JSServletRequests</description>
        </change>
        <change>
          <type>enh</type>
          <description>added ServletUtils to get access to all known browsers, manufacturers and operating systems</description>
        </change>
        <change>
          <type>fix</type>
          <description>fixed NullPointer when subject is empty</description>
        </change>
        <change>
          <type>dep</type>
          <description>SMTPAccount: deprecated useTSL for type reasons; use useTLS instead</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.7.3</release>
      <build>273</build>
      <released>2010-07-13</released>
      <comment>Maintenance release</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>internal changes for Servoy 5.2</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.7.2</release>
      <build>272</build>
      <released>2010-06-20</released>
      <comment>Maintenance release</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>Improved method execution with different Servoy versions</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.7.1</release>
      <build>271</build>
      <released>2010-04-13</released>
      <comment>String encoding is now using UTF-8 as default to avoid MacRoman on Mac OS X</comment>
      <changes>
        <change>
          <type>chg</type>
          <description>encoding of subject, real names in addresses etc. is now using UTF-8 as default to avoid MacRoman on the Mac</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.7.0</release>
      <build>270</build>
      <released>2010-02-12</released>
      <comment>Send messages in background</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>Attachment: attachments with no name now return something more meaningful than null</description>
        </change>
        <change>
          <type>enh</type>
          <description>provided methods do not have to be global anymore</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: enhanced the getMissingUids method by an optional Date since to only return missing UIDs after the given date</description>
        </change>
        <change>
          <type>enh</type>
          <description>SMTPAccount: added a method to allow sending of messages in the background (sendMessageInBackground)</description>
        </change>
        <change>
          <type>enh</type>
          <description>added a SendMailQueue to allow handling of messages sent in the background with counters and getters for unsent, sent and failed messages processed in the background</description>
        </change>
        <change>
          <type>enh</type>
          <description>added an OutgoingMessage object that is used in the SendMailQueue with the following properties: SMTPAccount account, boolean alreadySent, String errorMessage, ImapFolder folderToSaveTo, MailMessage message, Object[] methodArguments, Date sentDate, boolean successfullySent</description>
        </change>
        <change>
          <type>enh</type>
          <description>added method createMessageFromMimeMessage() to create a MailMessage object from a file or byte[] representing a MIME message</description>
        </change>
        <change>
          <type>enh</type>
          <description>NewMailQueue: fixed a parameter error in addToQueue</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a problem where images were nmot embedded if "file" was part of their path (e.g. /mailing_files/myimage.gif)</description>
        </change>
        <change>
          <type>fix</type>
          <description>EmailAddress: fixed a bug when creating EmailAdresses objects using name, address and encoding</description>
        </change>
        <change>
          <type>chg</type>
          <description>EmailAddress: all display names are now encoded using UTF-8 to avoid problems with special characters</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.6.0</release>
      <build>260</build>
      <released>2009-12-13</released>
      <comment>Minor enhancements, improved Servoy 4 and 5 compatibility</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>Attachment: names are now properly decoded if encoded</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: image embedder now also finds backround: url() tags</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.5.1</release>
      <build>251</build>
      <released>2009-10-01</released>
      <comment>Improvements related to receiving and sending text/calendar data</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>MailMessage now handles text/calendar content correctly</description>
        </change>
        <change>
          <type>enh</type>
          <description>SMTPAccount: the text message parameter for sendOutlookMeetingRequest can be omitted</description>
        </change>
        <change>
          <type>enh</type>
          <description>SMTPAccount: improved message composition when using sendOutlookMeetingRequest</description>
        </change>
        <change>
          <type>enh</type>
          <description>SMTPAccount: added auto detection of the METHOD parameter when using sendOutlookMeetingRequest</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.5.0</release>
      <build>250</build>
      <released>2009-02-23</released>
      <comment>Improved Servoy 4 compatibility, enhancements and bug fixes</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>Improved Servoy 4 compatibility</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: added support for file names of message/rfc822 attachments (file name = message subject)</description>
        </change>
        <change>
          <type>fix</type>
          <description>ChangedMailListener called methods sometimes too often</description>
        </change>
        <change>
          <type>enh</type>
          <description>EmailAddress: added support for encoded addresses</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added getChildren() to get all folders directly below the current folder</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added getPOP3Index to retrieve the index of the current message</description>
        </change>
        <change>
          <type>enh</type>
          <description>POP3Account: getMessagesInBackground() now allows to provide the receiveMode as first parameter</description>
        </change>
        <change>
          <type>enh</type>
          <description>SMTPAccount: added connectionTimeout property</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailPro: added convertString(String input, String encoding) to convert a String to a different encoding</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a possible problem with completely empty messages</description>
        </change>
        <change>
          <type>fix</type>
          <description>SMTPAccount: fixed a bug where the port that was set was not used</description>
        </change>
        <change>
          <type>fix</type>
          <description>SMTPAccount: fixed a bug where the connect() method set the wrong password</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.4.1</release>
      <build>241</build>
      <released>2008-07-14</released>
      <comment></comment>
      <changes>
        <change>
          <type>enh</type>
          <description>SMTPAccount: added getLastSavedMessage() to return the message that was copied to an ImapFolder from a send() command or null, if no message was copied</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a possible NullPointer when calling getUid()</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.4.0</release>
      <build>240</build>
      <released>2008-07-02</released>
      <comment></comment>
      <changes>
        <change>
          <type>fix</type>
          <description>fixed a bug in EmailAddress that led to wrong addresses if the personal name contained a comma</description>
        </change>
        <change>
          <type>enh</type>
          <description>enhanced the search method to accept a boolean as third parameter when searching for flags; a search for SEEN=true is now possible as search(4, 'SEEN', true)</description>
        </change>
        <change>
          <type>fix</type>
          <description>fixed a class loading issue in MailMessage that occured in developer with Java 6 in certain cases</description>
        </change>
        <change>
          <type>enh</type>
          <description>an item in the ChangedMessageQueue now contains the ImapAccount on [2], the ImapFolder on [3] and the provided arguments on [4-x]</description>
        </change>
        <change>
          <type>enh</type>
          <description>POP3Account: added useExchangeFix; set this to true if you have problems to connect to an older exchange server</description>
        </change>
        <change>
          <type>enh</type>
          <description>POP3Account: added getMissingIndices() that returns an array of indices of all messages that are not in the provided UID array (String[], because UIDs on a POP3 server are strings)</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.3.2</release>
      <build>232</build>
      <released>2008-04-24</released>
      <comment></comment>
      <changes>
        <change>
          <type>fix</type>
          <description>Fixed a problem with pure html messages, where the content type was set to text/plain if a charset was provided</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.3.1</release>
      <build>231</build>
      <released>2008-03-08</released>
      <comment>OutlookMeetingRequest, embedded images improvements, SSL for IMAP, findImagesInHtml, TextAttachment</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>SMTPAccount: added sendOutlookMeetingRequest</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: improved error handling when creating attachments</description>
        </change>
        <change>
          <type>fix</type>
          <description>ImapFolder: fixed a problem with addMessages() on mail servers that do not return a UID for a new message; in such a case, the resulting MailMessage[] array contains null for an added message</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapAccount: added useSSL property to connect using SSL; the port will be internally set to 993</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a problem with charsets being set on plain text messages without attachments</description>
        </change>
        <change>
          <type>chg</type>
          <description>if embedAllImages = true the plugin will try to isolate all image sources in the HTML message and find an attachment with the image's name; if that is present, the image will be attached inline and the src tag is changed to reference the inline image</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailPro: added findImagesInHtml to isolate all image sources (img or background tag) in html code; returns an array [imageName][imageUrl] that contains one entry for each path name</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailPro: added TextAttachment(String path/String name, [byte[] data], [String mimeType]) as a convenience method to create an attachment with text/plain mimetype (if not otherwise provided)</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.3.0</release>
      <build>230</build>
      <released>2007-11-28</released>
      <comment>ChangedMailListener, enhancements to attachments</comment>
      <changes>
        <change>
          <type>enh</type>
          <description>ImapFolder: added setChangedMailCallbackMethod(Function method, Object[] args) to register a listener that automatically calls a method if a message was changed on the server</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added stopChangedMailListener to stop the changed mail listener</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailPro: added stopAllChangedMailListeners to stop all changed mail listeners at once</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailPro: added ChangedMailQueue() to get the queue for changed messages</description>
        </change>
        <change>
          <type>enh</type>
          <description>improved message fetching so a changedMailListener is not fired when a new message is received</description>
        </change>
        <change>
          <type>chg</type>
          <description>ImapFolder: changed addMessages to return an array of MailMessages (the ones that have been added) instead of a boolean</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: added .contentID to get the Content-ID of an attachment (or null if not set)</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: added .contentType to get the Content-Type of an attachment (or null if not set)</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: added .contentTransferEncoding to get the Content-Transfer-Encoding of an attachment (or null if not set)</description>
        </change>
        <change>
          <type>fix</type>
          <description>ImapFolder: fixed a problem with getMessagesFromUids that did not accept receiveMode 0</description>
        </change>
        <change>
          <type>enh</type>
          <description>MailMessage: added getInReplyTo() to receive the message-ID of the original message that this message replies to or null if not a reply</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added hasNewMailListener() to figure out if a new mail listener is registered for this folder</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added hasChangedMailListener() to figure out if a changed mail listener is registered for this folder</description>
        </change>
        <change>
          <type>fix</type>
          <description>POP3Account: fixed some problems related to opening the Inbox</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed a problem where sometimes the wrong size of a message is returned</description>
        </change>
        <change>
          <type>enh</type>
          <description>added missing tooltips</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.2.6</release>
      <build>226</build>
      <released>2007-10-22</released>
      <comment></comment>
      <changes>
        <change>
          <type>fix</type>
          <description>ImapFolder: fixed a class loading issue with Java 1.6 for addMessages()</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added getDeletedUids(Object[] uidsInDb) to find all UIDs that are no longer available on the server</description>
        </change>
        <change>
          <type>fix</type>
          <description>ImapFolder: fixed some problems with setting the wrong search criteria</description>
        </change>
        <change>
          <type>fix</type>
          <description>ImapFolder: fixed a problem when saving unsent messages to an IMAP server</description>
        </change>
        <change>
          <type>chg</type>
          <description>ImapFolder: getMessages now takes two uids (start and end) instead of two indices</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.2.5</release>
      <build>225</build>
      <released>2007-10-05</released>
      <comment></comment>
      <changes>
        <change>
          <type>fix</type>
          <description>MailMessage: fixed some encoding problems</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added possibility to provide messageUids as array to getMessagesInBackground()</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: added getMissingUids(Object[] currentUids)</description>
        </change>
        <change>
          <type>enh</type>
          <description>Attachment: added decoding of UTF-8 encoded file names</description>
        </change>
        <change>
          <type>fix</type>
          <description>ImapFolder: fixed a problem with deleteMessages when an integer was provided</description>
        </change>
        <change>
          <type>enh</type>
          <description>ImapFolder: deleteMessages now opens the folder if it was not</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.2.4</release>
      <build>224</build>
      <released>2007-08-08</released>
      <comment></comment>
      <changes>
        <change>
          <type>enh</type>
          <description>EmailAddress: added RFC2822 syntax checking when calling validateAddress()</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.2.3</release>
      <build>223</build>
      <released>2007-05-26</released>
      <comment></comment>
      <changes>
        <change>
          <type>enh</type>
          <description>POP3Account: added useSSL property</description>
        </change>
        <change>
          <type>enh</type>
          <description>Added GmailAccount</description>
        </change>
        <change>
          <type>fix</type>
          <description>MailMessage: prevented a NullPointer if a message has no subject</description>
        </change>
        <change>
          <type>fix</type>
          <description>Fixed class loading problems in developer with Java 6</description>
        </change>
      </changes>
    </version>
    <version>
      <release>2.1.0</release>
      <build>210</build>
      <released>2007-03-15</released>
      <comment></comment>
    </version>
    <version>
      <release>2.0.0</release>
      <build>200</build>
      <released>2006-11-03</released>
      <comment></comment>
    </version>
  </versions>
</product>

