You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ma...@apache.org on 2016/07/26 07:46:40 UTC

[01/17] james-project git commit: JAMES-1804 Index text attribute Append of: from, to, cc, bcc, subjects, body

Repository: james-project
Updated Branches:
  refs/heads/master 1616042be -> 9af58b759


http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/resources/eml/htmlMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/htmlMail.json b/mailbox/store/src/test/resources/eml/htmlMail.json
index aba5590..287f2e9 100644
--- a/mailbox/store/src/test/resources/eml/htmlMail.json
+++ b/mailbox/store/src/test/resources/eml/htmlMail.json
@@ -161,5 +161,6 @@
   "isUnread":false,
   "users": [
     "username"
-  ]
+  ],
+  "text": "Airbnb discover@airbnb.com benoittellier3@gmail.com benoittellier3@gmail.com Regardez les meilleures destinations depuis Paris Meilleures destinations depuis Paris\r\nD�couvrez notre s�lection de destinations populaires.\r\n\r\nLisbonne - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=Lisbonne\r\nAmsterdam - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=Amsterdam\r\nNew York - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=New+York\r\nLondres - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=Londres\r\n\r\nVoir toutes les destinations\r\nhttps://www.airbnb.fr/go/Paris?euid=df1e15a9-8137-607a-5090-2285b5a2b578\r\n\r\nMerci,\r\nL'�quipe Airbnb\r\n\r\nP.O. Box 410807, San Francisco, CA 94121\r\n\r\nD�sinscription\r\nhttps://www.airbnb.com/email/unsubscribe?token=eyJlbWFpbF9hZGRyZXNzIjoiYmVub2l0dGVsbGllcjNA
 Z21haWwuY29tIiwiY2F0ZWdvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhdGUiOiJsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvbnMiLCJ1dWlkIjoiZGYxZTE1YTktODEzNy02MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=&mac=vGS62X2THS-Sb_5rdhsnrnff7tQ=\r\n\r\n### Airbnb ###\r\n <!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;background-color:#f7f7f7;font-size:16px;color:#565a5c;line-height:150%'>\r\n\r\n  <head style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"viewport\" content=\"width=device-width\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helve
 tica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"        _      _           _      \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"       (_)    | |         | |     \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"   __ _ _ _ __| |__  _ __ | |__   \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"  / _` | | '__| '_ \\| '_ \\| '_ \\  \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\" | (_| | | |  | |_) | | | | |_) | \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"  \\__,_|_|_|  |_.__/|_| |_|
 _.__/  \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"                                  \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  \r\n  \r\n</head>\r\n\r\n\r\n  <body bgcolor=\"#EEEEEE\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;-webkit-text-size-adjust:none;-webkit-font-smoothing:antialiased;color:#565a5c;height:100%;background-color:#f7f7f7;font-size:16px;line-height:150%;width:100% !important'>\r\n    <div class=\"preheader\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;visibility:hidden;width:0;opacity:0;height:0;color:transparent;display:none !important'></div>\r\n    <table class=\"body-wrap\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line
 -height:150%;border-spacing:0;background-color:#f7f7f7;width:100%'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n        <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n          <div class=\"content\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display:block;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:0px'>\r\n            <table class=\"head-wrap\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;border-spacing:0;margin-bottom:10px;margin-top:10p
 x;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container header\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"content\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display:block;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:0px'>\r\n        <table style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n          <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial
 , sans-serif'>\r\n            <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-align: center;'>\r\n              <a href=\"https://www.airbnb.fr?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Airbnb\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                <img src=\"http://a0.muscache.com/airbnb/rookery/email/logos/logo2x-954e17b014b90e4ed3a9565864fa4676.png\" border=\"0\" alt=\"Airbnb\" width=\"123\" height=\"55\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n              </a>\r\n            </td>\r\n          </tr>\r\n        </table>\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n            \r\n   
          \r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0;'>\r\n  \r\n  <img src=\"http://a1.muscache.com/airbnb/rookery/email/engagement/email-top-destinations-header-b0fa5f6caa96df90ed926058e4473c50.jpg\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1
 px;border-top-width:0;border: none;'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <h2 class=\"center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;font-weight:bold;padding-bottom:10px;font-size:24px;line-hei
 ght:28px;text-rendering:optimizelegibility;text-align:center'>\r\n      Meilleures destinations depuis Paris\r\n    </h2>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetic
 a Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n      <div class=\"p center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-align:center;'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          D�couvrez notre s�lection de destinations populaires.\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvet
 ica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 row-space-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-bottom:25px;margin-top:25px'>\r\n        \r\n      <div class=\"p center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-align:center;'>\r\n  \r\n        <a href=\"https://www.airbnb.fr/go/Paris?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" class=\"btn btn-primary btn-small\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;verti
 cal-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;border-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-space:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;border-color:#ff5a5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;display:inline-block;padding-left:40px;padding-right:40px'>\r\n          Regarder\r\n        </a>\r\n\r\n</div>\r\n\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n\r\n<table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sa
 ns-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-bottom:31.25px'>\r\n        \r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-ser
 if'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: uppercase; text-align: center'>\r\n      <strong style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        Destinations tendance depuis Paris\r\n      </strong>\r\n    </h5>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r
 \n</table>\r\n\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 container-small\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-top:25px'>\r\n        \r\n\r\n      <div class=\"column padding\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;fl
 oat:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n        <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destinat
 ion=Lisbon&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img src=\"https://a0.muscache.com/ic/discover/178?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"Lisbonne\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0
 ;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica,
  Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        Lisbonne\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table alig
 n=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helveti
 ca Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-
 serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Le fado et le street art\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"lef
 t\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=Lisbon&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helve
 tica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n        <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Ari
 al, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n          <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=Amsterdam&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img src=\"https://a2.muscache.com/ic/discover/8?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"Amsterdam\" style='margin:0;padding:0;font-fam
 ily:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-fami
 ly:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-se
 rif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        Amsterdam\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td sty
 le='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n    
   <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5
  style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Les v�los plus nombreux que les p�niches\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    
     <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=Amsterdam&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody
 >\r\n  </table>\r\n</div>\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 container-small\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-seri
 f;margin-top:25px'>\r\n        \r\n\r\n      <div class=\"column padding\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n        <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-
 color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=New-York&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img src=\"https://a0.muscache.com/ic/discover/83?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"New York\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;
 border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvet
 ica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        New York\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <
 div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin
 :0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetic
 a, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Les lumi�res et la ville qui ne dort jamais\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\
 n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=New-York&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <
 img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n        <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n 
    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n          <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=London&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <
 img src=\"https://a2.muscache.com/ic/discover/40?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"Londres\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helve
 tica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <
 tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        Londres\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-
 family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container
 \" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvet
 ica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Les pubs, l'heure du th�, la famille royale\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;pa
 dding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=London&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </
 td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !importan
 t;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 row-space-8\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-top:25px;margin-bottom:50px'>\r\n        \r\n    <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;' align=\"center\">\r\n  \r\n      <a href=\"https://www.airbnb.fr/go/Paris?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" class=\"btn btn-primary btn-small\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;vertical-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;border-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-space:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;border-color:#ff5a5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;display:inline-block;padding-left:40px;padding-right:40px'>\r\n        V
 oir toutes les destinations\r\n      </a>\r\n\r\n</div>\r\n\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n\r\n          </div>\r\n        </td>\r\n        <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n      </tr>\r\n\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n        <td class=\"container no-max-width\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n          <div class=\"section footer\" style='margin:0;padding:0;font-family:\"Hel
 vetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  \r\n    <div class=\"row-padding-top-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:25px'><div class=\"background-white\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;background-color:#ffffff'>\r\n    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"row-padding-top-5 row-padding-5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;border-spacing:0;padding-bottom:31.25px;padding-top:31.25px'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td align=\"center\" valign=\"top\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n          <table width=\"420px\" style='margin:0;p
 adding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%'>\r\n            <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                <table cellpadding=\"5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width: auto;'>\r\n                  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-left: 5px; padding-right: 20px;' width=\"95px\">\r\n                      <img src=\"http://a1.muscache.com/airbnb/rookery/email/footer/illustration-5715ff5cf4f4d06876
 49ea7183b005f2.jpg\" border=\"0\" alt=\"Airbnb-traveler\" width=\"95\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;margin:0;display:block;'>\r\n                    </td>\r\n\r\n                    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                      <table style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%'>\r\n                        <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                          <td colspan=\"4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                            <h2 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-renderi
 ng:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px'>\r\n                              Vivez le monde comme un local.\r\n                            </h2>\r\n                          </td>\r\n                        </tr>\r\n                        <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                            <img src=\"http://a1.muscache.com/airbnb/rookery/email/footer/globe-70cdd2ed2615a13754d1cf2b50940b60.jpg\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n                          </td>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-left: 5px; text-align: left;
 '>\r\n                            <h4 class=\"accent-babu\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;font-size:16px;text-rendering:optimizelegibility;font-weight:bold;color:#00d1c1'>190</h4> <h6 class=\"row-space-top-neg text-muted\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-transform:uppercase;font-size:12px;font-weight:normal;text-rendering:optimizelegibility;margin-top:-5px;color:#9ca299;font-weight: normal; text-transform: uppercase;'>pays</h6>\r\n                          </td>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                            <img src=\"http://a1.muscache.com/airbnb/rookery/email/footer/door-72de99e798d99b4321f1e88444216d6f.jpg\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-wid
 th:100%'>\r\n                          </td>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-left: 5px; text-align: left;'>\r\n                            <h4 class=\"accent-babu\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;font-size:16px;text-rendering:optimizelegibility;font-weight:bold;color:#00d1c1'>1,000,000</h4> <h6 class=\"row-space-top-neg text-muted\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-transform:uppercase;font-size:12px;font-weight:normal;text-rendering:optimizelegibility;margin-top:-5px;color:#9ca299;font-weight: normal; text-transform: uppercase;'>de logements</h6>\r\n                          </td>\r\n                        </tr>\r\n                      </table>\r\n                    </td>\r\n                  </tr>\r\n                </table>\r\
 n              </td>\r\n            </tr>\r\n          </table>\r\n        </td>\r\n      </tr>\r\n    </table>\r\n</div></div>\r\n\r\n<h5 class=\"center row-padding-top-4 row-padding-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-transform:uppercase;color:#9ca299;font-weight:normal;font-size:14px;text-rendering:optimizelegibility;padding-top:25px;padding-bottom:25px;text-align:center;text-transform:none;'>\r\n  Vous voyagez pour la premi�re fois ? <a href=\"https://www.airbnb.fr/help/getting-started/how-it-works?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>Retrouvez nos conseils pour d�couvrir comment r�server le logement id�al</a>.\r\n</h5>\r\n<hr class=\"row-space-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border:non
 e;height:1px;background-color:#dbdbdb;margin-bottom:25px;margin-left: 20px; margin-right: 20px;'>\r\n\r\n\r\n  <div class=\"content center text-center\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:600px;padding:15px;margin:0 auto;display:block;padding-bottom:5px;padding-top:0px;color:#9ca299;font-size:14px;text-align:center;text-shadow:0 1px #ffffff;padding-left:5px;padding-right:5px'>\r\n    <table cellpadding=\"10\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%;padding: 10px;'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td align=\"center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n          <table cellpadding=\"5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\"
 , Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%;width: auto;'>\r\n            <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://www.facebook.com/airbnb?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Facebook\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Facebook\" height=\"42\" src=\"http://a0.muscache.com/airbnb/rookery/email/footer/facebook-3c1b46bf609e7b12c2b8b9576911e11a.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n\r\n              <td style='margin:0;padding:0;
 font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://twitter.com/airbnb?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Twitter\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Twitter\" height=\"42\" src=\"http://a0.muscache.com/airbnb/rookery/email/footer/twitter-380e6f33075cc0e9c18231507ae93684.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://plus.google.com/+airbnb?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Google+\" style='margin:0;padding:0;font-family:\"Helvetica Neue
 \", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Google+\" height=\"42\" src=\"http://a1.muscache.com/airbnb/rookery/email/footer/gplus-ecd915cbce9c4696bd2cbfaf05631547.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://www.pinterest.com/airbnb/?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Pinterest\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Pinterest\" height=\"42\" src=\"http://a1.muscache.com/airbnb/rookery/email/footer/pinterest-3d350b44ba720d4d254d59b9014d3838.png\" width=\"42\" 
 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n            </tr>\r\n          </table>\r\n        </td>\r\n      </tr>\r\n    </table>\r\n\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"content\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-ser
 if;padding:15px;max-width:600px;margin:0 auto;display:block;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:0px;color:#9ca299;font-size:14px;text-align:center;text-shadow:0 1px #ffffff'>\r\n        \r\n        Envoy� avec <img alt=\"&amp;#9829;\" height=\"10\" src=\"http://a1.muscache.com/airbnb/rookery/email/footer/heart-eeaa9b6467981f6b84031fc9570ed630.png\" width=\"12\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'> depuis le si�ge d'Airbnb<br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        P.O. Box 410807, San Francisco, CA 94121 <br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <a class=\"muted\" href=\"https://www.airbnb.com/email/unsubscribe?token=eyJlbWFpbF9hZGRyZXNzIjoiYmVub2l0dGVsbGllcjNAZ21haWwuY29tIiwiY2F0ZWdvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhdGUiOi
 Jsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvbnMiLCJ1dWlkIjoiZGYxZTE1YTktODEzNy02MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=&amp;mac=vGS62X2THS-Sb_5rdhsnrnff7tQ=\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#9ca299;text-decoration:underline'>\r\n  D�sinscription\r\n</a>\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n  </div>\r\n\r\n  <div class=\"timestamp\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#EEEEEE;font-size:1px;height:1px;line-height:1px'>2015-06-04 07:36:07 +0000</div>\r\n</div>\r\n<br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'><br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n\r\n        </td>\r\n        <td st
 yle='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n      </tr>\r\n    </table>\r\n\r\n    <span class=\"ghost\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;opacity:0 !important;font-size:1px !important;color:#EEEEEE !important'>### Airbnb ###</span>\r\n  </body>\r\n  <img class=\"tracking\" src=\"https://www.airbnb.com/tracking/pixel/email_opened/1433403367?rookery_uuid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n\r\n</html>\r\n"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/resources/eml/mail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail.json b/mailbox/store/src/test/resources/eml/mail.json
index 10aca69..bb9a5e5 100644
--- a/mailbox/store/src/test/resources/eml/mail.json
+++ b/mailbox/store/src/test/resources/eml/mail.json
@@ -165,5 +165,6 @@
  "isUnread": false,
   "users": [
     "user1", "user2"
-  ]
+  ],
+ "text": "Murari murari.ksr@gmail.com General Discussion about Arch Linux arch-general@archlinux.org [arch-general] Inkscape fails to open svg files Hi all,\n\nAn update between the 17th of May and the 1st of June seems to have broken\nInkscape's ability to open existing svg files on my computer. Any svg I\nopen (including stock files off the internet) cause Inkscape to crash with\n\"Inkscape encountered an internal error and will close now\". I even created\na new, test svg consisting only of a few shapes and text, but I can't open\nit again after saving. Has anyone else seen anything like this?\n\nThanks!\n"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/resources/eml/nonTextual.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/nonTextual.json b/mailbox/store/src/test/resources/eml/nonTextual.json
index dfb8689..903ef44 100644
--- a/mailbox/store/src/test/resources/eml/nonTextual.json
+++ b/mailbox/store/src/test/resources/eml/nonTextual.json
@@ -156,5 +156,6 @@
   "isUnread":true,
   "users": [
     "username"
-  ]
+  ],
+  "text": "Benoit Tellier btellier@linagora.com btellier@linagora.com btellier@linagora.com Test message This mail have a non textual attachment !\r\n\n"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/resources/eml/pgpSignedMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/pgpSignedMail.json b/mailbox/store/src/test/resources/eml/pgpSignedMail.json
index a7c31c5..1d19605 100644
--- a/mailbox/store/src/test/resources/eml/pgpSignedMail.json
+++ b/mailbox/store/src/test/resources/eml/pgpSignedMail.json
@@ -172,5 +172,6 @@
   "isUnread": false,
   "users": [
     "username"
-  ]
+  ],
+  "text": "Markus Koschany apo@gambaru.de debian-security-announce@lists.debian.org debian-security-announce@lists.debian.org [SECURITY] [DSA 3278-1] libapache-mod-jk security update -----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\n- -------------------------------------------------------------------------\nDebian Security Advisory DSA-3278-1                   security@debian.org\nhttp://www.debian.org/security/                           Markus Koschany\nJune 03, 2015                          http://www.debian.org/security/faq\n- -------------------------------------------------------------------------\n\nPackage        : libapache-mod-jk\nCVE ID         : CVE-2014-8111\nDebian Bug     : 783233\n\nAn information disclosure flaw due to incorrect JkMount/JkUnmount\ndirectives processing was found in the Apache 2 module mod_jk to forward\nrequests from the Apache web server to Tomcat. A JkUnmount rule for a\nsubtree of a previous JkMount rule could be ignored. This could allow a\nre
 mote attacker to potentially access a private artifact in a tree that\nwould otherwise not be accessible to them.\n\nFor the oldstable distribution (wheezy), this problem has been fixed\nin version 1:1.2.37-1+deb7u1.\n\nFor the stable distribution (jessie), this problem has been fixed in\nversion 1:1.2.37-4+deb8u1.\n\nFor the testing distribution (stretch), this problem has been fixed\nin version 1:1.2.40+svn150520-1.\n\nFor the unstable distribution (sid), this problem has been fixed in\nversion 1:1.2.40+svn150520-1.\n\nWe recommend that you upgrade your libapache-mod-jk packages.\n\nFurther information about Debian Security Advisories, how to apply\nthese updates to your system and frequently asked questions can be\nfound at: https://www.debian.org/security/\n\nMailing list: debian-security-announce@lists.debian.org\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1\n\niQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y\nYHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh
 5QToOvvMeFHqXLS2\n4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v\nykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp\nXeZvCHV5dHYJLfCOn3bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c\nO3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+\nSpfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG\nli9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv\nLBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9\n4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g\ncCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0\nXVZyRUFDwW4cMiJnJ49U\n=M39D\n-----END PGP SIGNATURE-----\n\n\n--\nTo UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org\nwith a subject of \"unsubscribe\". Trouble? Contact listmaster@lists.debian.org\nArchive: https://lists.debian.org/E1Z0E7U-0004Bc-Jv@master.debian.org"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/resources/eml/recursiveMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/recursiveMail.json b/mailbox/store/src/test/resources/eml/recursiveMail.json
index ff3f7dd..03da494 100644
--- a/mailbox/store/src/test/resources/eml/recursiveMail.json
+++ b/mailbox/store/src/test/resources/eml/recursiveMail.json
@@ -222,5 +222,6 @@
   "isUnread": false,
   "users": [
     "username"
-  ]
+  ],
+  "text": "Matthieu Baechler mbaechler@linagora.com btellier@linagora.com btellier@linagora.com Fwd: Courbe Sprint Forward as attachment !\n\n\n"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/resources/eml/spamMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/spamMail.json b/mailbox/store/src/test/resources/eml/spamMail.json
index 5bbf44e..679e309 100644
--- a/mailbox/store/src/test/resources/eml/spamMail.json
+++ b/mailbox/store/src/test/resources/eml/spamMail.json
@@ -200,5 +200,6 @@
   "isUnread": true,
   "users": [
     "username"
-  ]
+  ],
+  "text": "Content-filter at spam.minet.net postmaster@minet.net root@listes.minet.net root@listes.minet.net [root] UNCHECKED contents in mail FROM <qu...@riseup.net> No viruses were found.\n\nContent type: Unchecked\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\n\nAccording to a 'Received:' trace, the message apparently originated at:\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\n  quentin.h\n\nReturn-Path: <qu...@riseup.net>\nFrom: Quentin <qu...@riseup.net>\nMessage-ID: <55...@riseup.net>\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\nNot quarantined.\n\nThe message WILL BE relayed to:\n<ya...@minet.net>\n\n"
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[16/17] james-project git commit: JAMES-1804 Add logback in MPT tests with DEBUG level on James

Posted by ma...@apache.org.
JAMES-1804 Add logback in MPT tests with DEBUG level on James


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4d50f3c7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4d50f3c7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4d50f3c7

Branch: refs/heads/master
Commit: 4d50f3c73418abca1bb78192f824dc39ca06c647
Parents: c321b93
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 20 14:51:02 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:05 2016 +0200

----------------------------------------------------------------------
 mpt/impl/imap-mailbox/core/pom.xml              |  8 +++----
 .../core/src/main/resources/logback.xml         | 22 ++++++++++++++++++++
 mpt/pom.xml                                     |  6 ++++++
 3 files changed, 32 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/4d50f3c7/mpt/impl/imap-mailbox/core/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/pom.xml b/mpt/impl/imap-mailbox/core/pom.xml
index 3d4c58a..e6a728f 100644
--- a/mpt/impl/imap-mailbox/core/pom.xml
+++ b/mpt/impl/imap-mailbox/core/pom.xml
@@ -61,6 +61,10 @@
             <artifactId>org.apache.onami.test</artifactId>
         </dependency>
         <dependency>
+            <groupId>ch.qos.logback</groupId>
+            <artifactId>logback-classic</artifactId>
+        </dependency>
+        <dependency>
             <groupId>com.google.inject</groupId>
             <artifactId>guice</artifactId>
         </dependency>
@@ -98,10 +102,6 @@
             <groupId>org.jmock</groupId>
             <artifactId>jmock-junit4</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.slf4j</groupId>
-            <artifactId>slf4j-simple</artifactId>
-        </dependency>
     </dependencies>
 </project>
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/4d50f3c7/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml b/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
new file mode 100644
index 0000000..85ee3d4
--- /dev/null
+++ b/mpt/impl/imap-mailbox/core/src/main/resources/logback.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+
+        <contextListener class="ch.qos.logback.classic.jul.LevelChangePropagator">
+                <resetJUL>true</resetJUL>
+        </contextListener>
+
+        <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
+                <encoder>
+                        <pattern>%d{HH:mm:ss.SSS} [%-5level] %logger{15} - %msg%n%rEx</pattern>
+                        <immediateFlush>false</immediateFlush>
+                </encoder>
+        </appender>
+
+        <root level="WARN">
+                <appender-ref ref="CONSOLE" />
+        </root>
+
+        <logger name="org.apache.james" level="DEBUG"/>
+
+
+</configuration>

http://git-wip-us.apache.org/repos/asf/james-project/blob/4d50f3c7/mpt/pom.xml
----------------------------------------------------------------------
diff --git a/mpt/pom.xml b/mpt/pom.xml
index 8919f4f..48ac44d 100644
--- a/mpt/pom.xml
+++ b/mpt/pom.xml
@@ -112,6 +112,7 @@
         <javax.mail.artifactId>mail</javax.mail.artifactId>
         <backends.version>1.8.3-SNAPSHOT</backends.version>
         <james.version>3.0.0-beta5-SNAPSHOT</james.version>
+        <logback.version>1.1.7</logback.version>
     </properties>
 
 
@@ -295,6 +296,11 @@
                 <scope>test</scope>
             </dependency>
             <dependency>
+                <groupId>ch.qos.logback</groupId>
+                <artifactId>logback-classic</artifactId>
+                <version>${logback.version}</version>
+            </dependency>
+            <dependency>
                 <groupId>com.fasterxml.jackson.datatype</groupId>
                 <artifactId>jackson-datatype-jsr310</artifactId>
                 <version>2.6.3</version>


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[04/17] james-project git commit: JAMES-1804 Introduce type for Set (Subjects)

Posted by ma...@apache.org.
JAMES-1804 Introduce type for Set<String> (Subjects)


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/62f6ad9d
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/62f6ad9d
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/62f6ad9d

Branch: refs/heads/master
Commit: 62f6ad9dd91cfe8c788b972c7e34f475d411a639
Parents: 4295a7f
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jul 19 16:48:13 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:04 2016 +0200

----------------------------------------------------------------------
 .../elasticsearch/json/IndexableMessage.java    |  7 +--
 .../mailbox/elasticsearch/json/Subjects.java    | 50 +++++++++++++++
 .../elasticsearch/json/SubjectsTest.java        | 66 ++++++++++++++++++++
 3 files changed, 119 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/62f6ad9d/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
index d36b1ec..ec58c3c 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
@@ -25,7 +25,6 @@ import java.time.ZoneId;
 import java.time.ZonedDateTime;
 import java.util.List;
 import java.util.Optional;
-import java.util.Set;
 import java.util.stream.Collectors;
 
 import org.apache.james.mailbox.MailboxSession.User;
@@ -67,7 +66,7 @@ public class IndexableMessage {
 
     private void copyHeaderFields(HeaderCollection headerCollection, ZonedDateTime internalDate) {
         this.headers = headerCollection.getHeaders();
-        this.subjects = headerCollection.getSubjectSet();
+        this.subjects = Subjects.from(headerCollection.getSubjectSet());
         this.from = EMailers.from(headerCollection.getFromAddressSet());
         this.to = EMailers.from(headerCollection.getToAddressSet());
         this.replyTo = EMailers.from(headerCollection.getReplyToAddressSet());
@@ -124,7 +123,7 @@ public class IndexableMessage {
     private EMailers cc;
     private EMailers bcc;
     private EMailers replyTo;
-    private Set<String> subjects;
+    private Subjects subjects;
     private String sentDate;
     private List<Property> properties;
     private List<MimePart> attachments;
@@ -211,7 +210,7 @@ public class IndexableMessage {
     }
 
     @JsonProperty(JsonMessageConstants.SUBJECT)
-    public Set<String> getSubjects() {
+    public Subjects getSubjects() {
         return subjects;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/62f6ad9d/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Subjects.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Subjects.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Subjects.java
new file mode 100644
index 0000000..214d312
--- /dev/null
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Subjects.java
@@ -0,0 +1,50 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailbox.elasticsearch.json;
+
+import java.util.Set;
+
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.google.common.base.Joiner;
+import com.google.common.base.Preconditions;
+
+public class Subjects implements Serializable {
+
+    public static Subjects from(Set<String> subjects) {
+        Preconditions.checkNotNull(subjects, "'subjects' is mandatory");
+        return new Subjects(subjects);
+    }
+
+    private final Set<String> subjects;
+
+    private Subjects(Set<String> subjects) {
+        this.subjects = subjects;
+    }
+
+    @JsonValue
+    public Set<String> getSubjects() {
+        return subjects;
+    }
+
+    @Override
+    public String serialize() {
+        return Joiner.on(" ").join(subjects);
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/62f6ad9d/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/SubjectsTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/SubjectsTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/SubjectsTest.java
new file mode 100644
index 0000000..a4398d1
--- /dev/null
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/SubjectsTest.java
@@ -0,0 +1,66 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailbox.elasticsearch.json;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import org.junit.Test;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableSet;
+
+public class SubjectsTest {
+
+    @Test
+    public void fromShouldThrowWhenSetIsNull() {
+        assertThatThrownBy(() -> Subjects.from(null))
+            .isInstanceOf(NullPointerException.class)
+            .hasMessage("'subjects' is mandatory");
+    }
+
+    @Test
+    public void serializeShouldReturnEmptyWhenEmptySet() {
+        Subjects subjects = Subjects.from(ImmutableSet.of());
+
+        assertThat(subjects.serialize()).isEmpty();
+    }
+
+    @Test
+    public void serializeShouldNotJoinWhenOneElement() {
+        String expected = "subject";
+        Subjects subjects = Subjects.from(ImmutableSet.of(expected));
+
+        assertThat(subjects.serialize()).isEqualTo(expected);
+    }
+
+    @Test
+    public void serializeShouldJoinWhenMultipleElements() {
+        String subject = "subject";
+        String subject2 = "subject2";
+        String subject3 = "subject3";
+
+        String expected = Joiner.on(" ").join(subject, subject2, subject3);
+
+        Subjects subjects = Subjects.from(ImmutableSet.of(subject, subject2, subject3));
+
+        assertThat(subjects.serialize()).isEqualTo(expected);
+    }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[17/17] james-project git commit: JAMES-1804 Add log when indexing

Posted by ma...@apache.org.
JAMES-1804 Add log when indexing


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/cacb1469
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/cacb1469
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/cacb1469

Branch: refs/heads/master
Commit: cacb14690f74ec1e83a37c8a5113aa1e36fd3860
Parents: 4d50f3c
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 20 14:51:24 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:05 2016 +0200

----------------------------------------------------------------------
 .../apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/cacb1469/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
index 85c46bc..523fa22 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/ElasticSearchIndexer.java
@@ -28,6 +28,8 @@ import org.elasticsearch.action.index.IndexResponse;
 import org.elasticsearch.client.Client;
 import org.elasticsearch.common.Strings;
 import org.elasticsearch.index.query.QueryBuilder;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Preconditions;
 
@@ -53,6 +55,7 @@ public class ElasticSearchIndexer {
         }
     }
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(ElasticSearchIndexer.class);
     public static final String MAILBOX_INDEX = "mailbox";
     public static final String MESSAGE_TYPE = "message";
     
@@ -67,6 +70,7 @@ public class ElasticSearchIndexer {
     
     public IndexResponse indexMessage(String id, String content) {
         checkArgument(content);
+        LOGGER.debug(String.format("Indexing %s: %s", id, content));
         return client.prepareIndex(MAILBOX_INDEX, MESSAGE_TYPE, id)
             .setSource(content)
             .get();


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[07/17] james-project git commit: JAMES-1804 Index htmlBody attribute

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/resources/eml/recursiveMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/recursiveMail.json b/mailbox/store/src/test/resources/eml/recursiveMail.json
index 03da494..2aa8208 100644
--- a/mailbox/store/src/test/resources/eml/recursiveMail.json
+++ b/mailbox/store/src/test/resources/eml/recursiveMail.json
@@ -213,6 +213,7 @@
     }
   ],
   "textBody": "Forward as attachment !\n\n\n",
+  "htmlBody": null,
   "isDraft": false,
   "isFlagged": true,
   "isRecent": false,

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/resources/eml/spamMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/spamMail.json b/mailbox/store/src/test/resources/eml/spamMail.json
index 679e309..dfa60a4 100644
--- a/mailbox/store/src/test/resources/eml/spamMail.json
+++ b/mailbox/store/src/test/resources/eml/spamMail.json
@@ -191,6 +191,7 @@
 	}
   ],
   "textBody": "No viruses were found.\n\nContent type: Unchecked\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\n\nAccording to a 'Received:' trace, the message apparently originated at:\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\n  quentin.h\n\nReturn-Path: <qu...@riseup.net>\nFrom: Quentin <qu...@riseup.net>\nMessage-ID: <55...@riseup.net>\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\nNot quarantined.\n\nThe message WILL BE relayed to:\n<ya...@minet.net>\n\n",
+  "htmlBody": null,
   "isAnswered": false,
   "isDeleted": false,
   "isDraft": false,

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/UidSearchAtomsIndexer.test
----------------------------------------------------------------------
diff --git a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/UidSearchAtomsIndexer.test b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/UidSearchAtomsIndexer.test
index 320cbe9..9c5fc26 100644
--- a/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/UidSearchAtomsIndexer.test
+++ b/mpt/impl/imap-mailbox/core/src/main/resources/org/apache/james/imap/scripts/UidSearchAtomsIndexer.test
@@ -1947,6 +1947,78 @@ S: \* 19 EXISTS
 S: \* 19 RECENT
 S: A82 OK (\[.+\] )?APPEND completed\.
 
+C: A801 APPEND testmailbox {900+}
+C: From: Timothy Tayler <ti...@example.org>
+C: To: Samual Smith <sa...@example.org>
+C: Date: Wed, 20 Jul 2016 15:30:00 +0000 (GMT)
+C: Message-ID: <dd...@linagora.com>
+C: Subject: html
+C: MIME-Version: 1.0
+C: Content-Type: multipart/alternative;
+C:  boundary="------------E8CB67F44E1EBC80F62E6ACF"
+C: 
+C: This is a multi-part message in MIME format.
+C: --------------E8CB67F44E1EBC80F62E6ACF
+C: Content-Type: text/plain; charset=utf-8; format=flowed
+C: Content-Transfer-Encoding: 7bit
+C: 
+C: Text
+C: 
+C: --------------E8CB67F44E1EBC80F62E6ACF
+C: Content-Type: text/html; charset=utf-8
+C: Content-Transfer-Encoding: 7bit
+C: 
+C: <html>
+C:   <head>
+C: 
+C:     <meta http-equiv="content-type" content="text/html; charset=utf-8">
+C:   </head>
+C:   <body bgcolor="#FFFFFF" text="#000000">
+C:     This is a <i>html</i> <b>mail</b>, with a <i><b>banana</b></i>.<br>
+C:   </body>
+C: </html>
+C: 
+C: --------------E8CB67F44E1EBC80F62E6ACF--
+S: \* 20 EXISTS
+S: \* 20 RECENT
+S: A801 OK (\[.+\] )?APPEND completed\.
+
+C: A802 APPEND testmailbox {886+}
+C: From: Timothy Tayler <ti...@example.org>
+C: To: Samual Smith <sa...@example.org>
+C: Date: Wed, 20 Jul 2016 15:30:00 +0000 (GMT)
+C: Message-ID: <dd...@linagora.com>
+C: Subject: html
+C: MIME-Version: 1.0
+C: Content-Type: multipart/alternative;
+C:  boundary="------------E8CB67F44E1EBC80F62E6ACF"
+C: 
+C: This is a multi-part message in MIME format.
+C: --------------E8CB67F44E1EBC80F62E6ACF
+C: Content-Type: text/plain; charset=utf-8; format=flowed
+C: Content-Transfer-Encoding: 7bit
+C: 
+C: Text
+C: 
+C: --------------E8CB67F44E1EBC80F62E6ACF
+C: Content-Type: text/html; charset=utf-8
+C: Content-Transfer-Encoding: 7bit
+C: 
+C: <html>
+C:   <head>
+C: 
+C:     <meta http-equiv="content-type" content="text/html; charset=utf-8">
+C:   </head>
+C:   <body bgcolor="#FFFFFF" text="#000000">
+C:     This is a <i>html</i> <b>mail</b>, with a banana.<br>
+C:   </body>
+C: </html>
+C: 
+C: --------------E8CB67F44E1EBC80F62E6ACF--
+S: \* 21 EXISTS
+S: \* 21 RECENT
+S: A802 OK (\[.+\] )?APPEND completed\.
+
 C: A83 STORE 1:9  +FLAGS (\FLAGGED)
 S: \* 1 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
 S: \* 2 FETCH \(FLAGS \(\\Flagged \\Recent\)\)
@@ -2046,7 +2118,7 @@ WAIT 5000
 LOG INFO Performing tests about search
 
 C: A100 UID SEARCH ALL
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 S: A100 OK SEARCH completed\.
 
 C: A101 UID SEARCH ANSWERED
@@ -2090,11 +2162,11 @@ S: \* SEARCH 22 30 31 32 37 38 39
 S: A109 OK SEARCH completed\.
 
 C: A110 UID SEARCH LARGER 10
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 S: A110 OK SEARCH completed\.
 
 C: A111 UID SEARCH LARGER 100
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 S: A111 OK SEARCH completed\.
 
 C: A112 UID SEARCH LARGER 1000
@@ -2118,7 +2190,7 @@ S: \* SEARCH
 S: A116 OK SEARCH completed\.
 
 C: A117 UID SEARCH NOT FLAGGED
-S: \* SEARCH 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 30 31 32 33 34 35 36 37 38 39 40 41
 S: A117 OK SEARCH completed\.
 
 C: A118 UID SEARCH 3:5
@@ -2126,7 +2198,7 @@ S: \* SEARCH 23 24 25
 S: A118 OK SEARCH completed\.
 
 C: A119 UID SEARCH *:10
-S: \* SEARCH 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 30 31 32 33 34 35 36 37 38 39 40 41
 S: A119 OK SEARCH completed\.
 
 C: A120 UID SEARCH OR ANSWERED FLAGGED
@@ -2142,23 +2214,23 @@ S: \* SEARCH
 S: A122 OK SEARCH completed\.
 
 C: A123 UID SEARCH SMALLER 1000
-S: \* SEARCH 21 22 23 24 26 27 28 29 33 34 35 36
+S: \* SEARCH 21 22 23 24 26 27 28 29 33 34 35 36 40 41
 S: A123 OK SEARCH completed\.
 
 C: A124 UID SEARCH SMALLER 10000
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 31 32 33 34 35 36 40 41
 S: A124 OK SEARCH completed\.
 
 C: A125 UID SEARCH SMALLER 12500
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 40 41
 S: A125 OK SEARCH completed\.
 
 C: A126 UID SEARCH SMALLER 15000
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 S: A126 OK SEARCH completed\.
 
 C: A127 UID SEARCH SMALLER 20000
-S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 S: A127 OK SEARCH completed\.
 
 C: A128 UID SEARCH SUBJECT the
@@ -2182,21 +2254,25 @@ S: \* SEARCH 21 22 23
 S: A131 OK SEARCH completed\.
 
 C: A132 UID SEARCH UNANSWERED
-S: \* SEARCH 25 26 27 28 29 35 36 37 38 39
+S: \* SEARCH 25 26 27 28 29 35 36 37 38 39 40 41
 S: A132 OK SEARCH completed\.
 
 C: A133 UID SEARCH UNDELETED
-S: \* SEARCH 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
 S: A133 OK SEARCH completed\.
 
 C: A134 UID SEARCH UNDRAFT
-S: \* SEARCH 22 24 26 28 30 32 34 36 38 39
+S: \* SEARCH 22 24 26 28 30 32 34 36 38 39 40 41
 S: A134 OK SEARCH completed\.
 
 C: A135 UID SEARCH UNFLAGGED
-S: \* SEARCH 30 31 32 33 34 35 36 37 38 39
+S: \* SEARCH 30 31 32 33 34 35 36 37 38 39 40 41
 S: A135 OK SEARCH completed\.
 
+C: A136 UID SEARCH BODY "banana"
+S: \* SEARCH 40 41
+S: A136 OK SEARCH completed\.
+
 # C: A146 UID SEARCH RECENT
 # S: \* SEARCH 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
 # S: A146 OK SEARCH completed\.
@@ -2246,4 +2322,4 @@ LOG INFO Performing tests about search
 
 C: A203 UID SEARCH FROM "Timothy"
 S: \* SEARCH 1
-S: A203 OK SEARCH completed\.
\ No newline at end of file
+S: A203 OK SEARCH completed\.


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[02/17] james-project git commit: JAMES-1804 Index text attribute Append of: from, to, cc, bcc, subjects, body

Posted by ma...@apache.org.
JAMES-1804 Index text attribute
Append of: from, to, cc, bcc, subjects, body


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/c321b93c
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/c321b93c
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/c321b93c

Branch: refs/heads/master
Commit: c321b93cde4ec1afa344770acef46810aa8ffead
Parents: 9470ccf
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 20 10:53:46 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:04 2016 +0200

----------------------------------------------------------------------
 .../apache/james/mailbox/model/SearchQuery.java |  23 +++
 mailbox/elasticsearch/pom.xml                   |   5 +
 .../elasticsearch/NodeMappingFactory.java       |  11 ++
 .../elasticsearch/json/IndexableMessage.java    |  20 ++
 .../json/JsonMessageConstants.java              |   1 +
 .../elasticsearch/query/CriterionConverter.java |   3 +
 .../json/IndexableMessageTest.java              | 185 +++++++++++++++++++
 .../src/test/resources/eml/mailWithHeaders.eml  |  14 ++
 .../search/AbstractMessageSearchIndexTest.java  |  66 +++++++
 .../store/src/test/resources/eml/htmlMail.json  |   3 +-
 mailbox/store/src/test/resources/eml/mail.json  |   3 +-
 .../src/test/resources/eml/nonTextual.json      |   3 +-
 .../src/test/resources/eml/pgpSignedMail.json   |   3 +-
 .../src/test/resources/eml/recursiveMail.json   |   3 +-
 .../store/src/test/resources/eml/spamMail.json  |   3 +-
 15 files changed, 340 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
index d815d9d..8a62315 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
@@ -30,6 +30,8 @@ import java.util.Set;
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
+import org.apache.james.mailbox.model.SearchQuery.Sort;
+
 /**
  * <p>
  * Models a query used to search for messages. A query is the logical
@@ -428,6 +430,22 @@ public class SearchQuery implements Serializable {
     }
 
     /**
+     * Creates a filter matching messages which contains the given text either
+     * within the headers (From, To, Cc, Bcc & Subject) and text / html bodies. 
+     * Implementations may choose to ignore mime parts which cannot be decoded to text.
+     * 
+     * All to-compared Strings MUST BE converted to uppercase before doing so
+     * (this also include the search value)
+     * 
+     * @param value
+     *            search value
+     * @return <code>Criterion</code>, not null
+     */
+    public static final Criterion textContains(String value) {
+        return new TextCriterion(value, Scope.TEXT);
+    }
+
+    /**
      * Creates a filter matching messages which contains the given text within
      * the body. Implementations may choose to ignore mime parts which cannot be
      * decoded to text.
@@ -950,6 +968,11 @@ public class SearchQuery implements Serializable {
         /** Only message body content */
         BODY,
 
+        /** Headers: From, To, Cc, Bcc & Subjects
+         *  plus text/plain & text/html part
+         */
+        TEXT,
+
         /** Full message content including headers */
         FULL
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/pom.xml
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/pom.xml b/mailbox/elasticsearch/pom.xml
index 59df4ee..5e43f4f 100644
--- a/mailbox/elasticsearch/pom.xml
+++ b/mailbox/elasticsearch/pom.xml
@@ -259,6 +259,11 @@
                     <type>test-jar</type>
                 </dependency>
                 <dependency>
+                    <groupId>org.mockito</groupId>
+                    <artifactId>mockito-core</artifactId>
+                    <scope>test</scope>
+                </dependency>
+                <dependency>
                     <groupId>org.slf4j</groupId>
                     <artifactId>slf4j-api</artifactId>
                 </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
index 91bf2e6..14af791 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
@@ -212,6 +212,17 @@ public class NodeMappingFactory {
                                     .endObject()
                                 .endObject()
                             .endObject()
+                            
+
+                            .startObject(JsonMessageConstants.TEXT)
+                                .field(TYPE, STRING)
+                                .startObject(FIELDS)
+                                    .startObject(RAW)
+                                        .field(TYPE, STRING)
+                                        .field(ANALYZER, IndexCreationFactory.CASE_INSENSITIVE)
+                                    .endObject()
+                                .endObject()
+                            .endObject()
                         .endObject()
                     .endObject()
                 .endObject();

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
index ec58c3c..a3d1ae4 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
@@ -26,6 +26,7 @@ import java.time.ZonedDateTime;
 import java.util.List;
 import java.util.Optional;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import org.apache.james.mailbox.MailboxSession.User;
 import org.apache.james.mailbox.elasticsearch.query.DateResolutionFormater;
@@ -37,6 +38,7 @@ import org.apache.james.mime4j.MimeException;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.github.steveash.guavate.Guavate;
 import com.google.common.base.Preconditions;
+import com.google.common.base.Strings;
 import com.google.common.base.Throwables;
 import com.google.common.collect.Multimap;
 
@@ -52,6 +54,7 @@ public class IndexableMessage {
             indexableMessage.bodyText = parsingResult.locateFirstTextualBody();
             indexableMessage.setFlattenedAttachments(parsingResult);
             indexableMessage.copyHeaderFields(parsingResult.getHeaderCollection(), getSanitizedInternalDate(message, zoneId));
+            indexableMessage.generateText();
         } catch (IOException | MimeException e) {
             throw Throwables.propagate(e);
         }
@@ -102,6 +105,17 @@ public class IndexableMessage {
             zoneId);
     }
 
+    private void generateText() {
+        this.text = Stream.of(from.serialize(),
+                to.serialize(),
+                cc.serialize(),
+                bcc.serialize(),
+                subjects.serialize(),
+                bodyText.orElse(null))
+            .filter(str -> !Strings.isNullOrEmpty(str))
+            .collect(Collectors.joining(" "));
+    }
+
     private Long id;
     private String mailboxId;
     private List<String> users;
@@ -128,6 +142,7 @@ public class IndexableMessage {
     private List<Property> properties;
     private List<MimePart> attachments;
     private Optional<String> bodyText;
+    private String text;
 
     @JsonProperty(JsonMessageConstants.ID)
     public Long getId() {
@@ -263,4 +278,9 @@ public class IndexableMessage {
     public boolean getHasAttachment() {
         return attachments.size() > 0;
     }
+
+    @JsonProperty(JsonMessageConstants.TEXT)
+    public String getText() {
+        return text;
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
index 56361e8..25df70b 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
@@ -43,6 +43,7 @@ public interface JsonMessageConstants {
     String TEXT_BODY = "textBody";
     String SENT_DATE = "sentDate";
     String ATTACHMENTS = "attachments";
+    String TEXT = "text";
 
     /*
     James properties we can easily get

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
index a523c3d..a49713d 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
@@ -128,6 +128,9 @@ public class CriterionConverter {
         switch (textCriterion.getType()) {
         case BODY:
             return matchQuery(JsonMessageConstants.TEXT_BODY, textCriterion.getOperator().getValue());
+        case TEXT:
+            return boolQuery()
+                    .should(matchQuery(JsonMessageConstants.TEXT, textCriterion.getOperator().getValue()));
         case FULL:
             return boolQuery()
                     .should(matchQuery(JsonMessageConstants.TEXT_BODY, textCriterion.getOperator().getValue()))

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
new file mode 100644
index 0000000..2a62f2c
--- /dev/null
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessageTest.java
@@ -0,0 +1,185 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailbox.elasticsearch.json;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.io.ByteArrayInputStream;
+import java.time.ZoneId;
+
+import javax.mail.Flags;
+
+import org.apache.commons.io.IOUtils;
+import org.apache.james.mailbox.mock.MockMailboxSession;
+import org.apache.james.mailbox.store.TestId;
+import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
+import org.apache.james.mailbox.store.mail.model.MailboxMessage;
+import org.junit.Test;
+
+import com.google.common.collect.ImmutableList;
+
+public class IndexableMessageTest {
+
+    @Test
+    public void textShouldBeEmptyWhenNoMatchingHeaders() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEmpty();
+    }
+
+    @Test
+    public void textShouldContainsFromWhenFrom() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("From: First user <us...@james.org>\nFrom: Second user <us...@james.org>".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("Second user user2@james.org First user user@james.org");
+    }
+
+    @Test
+    public void textShouldContainsToWhenTo() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("To: First to <us...@james.org>\nTo: Second to <us...@james.org>".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("First to user@james.org Second to user2@james.org");
+    }
+
+    @Test
+    public void textShouldContainsCcWhenCc() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("Cc: First cc <us...@james.org>\nCc: Second cc <us...@james.org>".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("First cc user@james.org Second cc user2@james.org");
+    }
+
+    @Test
+    public void textShouldContainsBccWhenBcc() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("Bcc: First bcc <us...@james.org>\nBcc: Second bcc <us...@james.org>".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("Second bcc user2@james.org First bcc user@james.org");
+    }
+
+    @Test
+    public void textShouldContainsSubjectsWhenSubjects() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("Subject: subject1\nSubject: subject2".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("subject1 subject2");
+    }
+
+    @Test
+    public void textShouldContainsBodyWhenBody() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream("\nMy body".getBytes()));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("My body");
+    }
+
+    @Test
+    public void textShouldContainsAllFieldsWhenAllSet() throws Exception {
+        MailboxMessage mailboxMessage = mock(MailboxMessage.class);
+        TestId mailboxId = TestId.of(1);
+        when(mailboxMessage.getMailboxId())
+            .thenReturn(mailboxId);
+        when(mailboxMessage.getFullContent())
+            .thenReturn(new ByteArrayInputStream(IOUtils.toByteArray(ClassLoader.getSystemResourceAsStream("eml/mailWithHeaders.eml"))));
+        when(mailboxMessage.createFlags())
+            .thenReturn(new Flags());
+
+        IndexableMessage indexableMessage = IndexableMessage.from(mailboxMessage, ImmutableList.of(new MockMailboxSession("username").getUser()),
+                new DefaultTextExtractor(), ZoneId.of("Europe/Paris"));
+
+        assertThat(indexableMessage.getText()).isEqualTo("Ad Min admin@opush.test " +
+                "a@test a@test B b@test " + 
+                "c@test c@test " +
+                "dD d@test " + 
+                "my subject " + 
+                "Mail content\n" +
+                "\n" +
+                "-- \n" + 
+                "Ad Min\n");
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/elasticsearch/src/test/resources/eml/mailWithHeaders.eml
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/resources/eml/mailWithHeaders.eml b/mailbox/elasticsearch/src/test/resources/eml/mailWithHeaders.eml
new file mode 100644
index 0000000..2aff55d
--- /dev/null
+++ b/mailbox/elasticsearch/src/test/resources/eml/mailWithHeaders.eml
@@ -0,0 +1,14 @@
+Content-Type: text/plain; Charset=UTF-8
+Date: Fri, 17 Sep 2010 17:12:26 +0200
+Subject: my subject
+To: a@test, B <b...@test>
+Cc: c@test
+Bcc: dD <d...@test>
+MIME-Version: 1.0
+Message-Id: <20...@lenny>
+From: Ad Min <ad...@opush.test>
+
+Mail content
+
+-- 
+Ad Min

http://git-wip-us.apache.org/repos/asf/james-project/blob/c321b93c/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
index c2a1fcb..b889778 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
@@ -757,4 +757,70 @@ public abstract class AbstractMessageSearchIndexTest {
         assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
             .containsExactly(2L, 3L, 4L, 5L);
     }
+
+    @Test
+    public void searchWithFullTextShouldReturnNoMailWhenNotMatching() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("unmatching"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .isEmpty();
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenFromMatches() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("spam.minet.net"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(1l);
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenToMatches() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("listes.minet.net"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(1l);
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenCcMatches() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("abc.org"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(3l);
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenBccMatches() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("any.com"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(5l);
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenTextBodyMatches() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("reviewing work"));
+        // text/plain contains: "We are reviewing work I did for this feature."
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(3l);
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenTextBodyMatchesAndNonContinuousWords() throws Exception {
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        // 2: text/plain contains: "Issue Type: New Feature"
+        // 3: text/plain contains: "We are reviewing work I did for this feature."
+        searchQuery.andCriteria(SearchQuery.textContains("reviewing feature"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(2l, 3l);
+    }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[10/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/oneAttachmentWithEmptyContentType.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/oneAttachmentWithEmptyContentType.eml b/mailbox/store/src/test/resources/eml/oneAttachmentWithEmptyContentType.eml
index 43b26b3..3410ed9 100644
--- a/mailbox/store/src/test/resources/eml/oneAttachmentWithEmptyContentType.eml
+++ b/mailbox/store/src/test/resources/eml/oneAttachmentWithEmptyContentType.eml
@@ -1,38 +1,38 @@
-Mail content:
-To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
-Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
-Importance: Normal
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
-	boundary="----=_Part_0_1330682067197"
-
-------=_Part_0_1330682067197
-Content-Type: multipart/alternative;
-	boundary="----=_Part_2_1330682067197"
-
-------=_Part_2_1330682067197
-Content-Type: text/plain;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-Content of part 1-1
-------=_Part_2_1330682067197
-Content-Type: text/html;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-<b>Content of part 1-2</b>
-------=_Part_2_1330682067197--
-
-------=_Part_0_1330682067197
-Content-Type:
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
-	filename="gimp.png"
-
-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
-
-------=_Part_0_1330682067197--
-
+Mail content:
+To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
+Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
+Importance: Normal
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="----=_Part_0_1330682067197"
+
+------=_Part_0_1330682067197
+Content-Type: multipart/alternative;
+	boundary="----=_Part_2_1330682067197"
+
+------=_Part_2_1330682067197
+Content-Type: text/plain;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+Content of part 1-1
+------=_Part_2_1330682067197
+Content-Type: text/html;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<b>Content of part 1-2</b>
+------=_Part_2_1330682067197--
+
+------=_Part_0_1330682067197
+Content-Type:
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+	filename="gimp.png"
+
+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
+
+------=_Part_0_1330682067197--
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/oneAttachmentWithSimpleContentType.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/oneAttachmentWithSimpleContentType.eml b/mailbox/store/src/test/resources/eml/oneAttachmentWithSimpleContentType.eml
index ca0abe7..f90f915 100644
--- a/mailbox/store/src/test/resources/eml/oneAttachmentWithSimpleContentType.eml
+++ b/mailbox/store/src/test/resources/eml/oneAttachmentWithSimpleContentType.eml
@@ -1,38 +1,38 @@
-Mail content:
-To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
-Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
-Importance: Normal
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
-	boundary="----=_Part_0_1330682067197"
-
-------=_Part_0_1330682067197
-Content-Type: multipart/alternative;
-	boundary="----=_Part_2_1330682067197"
-
-------=_Part_2_1330682067197
-Content-Type: text/plain;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-Content of part 1-1
-------=_Part_2_1330682067197
-Content-Type: text/html;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-<b>Content of part 1-2</b>
-------=_Part_2_1330682067197--
-
-------=_Part_0_1330682067197
-Content-Type: application/octet-stream
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
-	filename="gimp.png"
-
-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
-
-------=_Part_0_1330682067197--
-
+Mail content:
+To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
+Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
+Importance: Normal
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="----=_Part_0_1330682067197"
+
+------=_Part_0_1330682067197
+Content-Type: multipart/alternative;
+	boundary="----=_Part_2_1330682067197"
+
+------=_Part_2_1330682067197
+Content-Type: text/plain;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+Content of part 1-1
+------=_Part_2_1330682067197
+Content-Type: text/html;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<b>Content of part 1-2</b>
+------=_Part_2_1330682067197--
+
+------=_Part_0_1330682067197
+Content-Type: application/octet-stream
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+	filename="gimp.png"
+
+iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAALxklEQVR4Ae2Xe0xUZ97H5X4RiyAXEARURBSYCzNnLjMwwAx3huGOIBcUFJERAUVRq+KlwHABFdu+b9+0766x1W21ttnUtE3rul6aGNtm3XbdWncjaa3VXrZRK6IgfPd3Tp6wOGmyo0v/cOMknxwy5xzO7/P8LueZaWlpaU80TwWeCvy3CcRwXJlUqp39RApIOE4i5hQPxBz30hMpIJIrjktkseMimfzPUyoglilTf/XVl8u1Ik4xrOJEEMu4wSkVEMmVZ6VSTeivFXy0TDZfIlfc0qil0KpIQM59P6UCUk71lVShPD1t2jT7qQ4+Sq32prq/GhfHjSXFSxGvEfMCQ1MsoLzOadT3pArFwBQ3LSdRqK4mJyfcz0xRwaCLRVKcBDEybmxqBRTKH8uXpEOj0/1MD3wuMTHR8T9adY4LoOD3KuPj7xYVGlGYo0e6gUNKoowkpKBmHpXJZO5TKXCrpjwT5pWFSM1IvROrVH0hksujf+laAHYWi8XT+nsKyIlvVKlSeVSu0twtXpI/Yq4rR2lBKoxpamQmK5Gm55CcIAP1wxAvOWUCEk4xVLvchIaVedi8rgq1NSXjqnjdHcrGayK5yhStVPpbLLvE/Xt6Tnf3Wu529XSM9fZ13Wzbse2kJiGhK1ap/ETCqe5lGLNum+trxnZsbca6tcuwJM+AvKw4mNI1yEpVURYUSE2S8wJ3RSKN35QJUJPdM6/IQ8vaCmzdZMbObU2w7G7BhhbzeEFR4e2SsrIRChqnz5zE999/h9HREXz19SDefOt1dPW0Y8e2Frywtx0vDnRg57NrUVdTgJJ8PYpyEpBvjEdOhvahLIg55YOioiKHRxKgjwPBEaHEQzfz/3DH9mb07+nGsbeO4MjRw+jts8DS3or/GdiNnr4ufP6XC/jhh+9w587PuHdvGLdv38SNG9fwwYfvon9vN3Zvb0Td8
 lxUlqSirCgZpSRQnJuIgmwdcikL2elqZKUwAbni0aaQvb19M3HT2dnlloODw5Cdnd0d+rKVRFz48xkm0+i+gX5cv34NP/30I86fP4ePPjqL3n4LOjq24O2338CVK1/i22+v4ssvL+HTTz+B2WzGqlUrcfr0HzCwvw9Na8pRXZaBqtI0VBSnYGmBgUooEYUmHYQyyhDKCClJCl7gus0C9DE5OjkNpefkoXvPPugzjIiMEcN9+vQ7JHKFzvs1tzTdO3P2lBD8wYMHce3aNVBTYk1DPXp62/HHUx/g0qXPSOIyBgcHwX/u37+PiMhIiCViHP7dAbRuqAc/CJbxAktIoJAXSEKRiZURCRhJwJCoAPXcRZsF7B0dL8cq1RgeHgb/+fziX6E1pPCjDJ5e3iOUmcHWzRvHz398ThAoKSnB5b/9HYbUdMwJmUPl04GTJ9/DhQvn8cYbh/D++++D/1y/cYOvZbi6uWHvvj48u7kRgsDSdEGgjARKSOChPiCBpAQFpBx3ymYBWuXR9Zu2gH0wPj6O7KISyNRxiBJLMeMZz/GcXOP4a4cOCAJ5eXmY5eMDL29v6PUJ6O7aQX1xGOfOncLx429h5syZMDc2I05vQJQ0Fq6uriTZifWNy60yYCXAMqDVcmMiTtlrswAZPMgtLsXY2Jgg8PXVb5CYngWpSoMFi6MRsTAS7rSKnZZdeP3IIarv89ixow21tTXoaN9KE6kefdQLJ04cx5kzH0Cp5OA9axYCgoIx08sLCQlxsHS3o646F9XlGSQwuQeSJveAICBTKm49yuaRb+Drco0W6zdTM75zHJW1dVAlGvjXOULDF2ABCQQFz4FcEomdbc3o7qGpQ+za3oQtzWXY3LwUHc9twfPP9+Gd40ephN5GW9tmJCXpsHnLBrq+HS1N1VhRkYnlZemooilUzk+hgokpNPEuyExWUdlx99lb2GaBV+eGh48kJKciVq0VSofqX1j9wDkhCA4Ng0gihb+vF5
 pXF2K9uQgta4qxoWEJNq4l6LihoQRtW5vQRSu9d6AH//vSAI1cCzq7dmNdQxVWVmahhq3+RP3n/6t8cjO1yE5TQ59EDaxQsN8Ctk+hUH50JhqSESONFQKfF0GrToH7+AfAf3YQdIlJcHNzwdrafDTWFaCJRJqJdfVFAvzfTfR9c30xrfYytLbUotlchtXVOULwND6FICuXPLz61uWj1iruUePv4gvbZgGWhv2+fn5DesrCXCob34BAPniBoJBQJOj18KMM1NfkYM2KXGFL0VCbxwsJ0N/Cd2Y6x1+zmrYdq5YZJ1Z+OU2ejGTK6rwg4QX20Phkq59mUPLz/264SBRMAva2Sky8hWka/T4gMPBuVnY2OJUaIXPnYU7YXCQlJ0MsFkMaE05BZdPbNJtW1iRQTytMCH9T0MK5VVVC4ELN8ytPZSNsG6IjQ5C4wAkVWl+UZsYiP1sonYl9kIpWPzpW9gLFMp1wJhyYhM1bCUfqh5dp7A3J5PIHqWnpyDQaIZFKMMvbU3iD0hikwLKEAGt5KFhCWGUKlk2ZdGGrUEQlkqaXC+LBgV4ok7tik8Edr1fOwKbkGajXeaBcH4aclFik6hXC9sE7ICCK4vAhZhAutkj8UlMsopL6jZ2d/acOjo7fBAbPuW/Qax7QHkYoBZIQgqUjQ5guQm3nG3VCqeg0IsSKFmDRwlBERYZBHDUPxvhICvoZdGR54IudEfisg8Nva+aiQTcDpVq/B4qY8Ffo2QuIYCsJVk62C9gRTiyVPkFhYSqxnLuk0qqH83P0FGwmVi3PpbLJp2MeZSSbxGjlSa6yRJjxgsxSNmmWUCZo2gjjMj9LgwpDGMzxbji20h9Xu6JxpV+FI+aF4016z/u1atcPq/P1DTqdOoae7U24E46PI+DMVsCfCHN2do6OWBzdS9vqf3Bq1bAxM4FKJZMalqbQmkq00N6+eU0FGlaV0gurgErJiPLiNHpZJfN7fiqnJNawwrYZJoMYtfF
 eVErT8fG6WbjaGYHBPg6v1EWNdXa2Yeuz6w75+PgEshicHkfAhXiGCCDmEosJGaELCgnpiJJIByUK5YjBED++tDANtctoGq0uw4amGmxaX0vHFSRUhfqVJVhRlYeK0iwSSSaBeCoxJTQablwk40aTYvwvrta6DL9c7DF6eYsPeixtOPjqAbzw4v6hrp7OC+XV5QsfV8CJ2fsRIUQkISXURCpR6enl1b1g0eLP+d8KsQrlqEqjGtHr48ezMmhMFmWiqsyEylIjivNSKPBEJBu0UKoVD0Qy+djC6Oir7h4eA/R/mvw87FdXK13PbsyPHOnt7aAtyQmBQ4dfHe3p7by187ntOXTdPCKDcLZVwIFwI7yIQGLepCxomUQ50Ui0UTD/5+Pr925waOifFi6OuiaKlQ1JOOUYMU6CozGx8uHIqJjr/kFBJ11cXJ6ne7YSZmIpkUJoWxqXv2fp2n133/49d44de1OQOHr0CAIC/Meio6MhkUhA110jNhL21gLWEvaTGtmbmM0kFk3KRCKRRZQR9cQGoo3oIHppJPfTsY/oJtqJbUQLUUeUshVNIJSExMvLK9rT03P+upbGVd09nZfo9/XPJlM2/P390dnZKRAWFsZL8JT+OwG7SRLuxEzCn5VTOBHFRJREPKEn0ggTUcRWtoJRyr4zscwlEXHsXinLbDgbn37sWW7bdm2L9/Pzu+nu7o6NGzeitbWVshEAlokvCPsJARskXFlPeDORYJaRCCYjZuWlYNnREFqGhlCxczJ27WJ279xJgXsRHmyAOLJnnyTAQxkVjvPnz4evry94eWuBX5RgOEwSmU54ErOYzGxiDhHGpMKJCCvC2bkwFvBsFrQ3m3bTWeBO7Fl2jPUErKFy44/p1gK2ijgSzkzGnfBgQcxkAfkwfBk+DG9iJrvWg93ryoJ2nBy41bMPWQvQ7pk/LrMSeCQRe8JhkpATk3JhQblZ4crOOVsFLGwTrAOfDLv3AAErWq0FHldm
 ktQEDlbYM+yseYTnLSOGCDD6H1/ARilrpuD/LyYuMoFDVgJPBqx3/p84YS3wpInonmQBxlOBpwJPBf4JszXhha5WvGwAAAAASUVORK5CYII=
+
+------=_Part_0_1330682067197--
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/oneAttachmentWithoutContentType.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/oneAttachmentWithoutContentType.eml b/mailbox/store/src/test/resources/eml/oneAttachmentWithoutContentType.eml
index 1c3bd52..76428bc 100644
--- a/mailbox/store/src/test/resources/eml/oneAttachmentWithoutContentType.eml
+++ b/mailbox/store/src/test/resources/eml/oneAttachmentWithoutContentType.eml
@@ -1,37 +1,37 @@
-Mail content:
-To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
-Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
-Importance: Normal
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
-	boundary="----=_Part_0_1330682067197"
-
-------=_Part_0_1330682067197
-Content-Type: multipart/alternative;
-	boundary="----=_Part_2_1330682067197"
-
-------=_Part_2_1330682067197
-Content-Type: text/plain;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-Content of part 1-1
-------=_Part_2_1330682067197
-Content-Type: text/html;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-<b>Content of part 1-2</b>
-------=_Part_2_1330682067197--
-
-------=_Part_0_1330682067197
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
-	filename="gimp.png"
-
-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
-
-------=_Part_0_1330682067197--
-
+Mail content:
+To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
+Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
+Importance: Normal
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="----=_Part_0_1330682067197"
+
+------=_Part_0_1330682067197
+Content-Type: multipart/alternative;
+	boundary="----=_Part_2_1330682067197"
+
+------=_Part_2_1330682067197
+Content-Type: text/plain;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+Content of part 1-1
+------=_Part_2_1330682067197
+Content-Type: text/html;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<b>Content of part 1-2</b>
+------=_Part_2_1330682067197--
+
+------=_Part_0_1330682067197
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+	filename="gimp.png"
+
+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
+
+------=_Part_0_1330682067197--
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/oneAttachmentWithoutName.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/oneAttachmentWithoutName.eml b/mailbox/store/src/test/resources/eml/oneAttachmentWithoutName.eml
index b5a9aa2..f38cba8 100644
--- a/mailbox/store/src/test/resources/eml/oneAttachmentWithoutName.eml
+++ b/mailbox/store/src/test/resources/eml/oneAttachmentWithoutName.eml
@@ -1,38 +1,38 @@
-Mail content:
-To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
-Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
-Importance: Normal
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
-	boundary="----=_Part_0_1330682067197"
-
-------=_Part_0_1330682067197
-Content-Type: multipart/alternative;
-	boundary="----=_Part_2_1330682067197"
-
-------=_Part_2_1330682067197
-Content-Type: text/plain;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-Content of part 1-1
-------=_Part_2_1330682067197
-Content-Type: text/html;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-<b>Content of part 1-2</b>
-------=_Part_2_1330682067197--
-
-------=_Part_0_1330682067197
-Content-Type: application/octet-stream;
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
-	filename="gimp.png"
-
-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
-
-------=_Part_0_1330682067197--
-
+Mail content:
+To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
+Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
+Importance: Normal
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="----=_Part_0_1330682067197"
+
+------=_Part_0_1330682067197
+Content-Type: multipart/alternative;
+	boundary="----=_Part_2_1330682067197"
+
+------=_Part_2_1330682067197
+Content-Type: text/plain;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+Content of part 1-1
+------=_Part_2_1330682067197
+Content-Type: text/html;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<b>Content of part 1-2</b>
+------=_Part_2_1330682067197--
+
+------=_Part_0_1330682067197
+Content-Type: application/octet-stream;
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+	filename="gimp.png"
+
+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
+
+------=_Part_0_1330682067197--
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/oneHtmlAttachmentAndSomeTextInlined.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/oneHtmlAttachmentAndSomeTextInlined.eml b/mailbox/store/src/test/resources/eml/oneHtmlAttachmentAndSomeTextInlined.eml
index 2fbb3e0..519418e 100644
--- a/mailbox/store/src/test/resources/eml/oneHtmlAttachmentAndSomeTextInlined.eml
+++ b/mailbox/store/src/test/resources/eml/oneHtmlAttachmentAndSomeTextInlined.eml
@@ -1,39 +1,39 @@
-Mail content:
-To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
-Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
-Importance: Normal
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
-	boundary="----=_Part_0_1330682067197"
-
-------=_Part_0_1330682067197
-Content-Type: multipart/alternative;
-	boundary="----=_Part_2_1330682067197"
-
-------=_Part_2_1330682067197
-Content-Type: text/plain;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-Content of part 1-1
-------=_Part_2_1330682067197
-Content-Type: text/html;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-<b>Content of part 1-2</b>
-------=_Part_2_1330682067197--
-
-------=_Part_0_1330682067197
-Content-Type: text/html;
-	name="attachment.html"
-Content-Transfer-Encoding: 8bit
-Content-Disposition: attachment;
-	filename="attachment.html"
-<html>
-  <body>
-    Hello!
-  </body>
-</html>
+Mail content:
+To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
+Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
+Importance: Normal
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="----=_Part_0_1330682067197"
+
+------=_Part_0_1330682067197
+Content-Type: multipart/alternative;
+	boundary="----=_Part_2_1330682067197"
+
+------=_Part_2_1330682067197
+Content-Type: text/plain;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+Content of part 1-1
+------=_Part_2_1330682067197
+Content-Type: text/html;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<b>Content of part 1-2</b>
+------=_Part_2_1330682067197--
+
+------=_Part_0_1330682067197
+Content-Type: text/html;
+	name="attachment.html"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment;
+	filename="attachment.html"
+<html>
+  <body>
+    Hello!
+  </body>
+</html>

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/pgpSignedMail.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/pgpSignedMail.eml b/mailbox/store/src/test/resources/eml/pgpSignedMail.eml
index 75248e4..1d0451f 100644
--- a/mailbox/store/src/test/resources/eml/pgpSignedMail.eml
+++ b/mailbox/store/src/test/resources/eml/pgpSignedMail.eml
@@ -1,136 +1,136 @@
-Return-Path: <bo...@lists.debian.org>
-Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Wed, 03 Jun 2015 21:19:59 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx2.minet.net (Postfix) with ESMTP id 8A9DAA27DA1
-	for <be...@minet.net>; Wed,  3 Jun 2015 21:20:03 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.51
-X-Spam-Level:
-X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
-	T_RP_MATCHES_RCVD=-0.01] autolearn=unavailable
-Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id cF6J0AAnzsTX for <be...@minet.net>;
-	Wed,  3 Jun 2015 19:20:02 +0000 (UTC)
-Received-SPF: None (no SPF record) identity=mailfrom; client-ip=82.195.75.100; helo=bendel.debian.org; envelope-from=bounce-debian-security-announce=benwa=minet.net@lists.debian.org; receiver=benwa@minet.net
-Received: from bendel.debian.org (bendel.debian.org [82.195.75.100])
-	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
-	(No client certificate requested)
-	by mx2.minet.net (Postfix) with ESMTPS id 7F69FA27D98
-	for <be...@minet.net>; Wed,  3 Jun 2015 21:20:01 +0200 (CEST)
-Received: from localhost (localhost [127.0.0.1])
-	by bendel.debian.org (Postfix) with QMQP
-	id 1C2F6275; Wed,  3 Jun 2015 19:14:50 +0000 (UTC)
-Old-Return-Path: <ca...@master.debian.org>
-X-Original-To: lists-debian-security-announce@bendel.debian.org
-Delivered-To: lists-debian-security-announce@bendel.debian.org
-Received: from localhost (localhost [127.0.0.1])
-	by bendel.debian.org (Postfix) with ESMTP id 7EFBF228
-	for <li...@bendel.debian.org>; Wed,  3 Jun 2015 19:14:39 +0000 (UTC)
-X-Amavis-Spam-Status: No, score=-8.99 tagged_above=-10000 required=5.3
-	tests=[BAYES_00=-2, DIGITS_LETTERS=1, FVGT_m_MULTI_ODD=0.02,
-	LDO_WHITELIST=-5, OUR_MTA_MSGID=2, PGPSIGNATURE=-5,
-	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
-Received: from bendel.debian.org ([127.0.0.1])
-	by localhost (lists.debian.org [127.0.0.1]) (amavisd-new, port 2525)
-	with ESMTP id RiKdt2PVwXOm
-	for <li...@bendel.debian.org>;
-	Wed,  3 Jun 2015 19:14:34 +0000 (UTC)
-Received: from master.debian.org (master.debian.org [IPv6:2001:41b8:202:deb:216:36ff:fe40:4001])
-	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
-	(Client CN "master.debian.org", Issuer "Debian SMTP CA" (not verified))
-	by bendel.debian.org (Postfix) with ESMTPS id ABE761B7
-	for <de...@lists.debian.org>; Wed,  3 Jun 2015 19:14:34 +0000 (UTC)
-Received: from carnil by master.debian.org with local (Exim 4.84)
-	(envelope-from <ca...@master.debian.org>)
-	id 1Z0E7U-0004Bc-Jv
-	for debian-security-announce@lists.debian.org; Wed, 03 Jun 2015 19:14:32 +0000
-From: Markus Koschany <ap...@gambaru.de>
-To: debian-security-announce@lists.debian.org
-Message-Id: <E1...@master.debian.org>
-Date: Wed, 03 Jun 2015 19:14:32 +0000
-X-Debian: PGP check passed for security officers
-Subject: [SECURITY] [DSA 3278-1] libapache-mod-jk security update
-Priority: urgent
-Reply-To: debian-security@lists.debian.org
-X-Rc-Virus: 2007-09-13_01
-X-Rc-Spam: 2008-11-04_01
-Resent-Message-ID: <Aq...@bendel>
-Resent-From: debian-security-announce@lists.debian.org
-X-Mailing-List: <de...@lists.debian.org> archive/latest/2089
-X-Loop: debian-security-announce@lists.debian.org
-List-Id: <debian-security-announce.lists.debian.org>
-List-Post: <ma...@lists.debian.org>
-List-Help: <mailto:debian-security-announce-request@lists.debian.org?subject=help>
-List-Subscribe: <mailto:debian-security-announce-request@lists.debian.org?subject=subscribe>
-List-Unsubscribe: <mailto:debian-security-announce-request@lists.debian.org?subject=unsubscribe>
-Precedence: list
-Resent-Sender: debian-security-announce-request@lists.debian.org
-Resent-Date: Wed,  3 Jun 2015 19:14:50 +0000 (UTC)
-
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA512
-
-- -------------------------------------------------------------------------
-Debian Security Advisory DSA-3278-1                   security@debian.org
-http://www.debian.org/security/                           Markus Koschany
-June 03, 2015                          http://www.debian.org/security/faq
-- -------------------------------------------------------------------------
-
-Package        : libapache-mod-jk
-CVE ID         : CVE-2014-8111
-Debian Bug     : 783233
-
-An information disclosure flaw due to incorrect JkMount/JkUnmount
-directives processing was found in the Apache 2 module mod_jk to forward
-requests from the Apache web server to Tomcat. A JkUnmount rule for a
-subtree of a previous JkMount rule could be ignored. This could allow a
-remote attacker to potentially access a private artifact in a tree that
-would otherwise not be accessible to them.
-
-For the oldstable distribution (wheezy), this problem has been fixed
-in version 1:1.2.37-1+deb7u1.
-
-For the stable distribution (jessie), this problem has been fixed in
-version 1:1.2.37-4+deb8u1.
-
-For the testing distribution (stretch), this problem has been fixed
-in version 1:1.2.40+svn150520-1.
-
-For the unstable distribution (sid), this problem has been fixed in
-version 1:1.2.40+svn150520-1.
-
-We recommend that you upgrade your libapache-mod-jk packages.
-
-Further information about Debian Security Advisories, how to apply
-these updates to your system and frequently asked questions can be
-found at: https://www.debian.org/security/
-
-Mailing list: debian-security-announce@lists.debian.org
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1
-
-iQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y
-YHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh5QToOvvMeFHqXLS2
-4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v
-ykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp
-XeZvCHV5dHYJLfCOn3bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c
-O3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+
-Spfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG
-li9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv
-LBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9
-4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g
-cCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0
-XVZyRUFDwW4cMiJnJ49U
-=M39D
------END PGP SIGNATURE-----
-
-
---
-To UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org
-with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
+Return-Path: <bo...@lists.debian.org>
+Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Wed, 03 Jun 2015 21:19:59 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx2.minet.net (Postfix) with ESMTP id 8A9DAA27DA1
+	for <be...@minet.net>; Wed,  3 Jun 2015 21:20:03 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.51
+X-Spam-Level:
+X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
+	T_RP_MATCHES_RCVD=-0.01] autolearn=unavailable
+Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id cF6J0AAnzsTX for <be...@minet.net>;
+	Wed,  3 Jun 2015 19:20:02 +0000 (UTC)
+Received-SPF: None (no SPF record) identity=mailfrom; client-ip=82.195.75.100; helo=bendel.debian.org; envelope-from=bounce-debian-security-announce=benwa=minet.net@lists.debian.org; receiver=benwa@minet.net
+Received: from bendel.debian.org (bendel.debian.org [82.195.75.100])
+	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
+	(No client certificate requested)
+	by mx2.minet.net (Postfix) with ESMTPS id 7F69FA27D98
+	for <be...@minet.net>; Wed,  3 Jun 2015 21:20:01 +0200 (CEST)
+Received: from localhost (localhost [127.0.0.1])
+	by bendel.debian.org (Postfix) with QMQP
+	id 1C2F6275; Wed,  3 Jun 2015 19:14:50 +0000 (UTC)
+Old-Return-Path: <ca...@master.debian.org>
+X-Original-To: lists-debian-security-announce@bendel.debian.org
+Delivered-To: lists-debian-security-announce@bendel.debian.org
+Received: from localhost (localhost [127.0.0.1])
+	by bendel.debian.org (Postfix) with ESMTP id 7EFBF228
+	for <li...@bendel.debian.org>; Wed,  3 Jun 2015 19:14:39 +0000 (UTC)
+X-Amavis-Spam-Status: No, score=-8.99 tagged_above=-10000 required=5.3
+	tests=[BAYES_00=-2, DIGITS_LETTERS=1, FVGT_m_MULTI_ODD=0.02,
+	LDO_WHITELIST=-5, OUR_MTA_MSGID=2, PGPSIGNATURE=-5,
+	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
+Received: from bendel.debian.org ([127.0.0.1])
+	by localhost (lists.debian.org [127.0.0.1]) (amavisd-new, port 2525)
+	with ESMTP id RiKdt2PVwXOm
+	for <li...@bendel.debian.org>;
+	Wed,  3 Jun 2015 19:14:34 +0000 (UTC)
+Received: from master.debian.org (master.debian.org [IPv6:2001:41b8:202:deb:216:36ff:fe40:4001])
+	(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
+	(Client CN "master.debian.org", Issuer "Debian SMTP CA" (not verified))
+	by bendel.debian.org (Postfix) with ESMTPS id ABE761B7
+	for <de...@lists.debian.org>; Wed,  3 Jun 2015 19:14:34 +0000 (UTC)
+Received: from carnil by master.debian.org with local (Exim 4.84)
+	(envelope-from <ca...@master.debian.org>)
+	id 1Z0E7U-0004Bc-Jv
+	for debian-security-announce@lists.debian.org; Wed, 03 Jun 2015 19:14:32 +0000
+From: Markus Koschany <ap...@gambaru.de>
+To: debian-security-announce@lists.debian.org
+Message-Id: <E1...@master.debian.org>
+Date: Wed, 03 Jun 2015 19:14:32 +0000
+X-Debian: PGP check passed for security officers
+Subject: [SECURITY] [DSA 3278-1] libapache-mod-jk security update
+Priority: urgent
+Reply-To: debian-security@lists.debian.org
+X-Rc-Virus: 2007-09-13_01
+X-Rc-Spam: 2008-11-04_01
+Resent-Message-ID: <Aq...@bendel>
+Resent-From: debian-security-announce@lists.debian.org
+X-Mailing-List: <de...@lists.debian.org> archive/latest/2089
+X-Loop: debian-security-announce@lists.debian.org
+List-Id: <debian-security-announce.lists.debian.org>
+List-Post: <ma...@lists.debian.org>
+List-Help: <mailto:debian-security-announce-request@lists.debian.org?subject=help>
+List-Subscribe: <mailto:debian-security-announce-request@lists.debian.org?subject=subscribe>
+List-Unsubscribe: <mailto:debian-security-announce-request@lists.debian.org?subject=unsubscribe>
+Precedence: list
+Resent-Sender: debian-security-announce-request@lists.debian.org
+Resent-Date: Wed,  3 Jun 2015 19:14:50 +0000 (UTC)
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA512
+
+- -------------------------------------------------------------------------
+Debian Security Advisory DSA-3278-1                   security@debian.org
+http://www.debian.org/security/                           Markus Koschany
+June 03, 2015                          http://www.debian.org/security/faq
+- -------------------------------------------------------------------------
+
+Package        : libapache-mod-jk
+CVE ID         : CVE-2014-8111
+Debian Bug     : 783233
+
+An information disclosure flaw due to incorrect JkMount/JkUnmount
+directives processing was found in the Apache 2 module mod_jk to forward
+requests from the Apache web server to Tomcat. A JkUnmount rule for a
+subtree of a previous JkMount rule could be ignored. This could allow a
+remote attacker to potentially access a private artifact in a tree that
+would otherwise not be accessible to them.
+
+For the oldstable distribution (wheezy), this problem has been fixed
+in version 1:1.2.37-1+deb7u1.
+
+For the stable distribution (jessie), this problem has been fixed in
+version 1:1.2.37-4+deb8u1.
+
+For the testing distribution (stretch), this problem has been fixed
+in version 1:1.2.40+svn150520-1.
+
+For the unstable distribution (sid), this problem has been fixed in
+version 1:1.2.40+svn150520-1.
+
+We recommend that you upgrade your libapache-mod-jk packages.
+
+Further information about Debian Security Advisories, how to apply
+these updates to your system and frequently asked questions can be
+found at: https://www.debian.org/security/
+
+Mailing list: debian-security-announce@lists.debian.org
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1
+
+iQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y
+YHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh5QToOvvMeFHqXLS2
+4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v
+ykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp
+XeZvCHV5dHYJLfCOn3bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c
+O3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+
+Spfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG
+li9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv
+LBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9
+4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g
+cCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0
+XVZyRUFDwW4cMiJnJ49U
+=M39D
+-----END PGP SIGNATURE-----
+
+
+--
+To UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org
+with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
 Archive: https://lists.debian.org/E1Z0E7U-0004Bc-Jv@master.debian.org
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/pgpSignedMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/pgpSignedMail.json b/mailbox/store/src/test/resources/eml/pgpSignedMail.json
index 019a538..e4b004f 100644
--- a/mailbox/store/src/test/resources/eml/pgpSignedMail.json
+++ b/mailbox/store/src/test/resources/eml/pgpSignedMail.json
@@ -162,7 +162,7 @@
 	}
   ],
   "attachments": [],
-  "textBody": "-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\n- -------------------------------------------------------------------------\nDebian Security Advisory DSA-3278-1                   security@debian.org\nhttp://www.debian.org/security/                           Markus Koschany\nJune 03, 2015                          http://www.debian.org/security/faq\n- -------------------------------------------------------------------------\n\nPackage        : libapache-mod-jk\nCVE ID         : CVE-2014-8111\nDebian Bug     : 783233\n\nAn information disclosure flaw due to incorrect JkMount/JkUnmount\ndirectives processing was found in the Apache 2 module mod_jk to forward\nrequests from the Apache web server to Tomcat. A JkUnmount rule for a\nsubtree of a previous JkMount rule could be ignored. This could allow a\nremote attacker to potentially access a private artifact in a tree that\nwould otherwise not be accessible to them.\n\nFor the oldstable distribution (wheezy), this probl
 em has been fixed\nin version 1:1.2.37-1+deb7u1.\n\nFor the stable distribution (jessie), this problem has been fixed in\nversion 1:1.2.37-4+deb8u1.\n\nFor the testing distribution (stretch), this problem has been fixed\nin version 1:1.2.40+svn150520-1.\n\nFor the unstable distribution (sid), this problem has been fixed in\nversion 1:1.2.40+svn150520-1.\n\nWe recommend that you upgrade your libapache-mod-jk packages.\n\nFurther information about Debian Security Advisories, how to apply\nthese updates to your system and frequently asked questions can be\nfound at: https://www.debian.org/security/\n\nMailing list: debian-security-announce@lists.debian.org\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1\n\niQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y\nYHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh5QToOvvMeFHqXLS2\n4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v\nykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp\nXeZvCHV5dHYJLfCOn3
 bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c\nO3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+\nSpfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG\nli9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv\nLBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9\n4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g\ncCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0\nXVZyRUFDwW4cMiJnJ49U\n=M39D\n-----END PGP SIGNATURE-----\n\n\n--\nTo UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org\nwith a subject of \"unsubscribe\". Trouble? Contact listmaster@lists.debian.org\nArchive: https://lists.debian.org/E1Z0E7U-0004Bc-Jv@master.debian.org",
+  "textBody": "-----BEGIN PGP SIGNED MESSAGE-----\r\nHash: SHA512\r\n\r\n- -------------------------------------------------------------------------\r\nDebian Security Advisory DSA-3278-1                   security@debian.org\r\nhttp://www.debian.org/security/                           Markus Koschany\r\nJune 03, 2015                          http://www.debian.org/security/faq\r\n- -------------------------------------------------------------------------\r\n\r\nPackage        : libapache-mod-jk\r\nCVE ID         : CVE-2014-8111\r\nDebian Bug     : 783233\r\n\r\nAn information disclosure flaw due to incorrect JkMount/JkUnmount\r\ndirectives processing was found in the Apache 2 module mod_jk to forward\r\nrequests from the Apache web server to Tomcat. A JkUnmount rule for a\r\nsubtree of a previous JkMount rule could be ignored. This could allow a\r\nremote attacker to potentially access a private artifact in a tree that\r\nwould otherwise not be accessible to them.\r\n\r\nFor the old
 stable distribution (wheezy), this problem has been fixed\r\nin version 1:1.2.37-1+deb7u1.\r\n\r\nFor the stable distribution (jessie), this problem has been fixed in\r\nversion 1:1.2.37-4+deb8u1.\r\n\r\nFor the testing distribution (stretch), this problem has been fixed\r\nin version 1:1.2.40+svn150520-1.\r\n\r\nFor the unstable distribution (sid), this problem has been fixed in\r\nversion 1:1.2.40+svn150520-1.\r\n\r\nWe recommend that you upgrade your libapache-mod-jk packages.\r\n\r\nFurther information about Debian Security Advisories, how to apply\r\nthese updates to your system and frequently asked questions can be\r\nfound at: https://www.debian.org/security/\r\n\r\nMailing list: debian-security-announce@lists.debian.org\r\n-----BEGIN PGP SIGNATURE-----\r\nVersion: GnuPG v1\r\n\r\niQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y\r\nYHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh5QToOvvMeFHqXLS2\r\n4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU
 9v\r\nykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp\r\nXeZvCHV5dHYJLfCOn3bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c\r\nO3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+\r\nSpfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG\r\nli9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv\r\nLBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9\r\n4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g\r\ncCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0\r\nXVZyRUFDwW4cMiJnJ49U\r\n=M39D\r\n-----END PGP SIGNATURE-----\r\n\r\n\r\n--\r\nTo UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org\r\nwith a subject of \"unsubscribe\". Trouble? Contact listmaster@lists.debian.org\r\nArchive: https://lists.debian.org/E1Z0E7U-0004Bc-Jv@master.debian.org",
   "htmlBody": null,
   "isDeleted": true,
   "isDraft": false,
@@ -174,5 +174,5 @@
   "users": [
     "username"
   ],
-  "text": "Markus Koschany apo@gambaru.de debian-security-announce@lists.debian.org debian-security-announce@lists.debian.org [SECURITY] [DSA 3278-1] libapache-mod-jk security update -----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\n- -------------------------------------------------------------------------\nDebian Security Advisory DSA-3278-1                   security@debian.org\nhttp://www.debian.org/security/                           Markus Koschany\nJune 03, 2015                          http://www.debian.org/security/faq\n- -------------------------------------------------------------------------\n\nPackage        : libapache-mod-jk\nCVE ID         : CVE-2014-8111\nDebian Bug     : 783233\n\nAn information disclosure flaw due to incorrect JkMount/JkUnmount\ndirectives processing was found in the Apache 2 module mod_jk to forward\nrequests from the Apache web server to Tomcat. A JkUnmount rule for a\nsubtree of a previous JkMount rule could be ignored. This could allow a\nre
 mote attacker to potentially access a private artifact in a tree that\nwould otherwise not be accessible to them.\n\nFor the oldstable distribution (wheezy), this problem has been fixed\nin version 1:1.2.37-1+deb7u1.\n\nFor the stable distribution (jessie), this problem has been fixed in\nversion 1:1.2.37-4+deb8u1.\n\nFor the testing distribution (stretch), this problem has been fixed\nin version 1:1.2.40+svn150520-1.\n\nFor the unstable distribution (sid), this problem has been fixed in\nversion 1:1.2.40+svn150520-1.\n\nWe recommend that you upgrade your libapache-mod-jk packages.\n\nFurther information about Debian Security Advisories, how to apply\nthese updates to your system and frequently asked questions can be\nfound at: https://www.debian.org/security/\n\nMailing list: debian-security-announce@lists.debian.org\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1\n\niQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y\nYHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh
 5QToOvvMeFHqXLS2\n4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v\nykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp\nXeZvCHV5dHYJLfCOn3bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c\nO3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+\nSpfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG\nli9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv\nLBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9\n4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g\ncCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0\nXVZyRUFDwW4cMiJnJ49U\n=M39D\n-----END PGP SIGNATURE-----\n\n\n--\nTo UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org\nwith a subject of \"unsubscribe\". Trouble? Contact listmaster@lists.debian.org\nArchive: https://lists.debian.org/E1Z0E7U-0004Bc-Jv@master.debian.org"
+  "text": "Markus Koschany apo@gambaru.de debian-security-announce@lists.debian.org debian-security-announce@lists.debian.org [SECURITY] [DSA 3278-1] libapache-mod-jk security update -----BEGIN PGP SIGNED MESSAGE-----\r\nHash: SHA512\r\n\r\n- -------------------------------------------------------------------------\r\nDebian Security Advisory DSA-3278-1                   security@debian.org\r\nhttp://www.debian.org/security/                           Markus Koschany\r\nJune 03, 2015                          http://www.debian.org/security/faq\r\n- -------------------------------------------------------------------------\r\n\r\nPackage        : libapache-mod-jk\r\nCVE ID         : CVE-2014-8111\r\nDebian Bug     : 783233\r\n\r\nAn information disclosure flaw due to incorrect JkMount/JkUnmount\r\ndirectives processing was found in the Apache 2 module mod_jk to forward\r\nrequests from the Apache web server to Tomcat. A JkUnmount rule for a\r\nsubtree of a previous JkMount rule could be
  ignored. This could allow a\r\nremote attacker to potentially access a private artifact in a tree that\r\nwould otherwise not be accessible to them.\r\n\r\nFor the oldstable distribution (wheezy), this problem has been fixed\r\nin version 1:1.2.37-1+deb7u1.\r\n\r\nFor the stable distribution (jessie), this problem has been fixed in\r\nversion 1:1.2.37-4+deb8u1.\r\n\r\nFor the testing distribution (stretch), this problem has been fixed\r\nin version 1:1.2.40+svn150520-1.\r\n\r\nFor the unstable distribution (sid), this problem has been fixed in\r\nversion 1:1.2.40+svn150520-1.\r\n\r\nWe recommend that you upgrade your libapache-mod-jk packages.\r\n\r\nFurther information about Debian Security Advisories, how to apply\r\nthese updates to your system and frequently asked questions can be\r\nfound at: https://www.debian.org/security/\r\n\r\nMailing list: debian-security-announce@lists.debian.org\r\n-----BEGIN PGP SIGNATURE-----\r\nVersion: GnuPG v1\r\n\r\niQIcBAEBCgAGBQJVb0AhAAoJEAVMuP
 MTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y\r\nYHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh5QToOvvMeFHqXLS2\r\n4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v\r\nykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp\r\nXeZvCHV5dHYJLfCOn3bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c\r\nO3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+\r\nSpfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG\r\nli9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv\r\nLBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9\r\n4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g\r\ncCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0\r\nXVZyRUFDwW4cMiJnJ49U\r\n=M39D\r\n-----END PGP SIGNATURE-----\r\n\r\n\r\n--\r\nTo UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org\r\nwith a subject of \"unsubscribe\". Trouble? Contact listmaster@lists.debian.org\r\nArchive: https://lists.debian.org/E1Z0E7
 U-0004Bc-Jv@master.debian.org"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/recursiveMail.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/recursiveMail.eml b/mailbox/store/src/test/resources/eml/recursiveMail.eml
index 65dae2b..84e3de4 100644
--- a/mailbox/store/src/test/resources/eml/recursiveMail.eml
+++ b/mailbox/store/src/test/resources/eml/recursiveMail.eml
@@ -1,77 +1,77 @@
-Return-Path: <mb...@linagora.com>
-Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
-	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
-	 Wed, 10 Jun 2015 10:45:29 +0200
-X-Sieve: CMU Sieve 2.2
-Received: from [10.69.2.28] (mne69-10-88-173-78-196.fbx.proxad.net [88.173.78.196])
-	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
-	(No client certificate requested)
-	by alderaan.linagora.com (Postfix) with ESMTPSA id 7F33E728
-	for <bt...@linagora.com>; Wed, 10 Jun 2015 10:45:28 +0200 (CEST)
-Message-ID: <55...@linagora.com>
-Date: Wed, 10 Jun 2015 10:45:27 +0200
-From: Matthieu Baechler <mb...@linagora.com>
-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0
-MIME-Version: 1.0
-To: btellier@linagora.com
-Subject: Fwd: Courbe Sprint
-References: <55...@linagora.com>
-In-Reply-To: <55...@linagora.com>
-X-Forwarded-Message-Id: <55...@linagora.com>
-Content-Type: multipart/mixed;
- boundary="------------080603090509090707040003"
-
-This is a multi-part message in MIME format.
---------------080603090509090707040003
-Content-Type: text/plain; charset=utf-8; format=flowed
-Content-Transfer-Encoding: 7bit
-
-Forward as attachment !
-
-
-
---------------080603090509090707040003
-Content-Type: message/rfc822;
- name="Courbe Sprint.eml"
-Content-Transfer-Encoding: 8bit
-Content-Disposition: attachment;
- filename="Courbe Sprint.eml"
-
-Return-Path: <ad...@linagora.com>
-Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
-	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
-	 Wed, 03 Jun 2015 08:59:45 +0200
-X-Sieve: CMU Sieve 2.2
-Received: from [10.69.43.36] (mne69-10-88-173-78-196.fbx.proxad.net [88.173.78.196])
-	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
-	(No client certificate requested)
-	by alderaan.linagora.com (Postfix) with ESMTPSA id 4FBAF720
-	for <mb...@linagora.com>; Wed,  3 Jun 2015 08:59:45 +0200 (CEST)
-Message-ID: <55...@linagora.com>
-Date: Wed, 03 Jun 2015 08:59:44 +0200
-From: Antoine DUPRAT <ad...@linagora.com>
-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
-MIME-Version: 1.0
-To: "mbaechler@linagora.com" <mb...@linagora.com>
-Subject: Courbe Sprint
-Content-Type: multipart/mixed;
- boundary="------------000406070706000403020805"
-
-This is a multi-part message in MIME format.
---------------000406070706000403020805
-Content-Type: text/plain; charset=utf-8; format=flowed
-Content-Transfer-Encoding: 8bit
-
-Textual content of one attachment ( mail signature )
-
---------------000406070706000403020805
-Content-Type: application/vnd.oasis.opendocument.spreadsheet;
- name="Sprint-2015-05-18.ods"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
- filename="Sprint-2015-05-18.ods"
-
-Spread shit datas !
---------------000406070706000403020805--
-
---------------080603090509090707040003--
+Return-Path: <mb...@linagora.com>
+Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
+	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
+	 Wed, 10 Jun 2015 10:45:29 +0200
+X-Sieve: CMU Sieve 2.2
+Received: from [10.69.2.28] (mne69-10-88-173-78-196.fbx.proxad.net [88.173.78.196])
+	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
+	(No client certificate requested)
+	by alderaan.linagora.com (Postfix) with ESMTPSA id 7F33E728
+	for <bt...@linagora.com>; Wed, 10 Jun 2015 10:45:28 +0200 (CEST)
+Message-ID: <55...@linagora.com>
+Date: Wed, 10 Jun 2015 10:45:27 +0200
+From: Matthieu Baechler <mb...@linagora.com>
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.7.0
+MIME-Version: 1.0
+To: btellier@linagora.com
+Subject: Fwd: Courbe Sprint
+References: <55...@linagora.com>
+In-Reply-To: <55...@linagora.com>
+X-Forwarded-Message-Id: <55...@linagora.com>
+Content-Type: multipart/mixed;
+ boundary="------------080603090509090707040003"
+
+This is a multi-part message in MIME format.
+--------------080603090509090707040003
+Content-Type: text/plain; charset=utf-8; format=flowed
+Content-Transfer-Encoding: 7bit
+
+Forward as attachment !
+
+
+
+--------------080603090509090707040003
+Content-Type: message/rfc822;
+ name="Courbe Sprint.eml"
+Content-Transfer-Encoding: 8bit
+Content-Disposition: attachment;
+ filename="Courbe Sprint.eml"
+
+Return-Path: <ad...@linagora.com>
+Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
+	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
+	 Wed, 03 Jun 2015 08:59:45 +0200
+X-Sieve: CMU Sieve 2.2
+Received: from [10.69.43.36] (mne69-10-88-173-78-196.fbx.proxad.net [88.173.78.196])
+	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
+	(No client certificate requested)
+	by alderaan.linagora.com (Postfix) with ESMTPSA id 4FBAF720
+	for <mb...@linagora.com>; Wed,  3 Jun 2015 08:59:45 +0200 (CEST)
+Message-ID: <55...@linagora.com>
+Date: Wed, 03 Jun 2015 08:59:44 +0200
+From: Antoine DUPRAT <ad...@linagora.com>
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.6.0
+MIME-Version: 1.0
+To: "mbaechler@linagora.com" <mb...@linagora.com>
+Subject: Courbe Sprint
+Content-Type: multipart/mixed;
+ boundary="------------000406070706000403020805"
+
+This is a multi-part message in MIME format.
+--------------000406070706000403020805
+Content-Type: text/plain; charset=utf-8; format=flowed
+Content-Transfer-Encoding: 8bit
+
+Textual content of one attachment ( mail signature )
+
+--------------000406070706000403020805
+Content-Type: application/vnd.oasis.opendocument.spreadsheet;
+ name="Sprint-2015-05-18.ods"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="Sprint-2015-05-18.ods"
+
+Spread shit datas !
+--------------000406070706000403020805--
+
+--------------080603090509090707040003--


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[13/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/frnog.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/frnog.eml b/mailbox/store/src/test/resources/eml/frnog.eml
index 505fbde..467b415 100644
--- a/mailbox/store/src/test/resources/eml/frnog.eml
+++ b/mailbox/store/src/test/resources/eml/frnog.eml
@@ -1,94 +1,94 @@
-Return-Path: <fr...@frnog.org>
-Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Tue, 02 Jun 2015 12:01:42 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx2.minet.net (Postfix) with ESMTP id E92F2A25320
-	for <be...@minet.net>; Tue,  2 Jun 2015 12:01:46 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.499
-X-Spam-Level:
-X-Spam-Status: No, score=-1.499 required=1 tests=[BAYES_00=-1.5,
-	UNPARSEABLE_RELAY=0.001] autolearn=ham
-Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id bRNLR9Tbk4Jg for <be...@minet.net>;
-	Tue,  2 Jun 2015 10:01:46 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.24.82.4; helo=cabale.usenet-fr.net; envelope-from=frnog-owner@frnog.org; receiver=benwa@minet.net
-Received: from cabale.usenet-fr.net (cabale.usenet-fr.net [217.24.82.4])
-	by mx2.minet.net (Postfix) with ESMTP id 089E7A2531A
-	for <be...@minet.net>; Tue,  2 Jun 2015 12:01:45 +0200 (CEST)
-Received: by cabale.usenet-fr.net (Postfix, from userid 90)
-	id A267298A5DC6; Tue,  2 Jun 2015 12:01:44 +0200 (CEST)
-X-Original-To: frnog@frnog.org
-Delivered-To: frnog@frnog.org
-Received: from mta.mail.waycom.net (mta.mail.waycom.net [194.177.32.18])
-	by cabale.usenet-fr.net (Postfix) with ESMTP id AE2E798A58FC
-	for <fr...@frnog.org>; Tue,  2 Jun 2015 12:01:01 +0200 (CEST)
-Received: from [127.0.0.1] (localhost [127.0.0.1])
-	by mta.mail.waycom.net (Postfix) with ESMTP id D30D6567E1
-	for <fr...@frnog.org>; Tue,  2 Jun 2015 12:00:56 +0200 (CEST)
-Received: from [127.0.0.1] (localhost [127.0.0.1])
- wcm-hv1-exch1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a) with Microsoft SMTP
- Server (TLS) id 15.0.847.32; Tue, 2 Jun 2015 12:00:56 +0200
-Message-ID: <55...@waycom.net>
-Date: Tue, 2 Jun 2015 12:00:55 +0200
-From: Guillaume Genty <gg...@waycom.net>
-Organization: Waycom
-MIME-Version: 1.0
-To: <fr...@frnog.org>
-Cc: no@no.com
-Bcc: no@no.com
-Content-Type: text/plain; charset="utf-8"; format=flowed
-Content-Transfer-Encoding: 8bit
-X-ClientProxiedBy: WCM-HV1-EXCH1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a) To
- wcm-hv1-exch1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a)
-X-C2ProcessedOrg: 9180093e-3f32-48c9-b36b-0805cbe4c266
-Subject: [FRnOG] [BIZ] Collecte de liens C2E/CELAN en DOM
-X-Loop: frnog@frnog.org
-X-Sequence: 5349
-Errors-to: frnog-owner@frnog.org
-Precedence: list
-Precedence: bulk
-Sender: frnog-request@frnog.org
-X-mailing-list: frnog@frnog.org
-List-Id: <frnog.frnog.org>
-List-Archive: <http://sympa.frnog.org/wss/arc/frnog>
-List-Help: <mailto:sympa@frnog.org?subject=help>
-List-Owner: <ma...@frnog.org>
-List-Post: <ma...@frnog.org>
-List-Subscribe: <mailto:sympa@frnog.org?subject=subscribe%20frnog>
-List-Unsubscribe: <mailto:sympa@frnog.org?subject=unsubscribe%20frnog>
-
-Bonjour le FRnOG,
-
-
-Je cherche un partenaire dans les DOM avec de la collecte C2E et/ou
-CELAN capable de revendre des liens et de remonter le trafic (en niveau
-2, L2TP ou PPP sur L2TP) en métropole, idéalement �  TH2.
-
-Nous aurions besoin des DOM suivants:
-- Guadeloupe
-- Martinique
-- Guyane
-- La Réunion
-(Toutes les plaques DOM sauf îles du nord)
-
-Merci d'avance !
-
-
-Cordialement,
-
---
-Guillaume Genty | WAYCOM
-Directeur Technique Adjoint
-24-28 Avenue du Général de Gaulle | F-92150 Suresnes, FRANCE
-T. : +33 (0)1 41 44 83 00 | F. : +33 (0)1 41 44 00 22
-ggenty@waycom.net | www.waycom.net
-
-
----------------------------
-Liste de diffusion du FRnOG
-http://www.frnog.org/
+Return-Path: <fr...@frnog.org>
+Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Tue, 02 Jun 2015 12:01:42 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx2.minet.net (Postfix) with ESMTP id E92F2A25320
+	for <be...@minet.net>; Tue,  2 Jun 2015 12:01:46 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.499
+X-Spam-Level:
+X-Spam-Status: No, score=-1.499 required=1 tests=[BAYES_00=-1.5,
+	UNPARSEABLE_RELAY=0.001] autolearn=ham
+Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id bRNLR9Tbk4Jg for <be...@minet.net>;
+	Tue,  2 Jun 2015 10:01:46 +0000 (UTC)
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=217.24.82.4; helo=cabale.usenet-fr.net; envelope-from=frnog-owner@frnog.org; receiver=benwa@minet.net
+Received: from cabale.usenet-fr.net (cabale.usenet-fr.net [217.24.82.4])
+	by mx2.minet.net (Postfix) with ESMTP id 089E7A2531A
+	for <be...@minet.net>; Tue,  2 Jun 2015 12:01:45 +0200 (CEST)
+Received: by cabale.usenet-fr.net (Postfix, from userid 90)
+	id A267298A5DC6; Tue,  2 Jun 2015 12:01:44 +0200 (CEST)
+X-Original-To: frnog@frnog.org
+Delivered-To: frnog@frnog.org
+Received: from mta.mail.waycom.net (mta.mail.waycom.net [194.177.32.18])
+	by cabale.usenet-fr.net (Postfix) with ESMTP id AE2E798A58FC
+	for <fr...@frnog.org>; Tue,  2 Jun 2015 12:01:01 +0200 (CEST)
+Received: from [127.0.0.1] (localhost [127.0.0.1])
+	by mta.mail.waycom.net (Postfix) with ESMTP id D30D6567E1
+	for <fr...@frnog.org>; Tue,  2 Jun 2015 12:00:56 +0200 (CEST)
+Received: from [127.0.0.1] (localhost [127.0.0.1])
+ wcm-hv1-exch1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a) with Microsoft SMTP
+ Server (TLS) id 15.0.847.32; Tue, 2 Jun 2015 12:00:56 +0200
+Message-ID: <55...@waycom.net>
+Date: Tue, 2 Jun 2015 12:00:55 +0200
+From: Guillaume Genty <gg...@waycom.net>
+Organization: Waycom
+MIME-Version: 1.0
+To: <fr...@frnog.org>
+Cc: no@no.com
+Bcc: no@no.com
+Content-Type: text/plain; charset="utf-8"; format=flowed
+Content-Transfer-Encoding: 8bit
+X-ClientProxiedBy: WCM-HV1-EXCH1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a) To
+ wcm-hv1-exch1.wcmnoc.local (2002:c3d6:f04a::c3d6:f04a)
+X-C2ProcessedOrg: 9180093e-3f32-48c9-b36b-0805cbe4c266
+Subject: [FRnOG] [BIZ] Collecte de liens C2E/CELAN en DOM
+X-Loop: frnog@frnog.org
+X-Sequence: 5349
+Errors-to: frnog-owner@frnog.org
+Precedence: list
+Precedence: bulk
+Sender: frnog-request@frnog.org
+X-mailing-list: frnog@frnog.org
+List-Id: <frnog.frnog.org>
+List-Archive: <http://sympa.frnog.org/wss/arc/frnog>
+List-Help: <mailto:sympa@frnog.org?subject=help>
+List-Owner: <ma...@frnog.org>
+List-Post: <ma...@frnog.org>
+List-Subscribe: <mailto:sympa@frnog.org?subject=subscribe%20frnog>
+List-Unsubscribe: <mailto:sympa@frnog.org?subject=unsubscribe%20frnog>
+
+Bonjour le FRnOG,
+
+
+Je cherche un partenaire dans les DOM avec de la collecte C2E et/ou
+CELAN capable de revendre des liens et de remonter le trafic (en niveau
+2, L2TP ou PPP sur L2TP) en métropole, idéalement �  TH2.
+
+Nous aurions besoin des DOM suivants:
+- Guadeloupe
+- Martinique
+- Guyane
+- La Réunion
+(Toutes les plaques DOM sauf îles du nord)
+
+Merci d'avance !
+
+
+Cordialement,
+
+--
+Guillaume Genty | WAYCOM
+Directeur Technique Adjoint
+24-28 Avenue du Général de Gaulle | F-92150 Suresnes, FRANCE
+T. : +33 (0)1 41 44 83 00 | F. : +33 (0)1 41 44 00 22
+ggenty@waycom.net | www.waycom.net
+
+
+---------------------------
+Liste de diffusion du FRnOG
+http://www.frnog.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[08/17] james-project git commit: JAMES-1804 Index htmlBody attribute

Posted by ma...@apache.org.
JAMES-1804 Index htmlBody attribute


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/5f969dbd
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/5f969dbd
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/5f969dbd

Branch: refs/heads/master
Commit: 5f969dbdc8289755e1bde28555f5d99380ce79e7
Parents: cacb146
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 20 11:41:48 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:05 2016 +0200

----------------------------------------------------------------------
 .../elasticsearch/NodeMappingFactory.java       |  26 ++++-
 .../elasticsearch/json/IndexableMessage.java    |  12 ++-
 .../json/JsonMessageConstants.java              |   1 +
 .../mailbox/elasticsearch/json/MimePart.java    |  63 ++++++++---
 .../elasticsearch/query/CriterionConverter.java |   5 +-
 .../search/AbstractMessageSearchIndexTest.java  |  18 ++++
 .../store/src/test/resources/eml/htmlMail.json  |   1 +
 mailbox/store/src/test/resources/eml/mail.json  |   1 +
 .../src/test/resources/eml/nonTextual.json      |   1 +
 .../src/test/resources/eml/pgpSignedMail.json   |   1 +
 .../src/test/resources/eml/recursiveMail.json   |   1 +
 .../store/src/test/resources/eml/spamMail.json  |   1 +
 .../imap/scripts/UidSearchAtomsIndexer.test     | 106 ++++++++++++++++---
 13 files changed, 204 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
index 14af791..dffaa07 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/NodeMappingFactory.java
@@ -44,6 +44,8 @@ public class NodeMappingFactory {
     public static final String FIELDS = "fields";
     public static final String RAW = "raw";
     public static final String ANALYZER = "analyzer";
+    public static final String IGNORE_ABOVE = "ignore_above";
+    public static final int LUCENE_LIMIT = 32766;
 
     public static Client applyMapping(Client client) {
         return applyMapping(client, getMappingContent());
@@ -212,7 +214,28 @@ public class NodeMappingFactory {
                                     .endObject()
                                 .endObject()
                             .endObject()
-                            
+
+                            .startObject(JsonMessageConstants.TEXT_BODY)
+                                .field(TYPE, STRING)
+                                .startObject(FIELDS)
+                                    .startObject(RAW)
+                                        .field(TYPE, STRING)
+                                        .field(ANALYZER, IndexCreationFactory.CASE_INSENSITIVE)
+                                        .field(IGNORE_ABOVE, LUCENE_LIMIT)
+                                    .endObject()
+                                .endObject()
+                            .endObject()
+
+                            .startObject(JsonMessageConstants.HTML_BODY)
+                                .field(TYPE, STRING)
+                                .startObject(FIELDS)
+                                    .startObject(RAW)
+                                        .field(TYPE, STRING)
+                                        .field(ANALYZER, IndexCreationFactory.CASE_INSENSITIVE)
+                                        .field(IGNORE_ABOVE, LUCENE_LIMIT)
+                                    .endObject()
+                                .endObject()
+                            .endObject()
 
                             .startObject(JsonMessageConstants.TEXT)
                                 .field(TYPE, STRING)
@@ -220,6 +243,7 @@ public class NodeMappingFactory {
                                     .startObject(RAW)
                                         .field(TYPE, STRING)
                                         .field(ANALYZER, IndexCreationFactory.CASE_INSENSITIVE)
+                                        .field(IGNORE_ABOVE, LUCENE_LIMIT)
                                     .endObject()
                                 .endObject()
                             .endObject()

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
index a3d1ae4..e7a6e2c 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
@@ -51,7 +51,8 @@ public class IndexableMessage {
         try {
             MimePart parsingResult = new MimePartParser(message, textExtractor).parse();
             indexableMessage.users = users.stream().map(User::getUserName).collect(Guavate.toImmutableList());
-            indexableMessage.bodyText = parsingResult.locateFirstTextualBody();
+            indexableMessage.bodyText = parsingResult.locateFirstTextBody();
+            indexableMessage.bodyHtml = parsingResult.locateFirstHtmlBody();
             indexableMessage.setFlattenedAttachments(parsingResult);
             indexableMessage.copyHeaderFields(parsingResult.getHeaderCollection(), getSanitizedInternalDate(message, zoneId));
             indexableMessage.generateText();
@@ -111,7 +112,8 @@ public class IndexableMessage {
                 cc.serialize(),
                 bcc.serialize(),
                 subjects.serialize(),
-                bodyText.orElse(null))
+                bodyText.orElse(null),
+                bodyHtml.orElse(null))
             .filter(str -> !Strings.isNullOrEmpty(str))
             .collect(Collectors.joining(" "));
     }
@@ -142,6 +144,7 @@ public class IndexableMessage {
     private List<Property> properties;
     private List<MimePart> attachments;
     private Optional<String> bodyText;
+    private Optional<String> bodyHtml;
     private String text;
 
     @JsonProperty(JsonMessageConstants.ID)
@@ -274,6 +277,11 @@ public class IndexableMessage {
         return bodyText;
     }
 
+    @JsonProperty(JsonMessageConstants.HTML_BODY)
+    public Optional<String> getBodyHtml() {
+        return bodyHtml;
+    }
+
     @JsonProperty(JsonMessageConstants.HAS_ATTACHMENT)
     public boolean getHasAttachment() {
         return attachments.size() > 0;

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
index 25df70b..de91b89 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/JsonMessageConstants.java
@@ -41,6 +41,7 @@ public interface JsonMessageConstants {
     String DATE = "date";
     String SIZE = "size";
     String TEXT_BODY = "textBody";
+    String HTML_BODY = "htmlBody";
     String SENT_DATE = "sentDate";
     String ATTACHMENTS = "attachments";
     String TEXT = "text";

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
index 1db195a..28b229d 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/MimePart.java
@@ -19,12 +19,11 @@
 
 package org.apache.james.mailbox.elasticsearch.json;
 
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableMultimap;
-import com.google.common.collect.Lists;
-import com.google.common.collect.Multimap;
+import java.io.InputStream;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Stream;
+
 import org.apache.commons.io.FilenameUtils;
 import org.apache.james.mailbox.store.extractor.DefaultTextExtractor;
 import org.apache.james.mailbox.store.extractor.ParsedContent;
@@ -33,10 +32,12 @@ import org.apache.james.mime4j.stream.Field;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.InputStream;
-import java.util.List;
-import java.util.Optional;
-import java.util.stream.Stream;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.Preconditions;
+import com.google.common.collect.ImmutableMultimap;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Multimap;
 
 public class MimePart {
 
@@ -244,16 +245,50 @@ public class MimePart {
     }
 
     @JsonIgnore
-    public Optional<String> locateFirstTextualBody() {
-        return Stream.concat(
-                    Stream.of(this),
-                    attachments.stream())
+    public Optional<String> locateFirstTextBody() {
+        return firstBody(textAttachments()
+                .filter(this::isPlainSubType));
+    }
+
+    @JsonIgnore
+    public Optional<String> locateFirstHtmlBody() {
+        return firstBody(textAttachments()
+                .filter(this::isHtmlSubType));
+    }
+
+    private Optional<String> firstBody(Stream<MimePart> mimeParts) {
+        return mimeParts
                 .map((mimePart) -> mimePart.bodyTextContent)
                 .filter(Optional::isPresent)
                 .map(Optional::get)
                 .findFirst();
     }
 
+    private Stream<MimePart> textAttachments() {
+        return Stream.concat(
+                    Stream.of(this),
+                    attachments.stream())
+                .filter(this::isTextMediaType);
+    }
+
+    private boolean isTextMediaType(MimePart mimePart) {
+        return mimePart.getMediaType()
+                .filter("text"::equals)
+                .isPresent();
+    }
+
+    private boolean isPlainSubType(MimePart mimePart) {
+        return mimePart.getSubType()
+                .filter("plain"::equals)
+                .isPresent();
+    }
+
+    private boolean isHtmlSubType(MimePart mimePart) {
+        return mimePart.getSubType()
+                .filter("html"::equals)
+                .isPresent();
+    }
+
     @JsonIgnore
     public Stream<MimePart> getAttachmentsStream() {
         return attachments.stream()

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
index a49713d..10a1ca4 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/query/CriterionConverter.java
@@ -127,13 +127,16 @@ public class CriterionConverter {
     private QueryBuilder convertTextCriterion(SearchQuery.TextCriterion textCriterion) {
         switch (textCriterion.getType()) {
         case BODY:
-            return matchQuery(JsonMessageConstants.TEXT_BODY, textCriterion.getOperator().getValue());
+            return boolQuery()
+                    .should(matchQuery(JsonMessageConstants.TEXT_BODY, textCriterion.getOperator().getValue()))
+                    .should(matchQuery(JsonMessageConstants.HTML_BODY, textCriterion.getOperator().getValue()));
         case TEXT:
             return boolQuery()
                     .should(matchQuery(JsonMessageConstants.TEXT, textCriterion.getOperator().getValue()));
         case FULL:
             return boolQuery()
                     .should(matchQuery(JsonMessageConstants.TEXT_BODY, textCriterion.getOperator().getValue()))
+                    .should(matchQuery(JsonMessageConstants.HTML_BODY, textCriterion.getOperator().getValue()))
                     .should(matchQuery(JsonMessageConstants.ATTACHMENTS + "." + JsonMessageConstants.Attachment.TEXT_CONTENT,
                         textCriterion.getOperator().getValue()));
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
index b889778..1ac6b37 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
@@ -823,4 +823,22 @@ public abstract class AbstractMessageSearchIndexTest {
         assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
             .containsExactly(2l, 3l);
     }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenHtmlBodyMatches() throws Exception {
+        Assume.assumeTrue(messageSearchIndex.hasCapability(MessageSearchIndexCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("Regarder"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(7l);
+    }
+
+    @Test
+    public void searchWithFullTextShouldReturnMailsWhenHtmlBodyMatchesAndNonContinuousWords() throws Exception {
+        Assume.assumeTrue(messageSearchIndex.hasCapability(MessageSearchIndexCapabilities.Text));
+        SearchQuery searchQuery = new SearchQuery();
+        searchQuery.andCriteria(SearchQuery.textContains("Regarder tendance"));
+        assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
+            .containsExactly(7l);
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/resources/eml/htmlMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/htmlMail.json b/mailbox/store/src/test/resources/eml/htmlMail.json
index 287f2e9..ed99bc5 100644
--- a/mailbox/store/src/test/resources/eml/htmlMail.json
+++ b/mailbox/store/src/test/resources/eml/htmlMail.json
@@ -152,6 +152,7 @@
     }
   ],
   "textBody":"Meilleures destinations depuis Paris\r\nD�couvrez notre s�lection de destinations populaires.\r\n\r\nLisbonne - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=Lisbonne\r\nAmsterdam - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=Amsterdam\r\nNew York - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=New+York\r\nLondres - http://www.airbnb.fr/discovery/getaways?euid=df1e15a9-8137-607a-5090-2285b5a2b578&market=Londres\r\n\r\nVoir toutes les destinations\r\nhttps://www.airbnb.fr/go/Paris?euid=df1e15a9-8137-607a-5090-2285b5a2b578\r\n\r\nMerci,\r\nL'�quipe Airbnb\r\n\r\nP.O. Box 410807, San Francisco, CA 94121\r\n\r\nD�sinscription\r\nhttps://www.airbnb.com/email/unsubscribe?token=eyJlbWFpbF9hZGRyZXNzIjoiYmVub2l0dGVsbGllcjNAZ21haWwuY29tIiwiY2F0ZWdvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhdGUiOiJsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvbnMiLCJ1dWlkIjoiZGYxZTE1YTkt
 ODEzNy02MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=&mac=vGS62X2THS-Sb_5rdhsnrnff7tQ=\r\n\r\n### Airbnb ###\r\n",
+  "htmlBody": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n<html xmlns=\"http://www.w3.org/1999/xhtml\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;background-color:#f7f7f7;font-size:16px;color:#565a5c;line-height:150%'>\r\n\r\n  <head style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"viewport\" content=\"width=device-width\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"        _      _           _      \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-
 serif'>\r\n  <meta name=\"filler\" content=\"       (_)    | |         | |     \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"   __ _ _ _ __| |__  _ __ | |__   \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"  / _` | | '__| '_ \\| '_ \\| '_ \\  \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\" | (_| | | |  | |_) | | | | |_) | \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"  \\__,_|_|_|  |_.__/|_| |_|_.__/  \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  <meta name=\"filler\" content=\"                                  \" style='margin:0;paddi
 ng:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  \r\n  \r\n</head>\r\n\r\n\r\n  <body bgcolor=\"#EEEEEE\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;-webkit-text-size-adjust:none;-webkit-font-smoothing:antialiased;color:#565a5c;height:100%;background-color:#f7f7f7;font-size:16px;line-height:150%;width:100% !important'>\r\n    <div class=\"preheader\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;visibility:hidden;width:0;opacity:0;height:0;color:transparent;display:none !important'></div>\r\n    <table class=\"body-wrap\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;border-spacing:0;background-color:#f7f7f7;width:100%'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='ma
 rgin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n        <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n          <div class=\"content\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display:block;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:0px'>\r\n            <table class=\"head-wrap\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;border-spacing:0;margin-bottom:10px;margin-top:10px;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\
 ", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container header\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"content\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display:block;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:0px'>\r\n        <table style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n          <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n            <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-align: center;'>\r\n              <a href=\"https://www.airbnb.fr?eu
 id=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Airbnb\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                <img src=\"http://a0.muscache.com/airbnb/rookery/email/logos/logo2x-954e17b014b90e4ed3a9565864fa4676.png\" border=\"0\" alt=\"Airbnb\" width=\"123\" height=\"55\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n              </a>\r\n            </td>\r\n          </tr>\r\n        </table>\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n            \r\n            \r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right
 :15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0;'>\r\n  \r\n  <img src=\"http://a1.muscache.com/airbnb/rookery/email/engagement/email-top-destinations-header-b0fa5f6caa96df90ed926058e4473c50.jpg\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none;'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;wid
 th:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <h2 class=\"center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;font-weight:bold;padding-bottom:10px;font-size:24px;line-height:28px;text-rendering:optimizelegibility;text-align:center'>\r\n      Meilleures destinations depuis Paris\r\n    </h2>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Hel
 vetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n      <div class=\"p center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-a
 lign:center;'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          D�couvrez notre s�lection de destinations populaires.\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" 
 style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 row-space-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-bottom:25px;margin-top:25px'>\r\n        \r\n      <div class=\"p center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-align:center;'>\r\n  \r\n        <a href=\"https://www.airbnb.fr/go/Paris?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" class=\"btn btn-primary btn-small\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;vertical-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;border-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-space:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;b
 order-color:#ff5a5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;display:inline-block;padding-left:40px;padding-right:40px'>\r\n          Regarder\r\n        </a>\r\n\r\n</div>\r\n\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n\r\n<table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !importa
 nt;max-width:610px !important'>\r\n      <div class=\"row-space-5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-bottom:31.25px'>\r\n        \r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max
 -width:610px !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: uppercase; text-align: center'>\r\n      <strong style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        Destinations tendance depuis Paris\r\n      </strong>\r\n    </h5>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='m
 argin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 container-small\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-top:25px'>\r\n        \r\n\r\n      <div class=\"column padding\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n  
   <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n        <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=Lisbon&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img
  src=\"https://a0.muscache.com/ic/discover/178?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"Lisbonne\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvet
 ica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <t
 r style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        Lisbonne\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-
 family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container
 \" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvet
 ica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Le fado et le street art\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:
 \"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=Lisbon&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style
 ='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n        <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n          <div class=\"panel \" style='margin:0;padding:0;font-fam
 ily:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=Amsterdam&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img src=\"https://a2.muscache.com/ic/discover/8?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"Amsterdam\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helveti
 ca Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin
 :0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-siz
 e:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        Amsterdam\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    
 <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\",
  \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299
 ;text-transform: none'>\r\n          On y va pour�: Les v�los plus nombreux que les p�niches\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=Amsterdam&amp;euid=df1e15a9-813
 7-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n
     <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 container-small\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;margin-top:25px'>\r\n        \r\n\r\n      <div class=\"column padding\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 30
 0px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n        <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=New-York&amp;e
 uid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img src=\"https://a0.muscache.com/ic/discover/83?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"New York\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-f
 amily:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-seri
 f;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        New York\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style=
 'margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helv
 etica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      
 <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Les lumi�res et la ville qui ne dort jamais\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"
 left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=New-York&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", 
 Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n        <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 300px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica
 , Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n          <div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>\r\n  \r\n  <a href=\"https://www.airbnb.fr/go/world?destination=London&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n    <img src=\"https://a2.muscache.com/ic/discover/40?interpolation=lanczos-none&amp;output-format=jpg&amp;output-quality=70&amp;v=33b4f2&amp;downsize=655px:435px\" alt=\"Londres\" style='margin:0;padding:0;font-fa
 mily:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;display: block'>\r\n  </a>\r\n\r\n</div>\r\n\r\n<div class=\"panel \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-top:15px;padding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-width:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px 0 15px 13px'>\r\n  \r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-fam
 ily:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n      <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-s
 erif;padding:0 0px'>\r\n      <div class=\"h1 \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px;padding-bottom: 5px'>\r\n  \r\n        Londres\r\n\r\n</div>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%; margin-top: 5px'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td styl
 e='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;border-spacing:0'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n    <td class=\"container\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;display:block !important;max-width:610px !important;margin:0 auto !important'>\r\n     
  <div style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        \r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 80%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height: 120%'>\r\n  \r\n        <h5 
 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-transform: none'>\r\n          On y va pour�: Les pubs, l'heure du th�, la famille royale\r\n        </h5>\r\n\r\n</div>\r\n\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n    <div class=\"column\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;width:300px;float:left;width: 20%'>\r\n  <table align=\"left\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:0 5px;border-spacing:0'>\r\n    <tbody style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n   
      <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'>\r\n      <a href=\"https://www.airbnb.fr/go/world?destination=London&amp;euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n        <img alt=\"\" height=\"30\" src=\"http://a1.muscache.com/airbnb/rookery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=\"15\">\r\n      </a>\r\n</td>\r\n      </tr>\r\n    </tbody>\r\n  </table>\r\n</div>\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:0 0px'></td>\r\n  </tr>\r\n</table>\r\n\r\n</div>\r\n\r\n</td>\r\n      </tr>\r\n    </tbody>\
 r\n  </table>\r\n</div>\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n\r\n  <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"row-space-top-4 row-space-8\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;ma
 rgin-top:25px;margin-bottom:50px'>\r\n        \r\n    <div class=\"p \" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;' align=\"center\">\r\n  \r\n      <a href=\"https://www.airbnb.fr/go/Paris?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" class=\"btn btn-primary btn-small\" style='margin:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;vertical-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;border-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-space:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;border-color:#ff5a5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;display:inline-block;padding-left:40px;padding-right:40px'>\r\n        Voir toutes les destinations\r\n      </a>\r\n\r\n</div>\r\n\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif
 '></td>\r\n  </tr>\r\n</table>\r\n\r\n\r\n          </div>\r\n        </td>\r\n        <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n      </tr>\r\n\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n        <td class=\"container no-max-width\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n          <div class=\"section footer\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n  \r\n    <div class=\"row-padding-top-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;
 padding-top:25px'><div class=\"background-white\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;background-color:#ffffff'>\r\n    <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" class=\"row-padding-top-5 row-padding-5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;line-height:150%;border-spacing:0;padding-bottom:31.25px;padding-top:31.25px'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td align=\"center\" valign=\"top\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n          <table width=\"420px\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%'>\r\n            <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica
 \", Helvetica, Arial, sans-serif'>\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                <table cellpadding=\"5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width: auto;'>\r\n                  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-left: 5px; padding-right: 20px;' width=\"95px\">\r\n                      <img src=\"http://a1.muscache.com/airbnb/rookery/email/footer/illustration-5715ff5cf4f4d0687649ea7183b005f2.jpg\" border=\"0\" alt=\"Airbnb-traveler\" width=\"95\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;margin:0;display:bloc
 k;'>\r\n                    </td>\r\n\r\n                    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                      <table style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%'>\r\n                        <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                          <td colspan=\"4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                            <h2 style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10px'>\r\n                              Vivez le monde comme un local.\r\n                            </h2>\r\n            
               </td>\r\n                        </tr>\r\n                        <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                            <img src=\"http://a1.muscache.com/airbnb/rookery/email/footer/globe-70cdd2ed2615a13754d1cf2b50940b60.jpg\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n                          </td>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-left: 5px; text-align: left;'>\r\n                            <h4 class=\"accent-babu\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;font-size:16px;text-rendering:optimizelegibilit
 y;font-weight:bold;color:#00d1c1'>190</h4> <h6 class=\"row-space-top-neg text-muted\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-transform:uppercase;font-size:12px;font-weight:normal;text-rendering:optimizelegibility;margin-top:-5px;color:#9ca299;font-weight: normal; text-transform: uppercase;'>pays</h6>\r\n                          </td>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n                            <img src=\"http://a1.muscache.com/airbnb/rookery/email/footer/door-72de99e798d99b4321f1e88444216d6f.jpg\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n                          </td>\r\n                          <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding-left: 5px; text-align
 : left;'>\r\n                            <h4 class=\"accent-babu\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;font-size:16px;text-rendering:optimizelegibility;font-weight:bold;color:#00d1c1'>1,000,000</h4> <h6 class=\"row-space-top-neg text-muted\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-transform:uppercase;font-size:12px;font-weight:normal;text-rendering:optimizelegibility;margin-top:-5px;color:#9ca299;font-weight: normal; text-transform: uppercase;'>de logements</h6>\r\n                          </td>\r\n                        </tr>\r\n                      </table>\r\n                    </td>\r\n                  </tr>\r\n                </table>\r\n              </td>\r\n            </tr>\r\n          </table>\r\n        </td>\r\n      </tr>\r\n    </table>\r\n</div></div>\r\n\r\n<h5 class=\"center row-padding-top-4 row-padding-4\" style='margin:0;paddi
 ng:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;text-transform:uppercase;color:#9ca299;font-weight:normal;font-size:14px;text-rendering:optimizelegibility;padding-top:25px;padding-bottom:25px;text-align:center;text-transform:none;'>\r\n  Vous voyagez pour la premi�re fois ? <a href=\"https://www.airbnb.fr/help/getting-started/how-it-works?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>Retrouvez nos conseils pour d�couvrir comment r�server le logement id�al</a>.\r\n</h5>\r\n<hr class=\"row-space-4\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border:none;height:1px;background-color:#dbdbdb;margin-bottom:25px;margin-left: 20px; margin-right: 20px;'>\r\n\r\n\r\n  <div class=\"content center text-center\" style='font-family:\"Helvetica Neue\", \"Helvetica\", He
 lvetica, Arial, sans-serif;max-width:600px;padding:15px;margin:0 auto;display:block;padding-bottom:5px;padding-top:0px;color:#9ca299;font-size:14px;text-align:center;text-shadow:0 1px #ffffff;padding-left:5px;padding-right:5px'>\r\n    <table cellpadding=\"10\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%;padding: 10px;'>\r\n      <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <td align=\"center\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n          <table cellpadding=\"5\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%;width: auto;'>\r\n            <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-ser
 if'>\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://www.facebook.com/airbnb?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Facebook\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Facebook\" height=\"42\" src=\"http://a0.muscache.com/airbnb/rookery/email/footer/facebook-3c1b46bf609e7b12c2b8b9576911e11a.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://twitter.com/airbnb?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Twitter\"
  style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Twitter\" height=\"42\" src=\"http://a0.muscache.com/airbnb/rookery/email/footer/twitter-380e6f33075cc0e9c18231507ae93684.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://plus.google.com/+airbnb?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Google+\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Google+\" height=\"42\" src=\"http://a1.muscache.com/airbnb/rookery/email/footer/gplus-ecd91
 5cbce9c4696bd2cbfaf05631547.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n\r\n              <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding: 5px;'>\r\n                <a href=\"https://www.pinterest.com/airbnb/?euid=df1e15a9-8137-607a-5090-2285b5a2b578\" title=\"Pinterest\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>\r\n                  <img alt=\"Pinterest\" height=\"42\" src=\"http://a1.muscache.com/airbnb/rookery/email/footer/pinterest-3d350b44ba720d4d254d59b9014d3838.png\" width=\"42\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%;border:0'>\r\n</a>              </td>\r\n            </tr>\r\n          </table>\r\n        
 </td>\r\n      </tr>\r\n    </table>\r\n\r\n    <table class=\"row\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;width:100%'>\r\n  <tr style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n    <td class=\"container\" style='padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;display:block !important;margin:0 auto !important;clear:both !important;max-width:610px !important'>\r\n      <div class=\"content\" style='font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;margin:0 auto;display:block;padding-left:5px;padding-right:5px;padding-bottom:5px;padding-top:0px;color:#9ca299;font-size:14px;text-align:center;text-shadow:0 1px #ffffff'>\r\n 
        \r\n        Envoy� avec <img alt=\"&amp;#9829;\" height=\"10\" src=\"http://a1.muscache.com/airbnb/rookery/email/footer/heart-eeaa9b6467981f6b84031fc9570ed630.png\" width=\"12\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'> depuis le si�ge d'Airbnb<br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        P.O. Box 410807, San Francisco, CA 94121 <br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n        <a class=\"muted\" href=\"https://www.airbnb.com/email/unsubscribe?token=eyJlbWFpbF9hZGRyZXNzIjoiYmVub2l0dGVsbGllcjNAZ21haWwuY29tIiwiY2F0ZWdvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhdGUiOiJsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvbnMiLCJ1dWlkIjoiZGYxZTE1YTktODEzNy02MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=&amp;mac=vGS62X2THS-Sb_5rdhsnrnff7tQ=\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helveti
 ca\", Helvetica, Arial, sans-serif;color:#9ca299;text-decoration:underline'>\r\n  D�sinscription\r\n</a>\r\n\r\n\r\n      </div>\r\n    </td>\r\n    <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n  </tr>\r\n</table>\r\n  </div>\r\n\r\n  <div class=\"timestamp\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;color:#EEEEEE;font-size:1px;height:1px;line-height:1px'>2015-06-04 07:36:07 +0000</div>\r\n</div>\r\n<br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'><br style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'>\r\n\r\n        </td>\r\n        <td style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif'></td>\r\n      </tr>\r\n    </table>\r\n\r\n    <span class=\"ghost\" style='margin:0;padding:0;font-family:
 \"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;opacity:0 !important;font-size:1px !important;color:#EEEEEE !important'>### Airbnb ###</span>\r\n  </body>\r\n  <img class=\"tracking\" src=\"https://www.airbnb.com/tracking/pixel/email_opened/1433403367?rookery_uuid=df1e15a9-8137-607a-5090-2285b5a2b578\" style='margin:0;padding:0;font-family:\"Helvetica Neue\", \"Helvetica\", Helvetica, Arial, sans-serif;max-width:100%'>\r\n\r\n</html>\r\n",
   "isDeleted":true,
   "isDraft":false,
   "isAnswered":false,

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/resources/eml/mail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail.json b/mailbox/store/src/test/resources/eml/mail.json
index bb9a5e5..ed0f5c0 100644
--- a/mailbox/store/src/test/resources/eml/mail.json
+++ b/mailbox/store/src/test/resources/eml/mail.json
@@ -156,6 +156,7 @@
  ],
  "attachments": [],
  "textBody": "Hi all,\n\nAn update between the 17th of May and the 1st of June seems to have broken\nInkscape's ability to open existing svg files on my computer. Any svg I\nopen (including stock files off the internet) cause Inkscape to crash with\n\"Inkscape encountered an internal error and will close now\". I even created\na new, test svg consisting only of a few shapes and text, but I can't open\nit again after saving. Has anyone else seen anything like this?\n\nThanks!\n",
+ "htmlBody": null,
  "isDraft": false,
  "isFlagged": true,
  "isAnswered": false,

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/resources/eml/nonTextual.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/nonTextual.json b/mailbox/store/src/test/resources/eml/nonTextual.json
index 903ef44..d2297e7 100644
--- a/mailbox/store/src/test/resources/eml/nonTextual.json
+++ b/mailbox/store/src/test/resources/eml/nonTextual.json
@@ -147,6 +147,7 @@
       "textContent":"Awesome document provided for text extraction�!\n"}
   ],
   "textBody":"This mail have a non textual attachment !\n\n",
+  "htmlBody": null,
   "isAnswered":false,
   "isDeleted":false,
   "isDraft":false,

http://git-wip-us.apache.org/repos/asf/james-project/blob/5f969dbd/mailbox/store/src/test/resources/eml/pgpSignedMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/pgpSignedMail.json b/mailbox/store/src/test/resources/eml/pgpSignedMail.json
index 1d19605..019a538 100644
--- a/mailbox/store/src/test/resources/eml/pgpSignedMail.json
+++ b/mailbox/store/src/test/resources/eml/pgpSignedMail.json
@@ -163,6 +163,7 @@
   ],
   "attachments": [],
   "textBody": "-----BEGIN PGP SIGNED MESSAGE-----\nHash: SHA512\n\n- -------------------------------------------------------------------------\nDebian Security Advisory DSA-3278-1                   security@debian.org\nhttp://www.debian.org/security/                           Markus Koschany\nJune 03, 2015                          http://www.debian.org/security/faq\n- -------------------------------------------------------------------------\n\nPackage        : libapache-mod-jk\nCVE ID         : CVE-2014-8111\nDebian Bug     : 783233\n\nAn information disclosure flaw due to incorrect JkMount/JkUnmount\ndirectives processing was found in the Apache 2 module mod_jk to forward\nrequests from the Apache web server to Tomcat. A JkUnmount rule for a\nsubtree of a previous JkMount rule could be ignored. This could allow a\nremote attacker to potentially access a private artifact in a tree that\nwould otherwise not be accessible to them.\n\nFor the oldstable distribution (wheezy), this probl
 em has been fixed\nin version 1:1.2.37-1+deb7u1.\n\nFor the stable distribution (jessie), this problem has been fixed in\nversion 1:1.2.37-4+deb8u1.\n\nFor the testing distribution (stretch), this problem has been fixed\nin version 1:1.2.40+svn150520-1.\n\nFor the unstable distribution (sid), this problem has been fixed in\nversion 1:1.2.40+svn150520-1.\n\nWe recommend that you upgrade your libapache-mod-jk packages.\n\nFurther information about Debian Security Advisories, how to apply\nthese updates to your system and frequently asked questions can be\nfound at: https://www.debian.org/security/\n\nMailing list: debian-security-announce@lists.debian.org\n-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1\n\niQIcBAEBCgAGBQJVb0AhAAoJEAVMuPMTQ89Ef+gP/1e6ZRHna5rrHYiaclwnWg8Y\nYHIjWwqfsnldjqfTirrBtf9TlLZrqIUHhaeaA0PEbzvzqVfh5QToOvvMeFHqXLS2\n4eSmUtc3hb5BQlSvPsuP5RzeDYPy0S2zRaJlQ6dKSXmxb3Zh1drjxUg9kzpEGU9v\nykwDIRO7w+YpfcNqoxldgL0JOngMa9Qhl/wSwLV559wrESiSp2QifN/JZz2YRvsp\nXeZvCHV5dHYJLfCOn3
 bQ6QRf0votEFObrW2T14noo/Srxv1n+4sstql7bCDbKW8c\nO3SrlEk7HX5N4qPlG8Jo288NH1gqxXbuJ9SqF1MlIJsYE2UWT2nydfHVM1vMH23+\nSpfd51SfmrK2GSOg2tna29BDGInDZ0Tud+GqsTKMMICgtg7SCK4FIrZYhhFFompG\nli9h7DE96Cbv6J5a8JSIYg/kyzFOO8VcYakOUOJ2Oyo8Tv2a6GJLF9azjsThE7bv\nLBUWbk2cOsd98BYtsUwFKJhqQLBvRCYnw85/WbC8EDmkbyrxIKf0uaF1e6vc9qV9\n4OKmIgbNageXDzrfnc9PrwZ05xPiPhFJUk3Bu3XzosMzqU7XBPhtjkvPGJGcMv9g\ncCepn+vtFQFBR612a4Gm16XN068zbnBR8VHx3PRNIVkPyhoxR55RdFtwPL7FCHX0\nXVZyRUFDwW4cMiJnJ49U\n=M39D\n-----END PGP SIGNATURE-----\n\n\n--\nTo UNSUBSCRIBE, email to debian-security-announce-REQUEST@lists.debian.org\nwith a subject of \"unsubscribe\". Trouble? Contact listmaster@lists.debian.org\nArchive: https://lists.debian.org/E1Z0E7U-0004Bc-Jv@master.debian.org",
+  "htmlBody": null,
   "isDeleted": true,
   "isDraft": false,
   "isAnswered": false,


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[09/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/spamMail.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/spamMail.eml b/mailbox/store/src/test/resources/eml/spamMail.eml
index 2359ec3..4c239ca 100644
--- a/mailbox/store/src/test/resources/eml/spamMail.eml
+++ b/mailbox/store/src/test/resources/eml/spamMail.eml
@@ -1,143 +1,144 @@
-Return-Path: <ro...@listes.minet.net>
-Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Wed, 03 Jun 2015 11:05:45 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from smtp.minet.net (smtp.minet.net [192.168.102.18])
-	by mx1.minet.net (Postfix) with ESMTP id F06FE610F72;
-	Wed,  3 Jun 2015 11:05:48 +0200 (CEST)
-Received: from listes.minet.net (listes.minet.net [192.168.102.29])
-	by smtp.minet.net (Postfix) with ESMTP id AAB15610F70;
-	Wed,  3 Jun 2015 09:05:48 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=minet.net; s=mail;
-	t=1433322348; bh=8OtmVRMX7IWWyQo8WQIi5rKeDEQFghSX2r1WN9/pqUk=;
-	h=From:Date:To:Subject:List-Id:List-Unsubscribe:List-Post:List-Help:
-	 List-Subscribe:From;
-	b=UkthSFXn5mtPnn7sYvDJIxgCk1O36L0p+hTOnI/xTF2WRMGJyXtLyCdFdE5jQ5gE4
-	 EGNdhwmfjaKsoE7IDtc/4GrPvbnM8i9ojpSOBW1hXJPOeYnRgah/4gsXsMJWvmmq/A
-	 4oTnw8ZswFXiShDmBMyaSEZuVrWTdaPBgUhVhGw8=
-Received: from listes.minet.net (listes.minet.net [127.0.0.1])
-	by listes.minet.net (Postfix) with ESMTP id 9CD5BA27FF9;
-	Wed,  3 Jun 2015 09:05:48 +0000 (UTC)
-X-Original-To: root@listes.minet.net
-Delivered-To: root@listes.minet.net
-Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
- by listes.minet.net (Postfix) with ESMTP id B8C1FA27FEF
- for <ro...@listes.minet.net>; Wed,  3 Jun 2015 09:05:46 +0000 (UTC)
-Received: from localhost (spam.minet.net [192.168.102.97])
- by mx1.minet.net (Postfix) with ESMTP id AD28B610F6D
- for <ro...@listes.minet.net>; Wed,  3 Jun 2015 11:05:46 +0200 (CEST)
-Content-Type: multipart/mixed; boundary="----------=_1433322346-12583-0"
-Content-Transfer-Encoding: 7bit
-MIME-Version: 1.0
-From: "Content-filter at spam.minet.net" <po...@minet.net>
-Date: Wed, 3 Jun 2015 09:05:46 +0000 (UTC)
-To: <ro...@listes.minet.net>
-Message-ID: <VA...@spam.minet.net>
-Subject: [root] UNCHECKED contents in mail FROM <qu...@riseup.net>
-X-BeenThere: root@listes.minet.net
-X-Mailman-Version: 2.1.15
-Precedence: list
-List-Id: <root.listes.minet.net>
-List-Unsubscribe: <https://listes.minet.net/cgi-bin/mailman/options/root>,
- <mailto:root-request@listes.minet.net?subject=unsubscribe>
-List-Post: <ma...@listes.minet.net>
-List-Help: <mailto:root-request@listes.minet.net?subject=help>
-List-Subscribe: <https://listes.minet.net/cgi-bin/mailman/listinfo/root>,
- <mailto:root-request@listes.minet.net?subject=subscribe>
-Errors-To: root-bounces@listes.minet.net
-Sender: "root" <ro...@listes.minet.net>
-
-This is a multi-part message in MIME format...
-
-------------=_1433322346-12583-0
-Content-Type: text/plain; charset="UTF-8"
-Content-Disposition: inline
-Content-Transfer-Encoding: 7bit
-
-No viruses were found.
-
-Content type: Unchecked
-Internal reference code for the message is 12583-16/Ss-IZaXqmZao
-
-According to a 'Received:' trace, the message apparently originated at:
-  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:
-  quentin.h
-
-Return-Path: <qu...@riseup.net>
-From: Quentin <qu...@riseup.net>
-Message-ID: <55...@riseup.net>
-Subject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=
-  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=
-  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=
-  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=
-Not quarantined.
-
-The message WILL BE relayed to:
-<ya...@minet.net>
-
-
-------------=_1433322346-12583-0
-Content-Type: text/rfc822-headers; name="header"
-Content-Disposition: inline; filename="header"
-Content-Transfer-Encoding: 7bit
-Content-Description: Message header section
-
-Return-Path: <qu...@riseup.net>
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=198.252.153.129; helo=mx1.riseup.net; envelope-from=quentin.h@riseup.net; receiver=yann@minet.net
-Authentication-Results: mx2.minet.net; dkim=pass
-	reason="1024-bit key; insecure key"
-	header.d=riseup.net header.i=@riseup.net header.b=RVs2xP3R;
-	dkim-adsp=pass; dkim-atps=neutral
-Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129])
-	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
-	(No client certificate requested)
-	by mx2.minet.net (Postfix) with ESMTPS id 6D9E0A27FCA
-	for <ya...@minet.net>; Wed,  3 Jun 2015 11:05:44 +0200 (CEST)
-Received: from plantcutter.riseup.net (plantcutter-pn.riseup.net [10.0.1.121])
-	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
-	(Client CN "*.riseup.net", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK))
-	by mx1.riseup.net (Postfix) with ESMTPS id 5CC6541A75;
-	Wed,  3 Jun 2015 09:05:42 +0000 (UTC)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak;
-	t=1433322342; bh=Lz3x5ntYzOhQOpyviKamr5VE0TinfpBCnsivvJzojYk=;
-	h=Date:From:To:Subject:References:In-Reply-To:From;
-	b=RVs2xP3RV4zWi3Jbs6p85cO8s44yLq1LXxwe6NQvgZjsHQdWaMY16jQzSbCRRdCRY
-	 IesTpg1mncqIinhXxL9grw2+0MgO+E0HM0ZPZzXM/xNTGZpALI1X6tDM0rxB+GEnHa
-	 NfGRbWnesWFLyba7am02KbTKeKq7svIBBmSbaFsE=
-Received: from [127.0.0.1] (localhost [127.0.0.1])
-	(Authenticated sender: quentin.h)
-	with ESMTPSA id 6DBAC20827
-Message-ID: <55...@riseup.net>
-Date: Wed, 03 Jun 2015 11:05:37 +0200
-From: Quentin <qu...@riseup.net>
-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
-MIME-Version: 1.0
-To: Yann Sionneau <ya...@minet.net>, =?UTF-8?B?U3TDqXBoYW5pZSBPdWlsbG9u?=
- <st...@ouillon.fr>, =?UTF-8?B?TmF0YWxpYSBDYWxkZXJvbiBCZWx0csOhbg==?=
- <na...@calderon.be>
-Subject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=
- =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=
- =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=
- =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=
-References: <55...@wootdevices.io> <55...@minet.net>
-In-Reply-To: <55...@minet.net>
-OpenPGP: id=AA5EE4B4EA20E2BEAA70B98E49CBF006922B990A;
-	url=pgp.mit.edu
-Content-Type: multipart/encrypted;
- protocol="application/pgp-encrypted";
- boundary="M0xVhKIvXqi85dG57o5RfCUAoFwhAw1Nh"
-X-Virus-Scanned: clamav-milter 0.98.7 at mx1
-X-Virus-Status: Clean
-
-------------=_1433322346-12583-0
-Content-Type: text/plain; charset="iso-8859-1"
-MIME-Version: 1.0
-Content-Transfer-Encoding: quoted-printable
-Content-Disposition: inline
-
-_______________________________________________
-root mailing list
-root@listes.minet.net
-https://listes.minet.net/cgi-bin/mailman/listinfo/root
-------------=_1433322346-12583-0--
+Return-Path: <ro...@listes.minet.net>
+Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Wed, 03 Jun 2015 11:05:45 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from smtp.minet.net (smtp.minet.net [192.168.102.18])
+	by mx1.minet.net (Postfix) with ESMTP id F06FE610F72;
+	Wed,  3 Jun 2015 11:05:48 +0200 (CEST)
+Received: from listes.minet.net (listes.minet.net [192.168.102.29])
+	by smtp.minet.net (Postfix) with ESMTP id AAB15610F70;
+	Wed,  3 Jun 2015 09:05:48 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=minet.net; s=mail;
+	t=1433322348; bh=8OtmVRMX7IWWyQo8WQIi5rKeDEQFghSX2r1WN9/pqUk=;
+	h=From:Date:To:Subject:List-Id:List-Unsubscribe:List-Post:List-Help:
+	 List-Subscribe:From;
+	b=UkthSFXn5mtPnn7sYvDJIxgCk1O36L0p+hTOnI/xTF2WRMGJyXtLyCdFdE5jQ5gE4
+	 EGNdhwmfjaKsoE7IDtc/4GrPvbnM8i9ojpSOBW1hXJPOeYnRgah/4gsXsMJWvmmq/A
+	 4oTnw8ZswFXiShDmBMyaSEZuVrWTdaPBgUhVhGw8=
+Received: from listes.minet.net (listes.minet.net [127.0.0.1])
+	by listes.minet.net (Postfix) with ESMTP id 9CD5BA27FF9;
+	Wed,  3 Jun 2015 09:05:48 +0000 (UTC)
+X-Original-To: root@listes.minet.net
+Delivered-To: root@listes.minet.net
+Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
+ by listes.minet.net (Postfix) with ESMTP id B8C1FA27FEF
+ for <ro...@listes.minet.net>; Wed,  3 Jun 2015 09:05:46 +0000 (UTC)
+Received: from localhost (spam.minet.net [192.168.102.97])
+ by mx1.minet.net (Postfix) with ESMTP id AD28B610F6D
+ for <ro...@listes.minet.net>; Wed,  3 Jun 2015 11:05:46 +0200 (CEST)
+Content-Type: multipart/mixed; boundary="----------=_1433322346-12583-0"
+Content-Transfer-Encoding: 7bit
+MIME-Version: 1.0
+From: "Content-filter at spam.minet.net" <po...@minet.net>
+Date: Wed, 3 Jun 2015 09:05:46 +0000 (UTC)
+To: <ro...@listes.minet.net>
+Message-ID: <VA...@spam.minet.net>
+Subject: [root] UNCHECKED contents in mail FROM <qu...@riseup.net>
+X-BeenThere: root@listes.minet.net
+X-Mailman-Version: 2.1.15
+Precedence: list
+List-Id: <root.listes.minet.net>
+List-Unsubscribe: <https://listes.minet.net/cgi-bin/mailman/options/root>,
+ <mailto:root-request@listes.minet.net?subject=unsubscribe>
+List-Post: <ma...@listes.minet.net>
+List-Help: <mailto:root-request@listes.minet.net?subject=help>
+List-Subscribe: <https://listes.minet.net/cgi-bin/mailman/listinfo/root>,
+ <mailto:root-request@listes.minet.net?subject=subscribe>
+Errors-To: root-bounces@listes.minet.net
+Sender: "root" <ro...@listes.minet.net>
+
+
+This is a multi-part message in MIME format...
+
+------------=_1433322346-12583-0
+Content-Type: text/plain; charset="UTF-8"
+Content-Disposition: inline
+Content-Transfer-Encoding: 7bit
+
+No viruses were found.
+
+Content type: Unchecked
+Internal reference code for the message is 12583-16/Ss-IZaXqmZao
+
+According to a 'Received:' trace, the message apparently originated at:
+  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:
+  quentin.h
+
+Return-Path: <qu...@riseup.net>
+From: Quentin <qu...@riseup.net>
+Message-ID: <55...@riseup.net>
+Subject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=
+  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=
+  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=
+  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=
+Not quarantined.
+
+The message WILL BE relayed to:
+<ya...@minet.net>
+
+
+------------=_1433322346-12583-0
+Content-Type: text/rfc822-headers; name="header"
+Content-Disposition: inline; filename="header"
+Content-Transfer-Encoding: 7bit
+Content-Description: Message header section
+
+Return-Path: <qu...@riseup.net>
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=198.252.153.129; helo=mx1.riseup.net; envelope-from=quentin.h@riseup.net; receiver=yann@minet.net
+Authentication-Results: mx2.minet.net; dkim=pass
+	reason="1024-bit key; insecure key"
+	header.d=riseup.net header.i=@riseup.net header.b=RVs2xP3R;
+	dkim-adsp=pass; dkim-atps=neutral
+Received: from mx1.riseup.net (mx1.riseup.net [198.252.153.129])
+	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
+	(No client certificate requested)
+	by mx2.minet.net (Postfix) with ESMTPS id 6D9E0A27FCA
+	for <ya...@minet.net>; Wed,  3 Jun 2015 11:05:44 +0200 (CEST)
+Received: from plantcutter.riseup.net (plantcutter-pn.riseup.net [10.0.1.121])
+	(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
+	(Client CN "*.riseup.net", Issuer "COMODO RSA Domain Validation Secure Server CA" (verified OK))
+	by mx1.riseup.net (Postfix) with ESMTPS id 5CC6541A75;
+	Wed,  3 Jun 2015 09:05:42 +0000 (UTC)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak;
+	t=1433322342; bh=Lz3x5ntYzOhQOpyviKamr5VE0TinfpBCnsivvJzojYk=;
+	h=Date:From:To:Subject:References:In-Reply-To:From;
+	b=RVs2xP3RV4zWi3Jbs6p85cO8s44yLq1LXxwe6NQvgZjsHQdWaMY16jQzSbCRRdCRY
+	 IesTpg1mncqIinhXxL9grw2+0MgO+E0HM0ZPZzXM/xNTGZpALI1X6tDM0rxB+GEnHa
+	 NfGRbWnesWFLyba7am02KbTKeKq7svIBBmSbaFsE=
+Received: from [127.0.0.1] (localhost [127.0.0.1])
+	(Authenticated sender: quentin.h)
+	with ESMTPSA id 6DBAC20827
+Message-ID: <55...@riseup.net>
+Date: Wed, 03 Jun 2015 11:05:37 +0200
+From: Quentin <qu...@riseup.net>
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
+MIME-Version: 1.0
+To: Yann Sionneau <ya...@minet.net>, =?UTF-8?B?U3TDqXBoYW5pZSBPdWlsbG9u?=
+ <st...@ouillon.fr>, =?UTF-8?B?TmF0YWxpYSBDYWxkZXJvbiBCZWx0csOhbg==?=
+ <na...@calderon.be>
+Subject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=
+ =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=
+ =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=
+ =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=
+References: <55...@wootdevices.io> <55...@minet.net>
+In-Reply-To: <55...@minet.net>
+OpenPGP: id=AA5EE4B4EA20E2BEAA70B98E49CBF006922B990A;
+	url=pgp.mit.edu
+Content-Type: multipart/encrypted;
+ protocol="application/pgp-encrypted";
+ boundary="M0xVhKIvXqi85dG57o5RfCUAoFwhAw1Nh"
+X-Virus-Scanned: clamav-milter 0.98.7 at mx1
+X-Virus-Status: Clean
+
+------------=_1433322346-12583-0
+Content-Type: text/plain; charset="iso-8859-1"
+MIME-Version: 1.0
+Content-Transfer-Encoding: quoted-printable
+Content-Disposition: inline
+
+_______________________________________________
+root mailing list
+root@listes.minet.net
+https://listes.minet.net/cgi-bin/mailman/listinfo/root
+------------=_1433322346-12583-0--

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/spamMail.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/spamMail.json b/mailbox/store/src/test/resources/eml/spamMail.json
index dfa60a4..aa86788 100644
--- a/mailbox/store/src/test/resources/eml/spamMail.json
+++ b/mailbox/store/src/test/resources/eml/spamMail.json
@@ -124,7 +124,7 @@
   ],
   "attachments": [
 	{
-	  "textContent": "No viruses were found.\n\nContent type: Unchecked\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\n\nAccording to a 'Received:' trace, the message apparently originated at:\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\n  quentin.h\n\nReturn-Path: <qu...@riseup.net>\nFrom: Quentin <qu...@riseup.net>\nMessage-ID: <55...@riseup.net>\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\nNot quarantined.\n\nThe message WILL BE relayed to:\n<ya...@minet.net>\n\n",
+	  "textContent": "No viruses were found.\r\n\r\nContent type: Unchecked\r\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\r\n\r\nAccording to a 'Received:' trace, the message apparently originated at:\r\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\r\n  quentin.h\r\n\r\nReturn-Path: <qu...@riseup.net>\r\nFrom: Quentin <qu...@riseup.net>\r\nMessage-ID: <55...@riseup.net>\r\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\r\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\r\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\r\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\r\nNot quarantined.\r\n\r\nThe message WILL BE relayed to:\r\n<ya...@minet.net>\r\n\r\n",
 	  "mediaType": "text",
 	  "subtype": "plain",
 	  "fileName": null,
@@ -144,7 +144,7 @@
 	  }
 	},
 	{
-	  "textContent": "Return-Path: <qu...@riseup.net>\nReceived-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=198.252.153.129; helo=mx1.riseup.net; envelope-from=quentin.h@riseup.net; receiver=yann@minet.net\nAuthentication-Results: mx2.minet.net; dkim=pass\n\treason=\"1024-bit key; insecure key\"\n\theader.d=riseup.net header.i=@riseup.net header.b=RVs2xP3R;\n\tdkim-adsp=pass; dkim-atps=neutral\nReceived: from mx1.riseup.net (mx1.riseup.net [198.252.153.129])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby mx2.minet.net (Postfix) with ESMTPS id 6D9E0A27FCA\n\tfor <ya...@minet.net>; Wed,  3 Jun 2015 11:05:44 +0200 (CEST)\nReceived: from plantcutter.riseup.net (plantcutter-pn.riseup.net [10.0.1.121])\n\t(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))\n\t(Client CN \"*.riseup.net\", Issuer \"COMODO RSA Domain Validation Secure Server CA\" (verified OK))\n\tby mx1.riseup.net (Postfix) wi
 th ESMTPS id 5CC6541A75;\n\tWed,  3 Jun 2015 09:05:42 +0000 (UTC)\nDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak;\n\tt=1433322342; bh=Lz3x5ntYzOhQOpyviKamr5VE0TinfpBCnsivvJzojYk=;\n\th=Date:From:To:Subject:References:In-Reply-To:From;\n\tb=RVs2xP3RV4zWi3Jbs6p85cO8s44yLq1LXxwe6NQvgZjsHQdWaMY16jQzSbCRRdCRY\n\t IesTpg1mncqIinhXxL9grw2+0MgO+E0HM0ZPZzXM/xNTGZpALI1X6tDM0rxB+GEnHa\n\t NfGRbWnesWFLyba7am02KbTKeKq7svIBBmSbaFsE=\nReceived: from [127.0.0.1] (localhost [127.0.0.1])\n\t(Authenticated sender: quentin.h)\n\twith ESMTPSA id 6DBAC20827\nMessage-ID: <55...@riseup.net>\nDate: Wed, 03 Jun 2015 11:05:37 +0200\nFrom: Quentin <qu...@riseup.net>\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0\nMIME-Version: 1.0\nTo: Yann Sionneau <ya...@minet.net>, =?UTF-8?B?U3TDqXBoYW5pZSBPdWlsbG9u?=\n <st...@ouillon.fr>, =?UTF-8?B?TmF0YWxpYSBDYWxkZXJvbiBCZWx0csOhbg==?=\n <na...@calderon.be>\nSubject: =?UTF-8?B?UmU6IE
 Z3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\n =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\n =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\n =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\nReferences: <55...@wootdevices.io> <55...@minet.net>\nIn-Reply-To: <55...@minet.net>\nOpenPGP: id=AA5EE4B4EA20E2BEAA70B98E49CBF006922B990A;\n\turl=pgp.mit.edu\nContent-Type: multipart/encrypted;\n protocol=\"application/pgp-encrypted\";\n boundary=\"M0xVhKIvXqi85dG57o5RfCUAoFwhAw1Nh\"\nX-Virus-Scanned: clamav-milter 0.98.7 at mx1\nX-Virus-Status: Clean\n",
+	  "textContent": "Return-Path: <qu...@riseup.net>\r\nReceived-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=198.252.153.129; helo=mx1.riseup.net; envelope-from=quentin.h@riseup.net; receiver=yann@minet.net\r\nAuthentication-Results: mx2.minet.net; dkim=pass\r\n\treason=\"1024-bit key; insecure key\"\r\n\theader.d=riseup.net header.i=@riseup.net header.b=RVs2xP3R;\r\n\tdkim-adsp=pass; dkim-atps=neutral\r\nReceived: from mx1.riseup.net (mx1.riseup.net [198.252.153.129])\r\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\r\n\t(No client certificate requested)\r\n\tby mx2.minet.net (Postfix) with ESMTPS id 6D9E0A27FCA\r\n\tfor <ya...@minet.net>; Wed,  3 Jun 2015 11:05:44 +0200 (CEST)\r\nReceived: from plantcutter.riseup.net (plantcutter-pn.riseup.net [10.0.1.121])\r\n\t(using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))\r\n\t(Client CN \"*.riseup.net\", Issuer \"COMODO RSA Domain Validation Secure Server CA\" (verified OK))\r\n\tby
  mx1.riseup.net (Postfix) with ESMTPS id 5CC6541A75;\r\n\tWed,  3 Jun 2015 09:05:42 +0000 (UTC)\r\nDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak;\r\n\tt=1433322342; bh=Lz3x5ntYzOhQOpyviKamr5VE0TinfpBCnsivvJzojYk=;\r\n\th=Date:From:To:Subject:References:In-Reply-To:From;\r\n\tb=RVs2xP3RV4zWi3Jbs6p85cO8s44yLq1LXxwe6NQvgZjsHQdWaMY16jQzSbCRRdCRY\r\n\t IesTpg1mncqIinhXxL9grw2+0MgO+E0HM0ZPZzXM/xNTGZpALI1X6tDM0rxB+GEnHa\r\n\t NfGRbWnesWFLyba7am02KbTKeKq7svIBBmSbaFsE=\r\nReceived: from [127.0.0.1] (localhost [127.0.0.1])\r\n\t(Authenticated sender: quentin.h)\r\n\twith ESMTPSA id 6DBAC20827\r\nMessage-ID: <55...@riseup.net>\r\nDate: Wed, 03 Jun 2015 11:05:37 +0200\r\nFrom: Quentin <qu...@riseup.net>\r\nUser-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0\r\nMIME-Version: 1.0\r\nTo: Yann Sionneau <ya...@minet.net>, =?UTF-8?B?U3TDqXBoYW5pZSBPdWlsbG9u?=\r\n <st...@ouillon.fr>, =?UTF-8?B?TmF0YWxpYSBDYWxkZXJvbiBCZWx
 0csOhbg==?=\r\n <na...@calderon.be>\r\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\r\n =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\r\n =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\r\n =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\r\nReferences: <55...@wootdevices.io> <55...@minet.net>\r\nIn-Reply-To: <55...@minet.net>\r\nOpenPGP: id=AA5EE4B4EA20E2BEAA70B98E49CBF006922B990A;\r\n\turl=pgp.mit.edu\r\nContent-Type: multipart/encrypted;\r\n protocol=\"application/pgp-encrypted\";\r\n boundary=\"M0xVhKIvXqi85dG57o5RfCUAoFwhAw1Nh\"\r\nX-Virus-Scanned: clamav-milter 0.98.7 at mx1\r\nX-Virus-Status: Clean\r\n",
 	  "mediaType": "text",
 	  "subtype": "rfc822-headers",
 	  "fileName": "header",
@@ -190,7 +190,7 @@
 	  }
 	}
   ],
-  "textBody": "No viruses were found.\n\nContent type: Unchecked\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\n\nAccording to a 'Received:' trace, the message apparently originated at:\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\n  quentin.h\n\nReturn-Path: <qu...@riseup.net>\nFrom: Quentin <qu...@riseup.net>\nMessage-ID: <55...@riseup.net>\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\nNot quarantined.\n\nThe message WILL BE relayed to:\n<ya...@minet.net>\n\n",
+  "textBody": "No viruses were found.\r\n\r\nContent type: Unchecked\r\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\r\n\r\nAccording to a 'Received:' trace, the message apparently originated at:\r\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\r\n  quentin.h\r\n\r\nReturn-Path: <qu...@riseup.net>\r\nFrom: Quentin <qu...@riseup.net>\r\nMessage-ID: <55...@riseup.net>\r\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\r\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\r\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\r\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\r\nNot quarantined.\r\n\r\nThe message WILL BE relayed to:\r\n<ya...@minet.net>\r\n\r\n",
   "htmlBody": null,
   "isAnswered": false,
   "isDeleted": false,
@@ -202,5 +202,5 @@
   "users": [
     "username"
   ],
-  "text": "Content-filter at spam.minet.net postmaster@minet.net root@listes.minet.net root@listes.minet.net [root] UNCHECKED contents in mail FROM <qu...@riseup.net> No viruses were found.\n\nContent type: Unchecked\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\n\nAccording to a 'Received:' trace, the message apparently originated at:\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\n  quentin.h\n\nReturn-Path: <qu...@riseup.net>\nFrom: Quentin <qu...@riseup.net>\nMessage-ID: <55...@riseup.net>\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\nNot quarantined.\n\nThe message WILL BE relayed to:\n<ya...@minet.net>\n\n"
+  "text": "Content-filter at spam.minet.net postmaster@minet.net root@listes.minet.net root@listes.minet.net [root] UNCHECKED contents in mail FROM <qu...@riseup.net> No viruses were found.\r\n\r\nContent type: Unchecked\r\nInternal reference code for the message is 12583-16/Ss-IZaXqmZao\r\n\r\nAccording to a 'Received:' trace, the message apparently originated at:\r\n  [198.252.153.129], [127.0.0.1] localhost [127.0.0.1] Authenticated sender:\r\n  quentin.h\r\n\r\nReturn-Path: <qu...@riseup.net>\r\nFrom: Quentin <qu...@riseup.net>\r\nMessage-ID: <55...@riseup.net>\r\nSubject: =?UTF-8?B?UmU6IEZ3ZDogW1RtcGxhYl0gW0FQUEVMIEEgUEFSVElDSVBBVElPTl0=?=\r\n  =?UTF-8?B?IFdvb3QgZGV2aWNlcyAjMiAgOiB2ZW5leiBmYWlyZSBsZXVyIGhhY2tmw6p0ZSA=?=\r\n  =?UTF-8?B?YXV4IHBldGl0ZXMgbWFjaGluZXMgcHJvZ3JhbW1hYmxlcyBsZXMgNi03IGp1aW4=?=\r\n  =?UTF-8?B?IGF1IEphcmRpbiBkJ2FsaWNlL0JsYWNrbG9vcA==?=\r\nNot quarantined.\r\n\r\nThe message WILL BE relayed to:\r\n<ya...@minet.net>\r\n\r\n"
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/twoAttachments.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/twoAttachments.eml b/mailbox/store/src/test/resources/eml/twoAttachments.eml
index 85f0e3b..1d3fa14 100644
--- a/mailbox/store/src/test/resources/eml/twoAttachments.eml
+++ b/mailbox/store/src/test/resources/eml/twoAttachments.eml
@@ -1,73 +1,73 @@
-Return-Path: <fr...@linagora.com>
-Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
-	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
-	 Fri, 27 Feb 2015 20:32:14 +0100
-X-Sieve: CMU Sieve 2.2
-Received: from canondir.par.lng (unknown [92.103.166.6])
-	(using TLSv1 with cipher AES256-SHA (256/256 bits))
-	(No client certificate requested)
-	by alderaan.linagora.com (Postfix) with ESMTPSA id BAB0D728
-	for <to...@linagora.com>; Fri, 27 Feb 2015 20:31:38 +0100 (CET)
-X-Priority: 3 (Normal)
-From: "From"
- <fr...@linagora.com>
-To: "To"
- <to...@linagora.com>
-Subject: [8/10]Attached Image light with text
-Date: Fri, 27 Mar 2015 21:48:38 +0100
-Message-Id: <20...@canondir.par.lng>
-Mime-Version: 1.0
-Content-Type: multipart/mixed;
- boundary="AHNPACBLDCDIDAGGGDDFAABECGCA"
-
---AHNPACBLDCDIDAGGGDDFAABECGCA
-Content-Type: text/html; charset=utf-8; format=flowed
-Content-Transfer-Encoding: 8bit
-
-<b>html</b>
-
---AHNPACBLDCDIDAGGGDDFAABECGCA
-Content-Type: image/jpeg;
- name="4037_014.jpg"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
- filename="4037_014.jpg"
-
-/9j/4X2cRXhpZgAASUkqAAgAAAANAA8BAgAKAAAAqgAAABABAgAJAAAAtAAAABIBAwABAAAA
-AQAAABoBBQABAAAAvgAAABsBBQABAAAAxgAAACgBAwABAAAAAgAAADEBAgAKAAAAzgAAADIB
-AgAUAAAA2AAAABMCAwABAAAAAgAAAGmHBAABAAAAfAIAAKXEBwDQAAAA7AAAANLGBwBAAAAA
-vAEAANPGBwCAAAAA/AEAAEwqAABQYW5hc29uaWMARE1DLUZaNDUAALQAAAABAAAAtAAAAAEA
-AABWZXIuMS4wICAAMjAxNDowMjoyNSAxMDozMjowOQBQcmludElNADAyNTAAAA4AAQAWABYA
-AgAAAAAAAwBkAAAABwAAAAAACAAAAAAACQAAAAAACgAAAAAACwCsAAAADAAAAAAADQAAAAAA
-DgDEAAAAAAEFAAAAAQEBAAAAEAGAAAAACREAABAnAAALDwAAECcAAJcFAAAQJwAAsAgAABAn
-AAABHAAAECcAAF4CAAAQJwAAiwAAABAnAADLAwAAECcAAOUbAAAQJwAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
-
---AHNPACBLDCDIDAGGGDDFAABECGCA
-Content-Type: image/jpeg;
- name="4037_015.jpg"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
- filename="4037_015.jpg"
-
-iVBORw0KGgoAAAANSUhEUgAABYUAAAL4CAIAAACrzA8fAAAACXBIWXMAAAsTAAALEwEAmpwY
-AAAAB3RJTUUH3wMNDiUMca0XkQAAIABJREFUeNq8vWm0bdlVHja/tc+99zX13qv2VSeVmlIv
-FSqEOhA2AoEhxMRBg8QOyEkG6WMDSZzhMQTGDDcwiJPhBBMby4SMDJthgmOMAYvGMcF0QgIU
-WRKobymp+qpX9fp779nry4+9mjnnWuuc80qMvCpdvXrv3nP22Xutueb85je/D1/3+q+ipF9z
-nGfGdZznGCMjKaSIkJQwBYSAEMI0Tatptdrb21utVqvVtJKAAAABEAAiUP+IiECYfsfyJf1B
-10+cOHH48OGVlZVSypaWlv379zc2Nr722msNDQ2u+y9zaYQeAQAAAACCHgEAAAB0y969e+ON
-KnpOe3v7JZdccj6fwPXr10+aNKnAB956663Zs2fjTgMAAADOKzhOAQAAAFCYs+yO0XfNNQAA
-AAAA/nNBfgQAAADQDVddddW6detSqdQZ7JvL5W655RZIEgAAAAAAEayKigqcBQAAAKAAhw8f
-3rZt25AhQwYNGpTJZHq4V2tr6/bt25csWbJjxw6cQwAAAACACMiPAAAAAAAAAAAAQH8D/wgA
-AAAAAAAAAAD0N9AjAAAAAAAAAAAA0N9AjwAAAAAAAAAAAEB/Az0CAAAAAAAAAAAA/Q30CAAA
-AAAAAAAAAPQ30CMAAAAAAAAAAADQ30CPAAAAAAAAAAAAQH/z/0IKJwmNQbpqAAAAAElFTkSu
-QmCC
-
---AHNPACBLDCDIDAGGGDDFAABECGCA--
+Return-Path: <fr...@linagora.com>
+Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
+	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
+	 Fri, 27 Feb 2015 20:32:14 +0100
+X-Sieve: CMU Sieve 2.2
+Received: from canondir.par.lng (unknown [92.103.166.6])
+	(using TLSv1 with cipher AES256-SHA (256/256 bits))
+	(No client certificate requested)
+	by alderaan.linagora.com (Postfix) with ESMTPSA id BAB0D728
+	for <to...@linagora.com>; Fri, 27 Feb 2015 20:31:38 +0100 (CET)
+X-Priority: 3 (Normal)
+From: "From"
+ <fr...@linagora.com>
+To: "To"
+ <to...@linagora.com>
+Subject: [8/10]Attached Image light with text
+Date: Fri, 27 Mar 2015 21:48:38 +0100
+Message-Id: <20...@canondir.par.lng>
+Mime-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="AHNPACBLDCDIDAGGGDDFAABECGCA"
+
+--AHNPACBLDCDIDAGGGDDFAABECGCA
+Content-Type: text/html; charset=utf-8; format=flowed
+Content-Transfer-Encoding: 8bit
+
+<b>html</b>
+
+--AHNPACBLDCDIDAGGGDDFAABECGCA
+Content-Type: image/jpeg;
+ name="4037_014.jpg"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="4037_014.jpg"
+
+/9j/4X2cRXhpZgAASUkqAAgAAAANAA8BAgAKAAAAqgAAABABAgAJAAAAtAAAABIBAwABAAAA
+AQAAABoBBQABAAAAvgAAABsBBQABAAAAxgAAACgBAwABAAAAAgAAADEBAgAKAAAAzgAAADIB
+AgAUAAAA2AAAABMCAwABAAAAAgAAAGmHBAABAAAAfAIAAKXEBwDQAAAA7AAAANLGBwBAAAAA
+vAEAANPGBwCAAAAA/AEAAEwqAABQYW5hc29uaWMARE1DLUZaNDUAALQAAAABAAAAtAAAAAEA
+AABWZXIuMS4wICAAMjAxNDowMjoyNSAxMDozMjowOQBQcmludElNADAyNTAAAA4AAQAWABYA
+AgAAAAAAAwBkAAAABwAAAAAACAAAAAAACQAAAAAACgAAAAAACwCsAAAADAAAAAAADQAAAAAA
+DgDEAAAAAAEFAAAAAQEBAAAAEAGAAAAACREAABAnAAALDwAAECcAAJcFAAAQJwAAsAgAABAn
+AAABHAAAECcAAF4CAAAQJwAAiwAAABAnAADLAwAAECcAAOUbAAAQJwAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+
+--AHNPACBLDCDIDAGGGDDFAABECGCA
+Content-Type: image/jpeg;
+ name="4037_015.jpg"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="4037_015.jpg"
+
+iVBORw0KGgoAAAANSUhEUgAABYUAAAL4CAIAAACrzA8fAAAACXBIWXMAAAsTAAALEwEAmpwY
+AAAAB3RJTUUH3wMNDiUMca0XkQAAIABJREFUeNq8vWm0bdlVHja/tc+99zX13qv2VSeVmlIv
+FSqEOhA2AoEhxMRBg8QOyEkG6WMDSZzhMQTGDDcwiJPhBBMby4SMDJthgmOMAYvGMcF0QgIU
+WRKobymp+qpX9fp779nry4+9mjnnWuuc80qMvCpdvXrv3nP22Xutueb85je/D1/3+q+ipF9z
+nGfGdZznGCMjKaSIkJQwBYSAEMI0Tatptdrb21utVqvVtJKAAAABEAAiUP+IiECYfsfyJf1B
+10+cOHH48OGVlZVSypaWlv379zc2Nr722msNDQ2u+y9zaYQeAQAAAACCHgEAAAB0y969e+ON
+KnpOe3v7JZdccj6fwPXr10+aNKnAB956663Zs2fjTgMAAADOKzhOAQAAAFCYs+yO0XfNNQAA
+AAAA/nNBfgQAAADQDVddddW6detSqdQZ7JvL5W655RZIEgAAAAAAEayKigqcBQAAAKAAhw8f
+3rZt25AhQwYNGpTJZHq4V2tr6/bt25csWbJjxw6cQwAAAACACMiPAAAAAAAAAAAAQH8D/wgA
+AAAAAAAAAAD0N9AjAAAAAAAAAAAA0N9AjwAAAAAAAAAAAEB/Az0CAAAAAAAAAAAA/Q30CAAA
+AAAAAAAAAPQ30CMAAAAAAAAAAADQ30CPAAAAAAAAAAAAQH/z/0IKJwmNQbpqAAAAAElFTkSu
+QmCC
+
+--AHNPACBLDCDIDAGGGDDFAABECGCA--


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[15/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
JAMES-1804 According to Mime rfc2045 headers should end with CRLF


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/b3f60b8e
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/b3f60b8e
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/b3f60b8e

Branch: refs/heads/master
Commit: b3f60b8e517567f69a2e645498c0f1fbf506b8ee
Parents: 5f969db
Author: Antoine Duprat <ad...@linagora.com>
Authored: Thu Jul 21 14:59:22 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:05 2016 +0200

----------------------------------------------------------------------
 .../eml/embeddedAttachmentWithInline.eml        | 2522 +++++++--------
 mailbox/store/src/test/resources/eml/frnog.eml  |  188 +-
 .../store/src/test/resources/eml/htmlMail.eml   | 2978 +++++++++---------
 mailbox/store/src/test/resources/eml/mail.eml   |  188 +-
 mailbox/store/src/test/resources/eml/mail1.eml  |  138 +-
 mailbox/store/src/test/resources/eml/mail2.eml  |  166 +-
 mailbox/store/src/test/resources/eml/mail3.eml  |  194 +-
 mailbox/store/src/test/resources/eml/mail4.eml  |  166 +-
 .../store/src/test/resources/eml/nonTextual.eml |  392 +--
 .../src/test/resources/eml/nonTextual.json      |    8 +-
 .../eml/oneAttachmentAndSomeTextInlined.eml     |   78 +-
 .../eml/oneAttachmentWithEmptyContentType.eml   |   76 +-
 .../eml/oneAttachmentWithSimpleContentType.eml  |   76 +-
 .../eml/oneAttachmentWithoutContentType.eml     |   74 +-
 .../resources/eml/oneAttachmentWithoutName.eml  |   76 +-
 .../eml/oneHtmlAttachmentAndSomeTextInlined.eml |   78 +-
 .../src/test/resources/eml/pgpSignedMail.eml    |  270 +-
 .../src/test/resources/eml/pgpSignedMail.json   |    4 +-
 .../src/test/resources/eml/recursiveMail.eml    |  154 +-
 .../store/src/test/resources/eml/spamMail.eml   |  287 +-
 .../store/src/test/resources/eml/spamMail.json  |    8 +-
 .../src/test/resources/eml/twoAttachments.eml   |  146 +-
 22 files changed, 4134 insertions(+), 4133 deletions(-)
----------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[11/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/mail.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail.eml b/mailbox/store/src/test/resources/eml/mail.eml
index 0e692ab..6a8d498 100644
--- a/mailbox/store/src/test/resources/eml/mail.eml
+++ b/mailbox/store/src/test/resources/eml/mail.eml
@@ -1,94 +1,94 @@
-Return-Path: <ar...@archlinux.org>
-Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Thu, 04 Jun 2015 06:09:06 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx2.minet.net (Postfix) with ESMTP id 4492D821966
-	for <be...@minet.net>; Thu,  4 Jun 2015 06:09:11 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.499
-X-Spam-Level:
-X-Spam-Status: No, score=-1.499 required=1 tests=[BAYES_00=-1.5,
-	FREEMAIL_FROM=0.001, T_DKIM_INVALID=0.01, T_RP_MATCHES_RCVD=-0.01]
-	autolearn=ham
-Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id Meygb-OHe7nm for <be...@minet.net>;
-	Thu,  4 Jun 2015 04:09:10 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=5.9.250.164; helo=luna.archlinux.org; envelope-from=arch-general-bounces@archlinux.org; receiver=benwa@minet.net 
-Authentication-Results: mx2.minet.net; dkim=fail
-	reason="verification failed; insecure key"
-	header.d=gmail.com header.i=@gmail.com header.b=rtUETpuc;
-	dkim-adsp=none (insecure policy); dkim-atps=neutral
-Received: from luna.archlinux.org (luna.archlinux.org [5.9.250.164])
-	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
-	(No client certificate requested)
-	by mx2.minet.net (Postfix) with ESMTPS id DD66B821952
-	for <be...@minet.net>; Thu,  4 Jun 2015 06:09:09 +0200 (CEST)
-Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1])
-	by luna.archlinux.org (Postfix) with ESMTP id A0E06260C6;
-	Thu,  4 Jun 2015 04:09:05 +0000 (UTC)
-Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1])
- by luna.archlinux.org (Postfix) with ESMTP id 0CD88260C5
- for <ar...@lists.archlinux.org>; Thu,  4 Jun 2015 04:09:04 +0000 (UTC)
-Received: from nymeria.archlinux.org (nymeria.archlinux.org [89.238.67.251])
- by luna.archlinux.org (Postfix) with ESMTPS
- for <ar...@lists.archlinux.org>; Thu,  4 Jun 2015 04:09:04 +0000 (UTC)
-Received: from nymeria.archlinux.org (localhost.localdomain [127.0.0.1])
- by nymeria.archlinux.org (Postfix) with ESMTP id DDBB240260
- for <ar...@archlinux.org>; Thu,  4 Jun 2015 06:09:02 +0200 (CEST)
-Received: from mail-wg0-x22c.google.com (mail-wg0-x22c.google.com
- [IPv6:2a00:1450:400c:c00::22c])
- (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
- (No client certificate requested)
- by nymeria.archlinux.org (Postfix) with ESMTPS
- for <ar...@archlinux.org>; Thu,  4 Jun 2015 06:09:02 +0200 (CEST)
-Received: by wgme6 with SMTP id e6so23798103wgm.2
- for <ar...@archlinux.org>; Wed, 03 Jun 2015 21:09:01 -0700 (PDT)
-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
- h=mime-version:from:date:message-id:subject:to:content-type;
- bh=7st+jAfRrEnSrTq3/eOYg/0asNUH7fqHCXCyOguOIsk=;
- b=rtUETpucDR6xziqI/1XndSQnFd2CaWEoxeg653HtuScH5ZTP33vNW+xqBQO8Y0M50S
- zFoE4UYgAkuZKo0Y4wafRRqx4bNRheLSbApXXXhh9op73/cABS0nVAQeGaQf8Dg0vLO7
- TvpiDlWt4AtsFlJkKTzZ0aGGk7FuRc+aN8n5Azc/LW4Utem61smWNaTmipkQDvacx6xh
- Zyvq4q0K2HGNWTaTif7QJ75ScYC8newm1LJ/PDl1UjLkisFC/DOvTFx+24J+gpZD2tzT
- leLWtpNLjF1sHReHS6hpMahD7jas1iBnx71s9USGq9Mxk7OM3HHyV9VyfBJlv7fTqzLM
- mdUA==
-X-Received: by 10.180.98.103 with SMTP id eh7mr3462314wib.75.1433390941725;
- Wed, 03 Jun 2015 21:09:01 -0700 (PDT)
-MIME-Version: 1.0
-Received: by 10.27.96.135 with HTTP; Wed, 3 Jun 2015 21:08:41 -0700 (PDT)
-From: Murari <mu...@gmail.com>
-Date: Thu, 4 Jun 2015 06:08:41 +0200
-Message-ID: <CA...@mail.gmail.com>
-To: General Discussion about Arch Linux <ar...@archlinux.org>
-Content-Type: text/plain; charset=UTF-8
-X-Content-Filtered-By: Mailman/MimeDel 2.1.20
-Subject: [arch-general] Inkscape fails to open svg files
-X-BeenThere: arch-general@archlinux.org
-X-Mailman-Version: 2.1.20
-Precedence: list
-List-Id: General Discussion about Arch Linux <arch-general.archlinux.org>
-List-Unsubscribe: <https://lists.archlinux.org/options/arch-general>,
- <mailto:arch-general-request@archlinux.org?subject=unsubscribe>
-List-Archive: <https://lists.archlinux.org/pipermail/arch-general/>
-List-Post: <ma...@archlinux.org>
-List-Help: <mailto:arch-general-request@archlinux.org?subject=help>
-List-Subscribe: <https://lists.archlinux.org/listinfo/arch-general>,
- <mailto:arch-general-request@archlinux.org?subject=subscribe>
-Reply-To: General Discussion about Arch Linux <ar...@archlinux.org>
-Errors-To: arch-general-bounces@archlinux.org
-Sender: "arch-general" <ar...@archlinux.org>
-
-Hi all,
-
-An update between the 17th of May and the 1st of June seems to have broken
-Inkscape's ability to open existing svg files on my computer. Any svg I
-open (including stock files off the internet) cause Inkscape to crash with
-"Inkscape encountered an internal error and will close now". I even created
-a new, test svg consisting only of a few shapes and text, but I can't open
-it again after saving. Has anyone else seen anything like this?
-
-Thanks!
+Return-Path: <ar...@archlinux.org>
+Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Thu, 04 Jun 2015 06:09:06 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx2.minet.net (Postfix) with ESMTP id 4492D821966
+	for <be...@minet.net>; Thu,  4 Jun 2015 06:09:11 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.499
+X-Spam-Level:
+X-Spam-Status: No, score=-1.499 required=1 tests=[BAYES_00=-1.5,
+	FREEMAIL_FROM=0.001, T_DKIM_INVALID=0.01, T_RP_MATCHES_RCVD=-0.01]
+	autolearn=ham
+Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id Meygb-OHe7nm for <be...@minet.net>;
+	Thu,  4 Jun 2015 04:09:10 +0000 (UTC)
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=5.9.250.164; helo=luna.archlinux.org; envelope-from=arch-general-bounces@archlinux.org; receiver=benwa@minet.net 
+Authentication-Results: mx2.minet.net; dkim=fail
+	reason="verification failed; insecure key"
+	header.d=gmail.com header.i=@gmail.com header.b=rtUETpuc;
+	dkim-adsp=none (insecure policy); dkim-atps=neutral
+Received: from luna.archlinux.org (luna.archlinux.org [5.9.250.164])
+	(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
+	(No client certificate requested)
+	by mx2.minet.net (Postfix) with ESMTPS id DD66B821952
+	for <be...@minet.net>; Thu,  4 Jun 2015 06:09:09 +0200 (CEST)
+Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1])
+	by luna.archlinux.org (Postfix) with ESMTP id A0E06260C6;
+	Thu,  4 Jun 2015 04:09:05 +0000 (UTC)
+Received: from luna.archlinux.org (luna.archlinux.org [127.0.0.1])
+ by luna.archlinux.org (Postfix) with ESMTP id 0CD88260C5
+ for <ar...@lists.archlinux.org>; Thu,  4 Jun 2015 04:09:04 +0000 (UTC)
+Received: from nymeria.archlinux.org (nymeria.archlinux.org [89.238.67.251])
+ by luna.archlinux.org (Postfix) with ESMTPS
+ for <ar...@lists.archlinux.org>; Thu,  4 Jun 2015 04:09:04 +0000 (UTC)
+Received: from nymeria.archlinux.org (localhost.localdomain [127.0.0.1])
+ by nymeria.archlinux.org (Postfix) with ESMTP id DDBB240260
+ for <ar...@archlinux.org>; Thu,  4 Jun 2015 06:09:02 +0200 (CEST)
+Received: from mail-wg0-x22c.google.com (mail-wg0-x22c.google.com
+ [IPv6:2a00:1450:400c:c00::22c])
+ (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA (256/256 bits))
+ (No client certificate requested)
+ by nymeria.archlinux.org (Postfix) with ESMTPS
+ for <ar...@archlinux.org>; Thu,  4 Jun 2015 06:09:02 +0200 (CEST)
+Received: by wgme6 with SMTP id e6so23798103wgm.2
+ for <ar...@archlinux.org>; Wed, 03 Jun 2015 21:09:01 -0700 (PDT)
+DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
+ h=mime-version:from:date:message-id:subject:to:content-type;
+ bh=7st+jAfRrEnSrTq3/eOYg/0asNUH7fqHCXCyOguOIsk=;
+ b=rtUETpucDR6xziqI/1XndSQnFd2CaWEoxeg653HtuScH5ZTP33vNW+xqBQO8Y0M50S
+ zFoE4UYgAkuZKo0Y4wafRRqx4bNRheLSbApXXXhh9op73/cABS0nVAQeGaQf8Dg0vLO7
+ TvpiDlWt4AtsFlJkKTzZ0aGGk7FuRc+aN8n5Azc/LW4Utem61smWNaTmipkQDvacx6xh
+ Zyvq4q0K2HGNWTaTif7QJ75ScYC8newm1LJ/PDl1UjLkisFC/DOvTFx+24J+gpZD2tzT
+ leLWtpNLjF1sHReHS6hpMahD7jas1iBnx71s9USGq9Mxk7OM3HHyV9VyfBJlv7fTqzLM
+ mdUA==
+X-Received: by 10.180.98.103 with SMTP id eh7mr3462314wib.75.1433390941725;
+ Wed, 03 Jun 2015 21:09:01 -0700 (PDT)
+MIME-Version: 1.0
+Received: by 10.27.96.135 with HTTP; Wed, 3 Jun 2015 21:08:41 -0700 (PDT)
+From: Murari <mu...@gmail.com>
+Date: Thu, 4 Jun 2015 06:08:41 +0200
+Message-ID: <CA...@mail.gmail.com>
+To: General Discussion about Arch Linux <ar...@archlinux.org>
+Content-Type: text/plain; charset=UTF-8
+X-Content-Filtered-By: Mailman/MimeDel 2.1.20
+Subject: [arch-general] Inkscape fails to open svg files
+X-BeenThere: arch-general@archlinux.org
+X-Mailman-Version: 2.1.20
+Precedence: list
+List-Id: General Discussion about Arch Linux <arch-general.archlinux.org>
+List-Unsubscribe: <https://lists.archlinux.org/options/arch-general>,
+ <mailto:arch-general-request@archlinux.org?subject=unsubscribe>
+List-Archive: <https://lists.archlinux.org/pipermail/arch-general/>
+List-Post: <ma...@archlinux.org>
+List-Help: <mailto:arch-general-request@archlinux.org?subject=help>
+List-Subscribe: <https://lists.archlinux.org/listinfo/arch-general>,
+ <mailto:arch-general-request@archlinux.org?subject=subscribe>
+Reply-To: General Discussion about Arch Linux <ar...@archlinux.org>
+Errors-To: arch-general-bounces@archlinux.org
+Sender: "arch-general" <ar...@archlinux.org>
+
+Hi all,
+
+An update between the 17th of May and the 1st of June seems to have broken
+Inkscape's ability to open existing svg files on my computer. Any svg I
+open (including stock files off the internet) cause Inkscape to crash with
+"Inkscape encountered an internal error and will close now". I even created
+a new, test svg consisting only of a few shapes and text, but I can't open
+it again after saving. Has anyone else seen anything like this?
+
+Thanks!

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/mail1.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail1.eml b/mailbox/store/src/test/resources/eml/mail1.eml
index 3850a62..33df93b 100644
--- a/mailbox/store/src/test/resources/eml/mail1.eml
+++ b/mailbox/store/src/test/resources/eml/mail1.eml
@@ -1,69 +1,69 @@
-Return-Path: <se...@james.apache.org>
-Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Thu, 04 Jun 2015 11:23:39 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx1.minet.net (Postfix) with ESMTP id 0113F385C15
-	for <be...@minet.net>; Thu,  4 Jun 2015 11:23:43 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.51
-X-Spam-Level:
-X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
-	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
-Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id IeILbadS9lo5 for <be...@minet.net>;
-	Thu,  4 Jun 2015 09:23:42 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=server-dev-return-56862-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
-Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
-	by mx2.minet.net (Postfix) with SMTP id CDE83A1C7FC
-	for <be...@minet.net>; Thu,  4 Jun 2015 11:23:40 +0200 (CEST)
-Received: (qmail 37249 invoked by uid 500); 4 Jun 2015 09:23:38 -0000
-Mailing-List: contact server-dev-help@james.apache.org; run by ezmlm
-Precedence: bulk
-List-Unsubscribe: <ma...@james.apache.org>
-List-Help: <ma...@james.apache.org>
-List-Post: <ma...@james.apache.org>
-List-Id: "James Developers List" <server-dev.james.apache.org>
-Reply-To: "James Developers List" <se...@james.apache.org>
-Delivered-To: mailing list server-dev@james.apache.org
-Received: (qmail 37236 invoked by uid 99); 4 Jun 2015 09:23:38 -0000
-Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jun 2015 09:23:38 +0000
-Date: Thu, 4 Jun 2015 09:23:37 +0000 (UTC)
-From: "Tellier Benoit (JIRA)" <ji...@apache.org>
-To: "abc" <se...@james.apache.org>
-Message-ID: <JI...@Atlassian.JIRA>
-In-Reply-To: <JI...@Atlassian.JIRA>
-References: <JI...@Atlassian.JIRA> <JI...@arcas>
-Subject: [jira] [Created] (MAILBOX-234) Convert Message into JSON
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 7bit
-X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
-
-Tellier Benoit created MAILBOX-234:
---------------------------------------
-
-             Summary: Convert Message into JSON
-                 Key: MAILBOX-234
-                 URL: https://issues.apache.org/jira/browse/MAILBOX-234
-             Project: James Mailbox
-          Issue Type: New Feature
-            Reporter: Tellier Benoit
-
-
-This would give us the ability to index e-mails in ElasticSearch.
-
-
-
---
-This message was sent by Atlassian JIRA
-(v6.3.4#6332)
-
----------------------------------------------------------------------
-To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
-For additional commands, e-mail: server-dev-help@james.apache.org
-
+Return-Path: <se...@james.apache.org>
+Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Thu, 04 Jun 2015 11:23:39 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx1.minet.net (Postfix) with ESMTP id 0113F385C15
+	for <be...@minet.net>; Thu,  4 Jun 2015 11:23:43 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.51
+X-Spam-Level:
+X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
+	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
+Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id IeILbadS9lo5 for <be...@minet.net>;
+	Thu,  4 Jun 2015 09:23:42 +0000 (UTC)
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=server-dev-return-56862-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
+Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
+	by mx2.minet.net (Postfix) with SMTP id CDE83A1C7FC
+	for <be...@minet.net>; Thu,  4 Jun 2015 11:23:40 +0200 (CEST)
+Received: (qmail 37249 invoked by uid 500); 4 Jun 2015 09:23:38 -0000
+Mailing-List: contact server-dev-help@james.apache.org; run by ezmlm
+Precedence: bulk
+List-Unsubscribe: <ma...@james.apache.org>
+List-Help: <ma...@james.apache.org>
+List-Post: <ma...@james.apache.org>
+List-Id: "James Developers List" <server-dev.james.apache.org>
+Reply-To: "James Developers List" <se...@james.apache.org>
+Delivered-To: mailing list server-dev@james.apache.org
+Received: (qmail 37236 invoked by uid 99); 4 Jun 2015 09:23:38 -0000
+Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
+    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jun 2015 09:23:38 +0000
+Date: Thu, 4 Jun 2015 09:23:37 +0000 (UTC)
+From: "Tellier Benoit (JIRA)" <ji...@apache.org>
+To: "abc" <se...@james.apache.org>
+Message-ID: <JI...@Atlassian.JIRA>
+In-Reply-To: <JI...@Atlassian.JIRA>
+References: <JI...@Atlassian.JIRA> <JI...@arcas>
+Subject: [jira] [Created] (MAILBOX-234) Convert Message into JSON
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
+
+Tellier Benoit created MAILBOX-234:
+--------------------------------------
+
+             Summary: Convert Message into JSON
+                 Key: MAILBOX-234
+                 URL: https://issues.apache.org/jira/browse/MAILBOX-234
+             Project: James Mailbox
+          Issue Type: New Feature
+            Reporter: Tellier Benoit
+
+
+This would give us the ability to index e-mails in ElasticSearch.
+
+
+
+--
+This message was sent by Atlassian JIRA
+(v6.3.4#6332)
+
+---------------------------------------------------------------------
+To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
+For additional commands, e-mail: server-dev-help@james.apache.org
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/mail2.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail2.eml b/mailbox/store/src/test/resources/eml/mail2.eml
index 9c2c413..6539248 100644
--- a/mailbox/store/src/test/resources/eml/mail2.eml
+++ b/mailbox/store/src/test/resources/eml/mail2.eml
@@ -1,83 +1,83 @@
-Return-Path: <se...@james.apache.org>
-Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Thu, 04 Jun 2015 11:27:36 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx2.minet.net (Postfix) with ESMTP id D65F3A1CA35
-	for <be...@minet.net>; Thu,  4 Jun 2015 11:27:40 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.51
-X-Spam-Level:
-X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
-	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
-Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id jH3GE2vu5VKE for <be...@minet.net>;
-	Thu,  4 Jun 2015 09:27:40 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=server-dev-return-56863-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
-Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
-	by mx2.minet.net (Postfix) with SMTP id 85A3AA1CA2C
-	for <be...@minet.net>; Thu,  4 Jun 2015 11:27:38 +0200 (CEST)
-Received: (qmail 43145 invoked by uid 500); 4 Jun 2015 09:27:38 -0000
-Mailing-List: contact server-dev-help@james.apache.org; run by ezmlm
-Precedence: bulk
-List-Unsubscribe: <ma...@james.apache.org>
-List-Help: <ma...@james.apache.org>
-List-Post: <ma...@james.apache.org>
-List-Id: "James Developers List" <server-dev.james.apache.org>
-Reply-To: "James Developers List" <se...@james.apache.org>
-Delivered-To: mailing list server-dev@james.apache.org
-Received: (qmail 43130 invoked by uid 99); 4 Jun 2015 09:27:38 -0000
-Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jun 2015 09:27:38 +0000
-Date: Thu, 4 Jun 2015 09:27:37 +0000 (UTC)
-From: "efij" <ji...@apache.org>
-To: "aaa" <se...@james.apache.org>
-Cc: abc@abc.org
-Message-ID: <JI...@Atlassian.JIRA>
-In-Reply-To: <JI...@Atlassian.JIRA>
-References: <JI...@Atlassian.JIRA> <JI...@arcas>
-Subject: [jira] [Closed] (MAILBOX-217) We should index attachment in elastic
- search
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 7bit
-X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
-
-
-     [ https://issues.apache.org/jira/browse/MAILBOX-217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
-
-Tellier Benoit closed MAILBOX-217.
-----------------------------------
-    Resolution: Duplicate
-
-We are reviewing work I did for this feature.
-
-This issue will be divided in smallest issues.
-
-The first one is MAILBOX-234
-
-> We should index attachment in elastic search
-> --------------------------------------------
->
->                 Key: MAILBOX-217
->                 URL: https://issues.apache.org/jira/browse/MAILBOX-217
->             Project: James Mailbox
->          Issue Type: Improvement
->            Reporter: Tellier Benoit
->
-> Attachment should be indexed in message document as nested document.
-> Their textual content should be available for better search results.
-
-
-
---
-This message was sent by Atlassian JIRA
-(v6.3.4#6332)
-
----------------------------------------------------------------------
-To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
-For additional commands, e-mail: server-dev-help@james.apache.org
-
+Return-Path: <se...@james.apache.org>
+Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Thu, 04 Jun 2015 11:27:36 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx2.minet.net (Postfix) with ESMTP id D65F3A1CA35
+	for <be...@minet.net>; Thu,  4 Jun 2015 11:27:40 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.51
+X-Spam-Level:
+X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
+	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
+Received: from mx2.minet.net ([IPv6:::ffff:192.168.102.26])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id jH3GE2vu5VKE for <be...@minet.net>;
+	Thu,  4 Jun 2015 09:27:40 +0000 (UTC)
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=server-dev-return-56863-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
+Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
+	by mx2.minet.net (Postfix) with SMTP id 85A3AA1CA2C
+	for <be...@minet.net>; Thu,  4 Jun 2015 11:27:38 +0200 (CEST)
+Received: (qmail 43145 invoked by uid 500); 4 Jun 2015 09:27:38 -0000
+Mailing-List: contact server-dev-help@james.apache.org; run by ezmlm
+Precedence: bulk
+List-Unsubscribe: <ma...@james.apache.org>
+List-Help: <ma...@james.apache.org>
+List-Post: <ma...@james.apache.org>
+List-Id: "James Developers List" <server-dev.james.apache.org>
+Reply-To: "James Developers List" <se...@james.apache.org>
+Delivered-To: mailing list server-dev@james.apache.org
+Received: (qmail 43130 invoked by uid 99); 4 Jun 2015 09:27:38 -0000
+Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
+    by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 04 Jun 2015 09:27:38 +0000
+Date: Thu, 4 Jun 2015 09:27:37 +0000 (UTC)
+From: "efij" <ji...@apache.org>
+To: "aaa" <se...@james.apache.org>
+Cc: abc@abc.org
+Message-ID: <JI...@Atlassian.JIRA>
+In-Reply-To: <JI...@Atlassian.JIRA>
+References: <JI...@Atlassian.JIRA> <JI...@arcas>
+Subject: [jira] [Closed] (MAILBOX-217) We should index attachment in elastic
+ search
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
+
+
+     [ https://issues.apache.org/jira/browse/MAILBOX-217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
+
+Tellier Benoit closed MAILBOX-217.
+----------------------------------
+    Resolution: Duplicate
+
+We are reviewing work I did for this feature.
+
+This issue will be divided in smallest issues.
+
+The first one is MAILBOX-234
+
+> We should index attachment in elastic search
+> --------------------------------------------
+>
+>                 Key: MAILBOX-217
+>                 URL: https://issues.apache.org/jira/browse/MAILBOX-217
+>             Project: James Mailbox
+>          Issue Type: Improvement
+>            Reporter: Tellier Benoit
+>
+> Attachment should be indexed in message document as nested document.
+> Their textual content should be available for better search results.
+
+
+
+--
+This message was sent by Atlassian JIRA
+(v6.3.4#6332)
+
+---------------------------------------------------------------------
+To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
+For additional commands, e-mail: server-dev-help@james.apache.org
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/mail3.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail3.eml b/mailbox/store/src/test/resources/eml/mail3.eml
index e9cc325..99f2123 100644
--- a/mailbox/store/src/test/resources/eml/mail3.eml
+++ b/mailbox/store/src/test/resources/eml/mail3.eml
@@ -1,97 +1,97 @@
-Return-Path: <se...@james.apache.org>
-Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Tue, 02 Jun 2015 10:16:17 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx1.minet.net (Postfix) with ESMTP id 52917327827
-	for <be...@minet.net>; Tue,  2 Jun 2015 10:16:22 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.51
-X-Spam-Level:
-X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
-	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
-Received: from mx1.minet.net ([IPv6:::ffff:192.168.102.25])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id rcP3IZbh_eqS for <be...@minet.net>;
-	Tue,  2 Jun 2015 08:16:21 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=server-dev-return-56848-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
-Authentication-Results: mx1.minet.net; dkim=none reason="no signature";
-	dkim-adsp=none (insecure policy); dkim-atps=neutral
-Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
-	by mx1.minet.net (Postfix) with SMTP id 37EAD327826
-	for <be...@minet.net>; Tue,  2 Jun 2015 10:16:20 +0200 (CEST)
-Received: (qmail 1143 invoked by uid 500); 2 Jun 2015 08:16:20 -0000
-Mailing-List: contact server-dev-help@james.apache.org; run by ezmlm
-Precedence: bulk
-List-Unsubscribe: <ma...@james.apache.org>
-List-Help: <ma...@james.apache.org>
-List-Post: <ma...@james.apache.org>
-List-Id: "James Developers List" <server-dev.james.apache.org>
-Reply-To: "James Developers List" <se...@james.apache.org>
-Delivered-To: mailing list server-dev@james.apache.org
-Received: (qmail 1132 invoked by uid 99); 2 Jun 2015 08:16:20 -0000
-Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2015 08:16:20 +0000
-Date: Tue, 2 Jun 2015 08:16:19 +0000 (UTC)
-From: "abcd" <ji...@apache.org>
-Cc: zzz@bcd.org
-To: "server" <se...@james.apache.org>
-Message-ID: <JI...@Atlassian.JIRA>
-In-Reply-To: <JI...@Atlassian.JIRA>
-References: <JI...@Atlassian.JIRA> <JI...@arcas>
-Subject: [jira] [Closed] (MAILBOX-11) MailboxQuery ignore namespace
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: quoted-printable
-X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
-
-
-     [ https://issues.apache.org/jira/browse/MAILBOX-11?page=3Dcom.atlassia=
-n.jira.plugin.system.issuetabpanels:all-tabpanel ]
-
-Eric Charles closed MAILBOX-11.
--------------------------------
-    Resolution: Fixed
-      Assignee: Eric Charles  (was: Norman Maurer)
-
-Committed, Thx Benoit.
-
-> MailboxQuery ignore namespace
-> -----------------------------
->
->                 Key: MAILBOX-11
->                 URL: https://issues.apache.org/jira/browse/MAILBOX-11
->             Project: James Mailbox
->          Issue Type: Bug
->         Environment: Linux, JDK 1.6
->            Reporter: Fran=C3=A7ois-Denis Gonthier
->            Assignee: Eric Charles
->             Fix For: 0.6
->
->         Attachments: 0001-MAILBOX-11-Add-filters-on-namespace-and-user-fo=
-r-sea.patch
->
->
-> MailboxQuery doesn't pay any attention to namespace of the mailbox it is =
-based on. For example, Mozilla Thunderbird might to mailbox search with exp=
-ressions like #private.%. That expression is passed directly to the isExpre=
-ssionMatch method of the MailboxQuery class. This has obviously incorrect r=
-esults.
-> Arguments to the isExpressionMatch method should be parsed to separate th=
-e namespace from the mailbox name or isExpressionMatch should do the parsin=
-g itself. In that case the argument name should be renamed to something lik=
-e 'searchExpression' instead of 'name' which doesn't convey the right meani=
-ng.
-
-
-
---
-This message was sent by Atlassian JIRA
-(v6.3.4#6332)
-
----------------------------------------------------------------------
-To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
-For additional commands, e-mail: server-dev-help@james.apache.org
-
+Return-Path: <se...@james.apache.org>
+Received: from mx1.minet.net (mx1.minet.net [192.168.102.25])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Tue, 02 Jun 2015 10:16:17 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx1.minet.net (Postfix) with ESMTP id 52917327827
+	for <be...@minet.net>; Tue,  2 Jun 2015 10:16:22 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.51
+X-Spam-Level:
+X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
+	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
+Received: from mx1.minet.net ([IPv6:::ffff:192.168.102.25])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id rcP3IZbh_eqS for <be...@minet.net>;
+	Tue,  2 Jun 2015 08:16:21 +0000 (UTC)
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=server-dev-return-56848-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
+Authentication-Results: mx1.minet.net; dkim=none reason="no signature";
+	dkim-adsp=none (insecure policy); dkim-atps=neutral
+Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
+	by mx1.minet.net (Postfix) with SMTP id 37EAD327826
+	for <be...@minet.net>; Tue,  2 Jun 2015 10:16:20 +0200 (CEST)
+Received: (qmail 1143 invoked by uid 500); 2 Jun 2015 08:16:20 -0000
+Mailing-List: contact server-dev-help@james.apache.org; run by ezmlm
+Precedence: bulk
+List-Unsubscribe: <ma...@james.apache.org>
+List-Help: <ma...@james.apache.org>
+List-Post: <ma...@james.apache.org>
+List-Id: "James Developers List" <server-dev.james.apache.org>
+Reply-To: "James Developers List" <se...@james.apache.org>
+Delivered-To: mailing list server-dev@james.apache.org
+Received: (qmail 1132 invoked by uid 99); 2 Jun 2015 08:16:20 -0000
+Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
+    by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 02 Jun 2015 08:16:20 +0000
+Date: Tue, 2 Jun 2015 08:16:19 +0000 (UTC)
+From: "abcd" <ji...@apache.org>
+Cc: zzz@bcd.org
+To: "server" <se...@james.apache.org>
+Message-ID: <JI...@Atlassian.JIRA>
+In-Reply-To: <JI...@Atlassian.JIRA>
+References: <JI...@Atlassian.JIRA> <JI...@arcas>
+Subject: [jira] [Closed] (MAILBOX-11) MailboxQuery ignore namespace
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: quoted-printable
+X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
+
+
+     [ https://issues.apache.org/jira/browse/MAILBOX-11?page=3Dcom.atlassia=
+n.jira.plugin.system.issuetabpanels:all-tabpanel ]
+
+Eric Charles closed MAILBOX-11.
+-------------------------------
+    Resolution: Fixed
+      Assignee: Eric Charles  (was: Norman Maurer)
+
+Committed, Thx Benoit.
+
+> MailboxQuery ignore namespace
+> -----------------------------
+>
+>                 Key: MAILBOX-11
+>                 URL: https://issues.apache.org/jira/browse/MAILBOX-11
+>             Project: James Mailbox
+>          Issue Type: Bug
+>         Environment: Linux, JDK 1.6
+>            Reporter: Fran=C3=A7ois-Denis Gonthier
+>            Assignee: Eric Charles
+>             Fix For: 0.6
+>
+>         Attachments: 0001-MAILBOX-11-Add-filters-on-namespace-and-user-fo=
+r-sea.patch
+>
+>
+> MailboxQuery doesn't pay any attention to namespace of the mailbox it is =
+based on. For example, Mozilla Thunderbird might to mailbox search with exp=
+ressions like #private.%. That expression is passed directly to the isExpre=
+ssionMatch method of the MailboxQuery class. This has obviously incorrect r=
+esults.
+> Arguments to the isExpressionMatch method should be parsed to separate th=
+e namespace from the mailbox name or isExpressionMatch should do the parsin=
+g itself. In that case the argument name should be renamed to something lik=
+e 'searchExpression' instead of 'name' which doesn't convey the right meani=
+ng.
+
+
+
+--
+This message was sent by Atlassian JIRA
+(v6.3.4#6332)
+
+---------------------------------------------------------------------
+To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
+For additional commands, e-mail: server-dev-help@james.apache.org
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/mail4.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/mail4.eml b/mailbox/store/src/test/resources/eml/mail4.eml
index 37ecba1..3bf6dde 100644
--- a/mailbox/store/src/test/resources/eml/mail4.eml
+++ b/mailbox/store/src/test/resources/eml/mail4.eml
@@ -1,83 +1,83 @@
-Return-Path: <ma...@james.apache.org>
-Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
-	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
-	 Fri, 15 May 2015 08:36:03 +0200
-X-Sieve: CMU Sieve 2.4
-Received: from localhost (spam.minet.net [192.168.102.97])
-	by mx2.minet.net (Postfix) with ESMTP id 5AC87A19A4F
-	for <be...@minet.net>; Fri, 15 May 2015 08:36:03 +0200 (CEST)
-X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
-X-Spam-Flag: NO
-X-Spam-Score: -1.51
-X-Spam-Level:
-X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
-	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
-Received: from mx1.minet.net ([IPv6:::ffff:192.168.102.25])
-	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
-	with ESMTP id 2xNJ-Rh-AWoj for <be...@minet.net>;
-	Fri, 15 May 2015 06:36:02 +0000 (UTC)
-Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=mailet-api-return-812-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
-Authentication-Results: mx1.minet.net; dkim=none reason="no signature";
-	dkim-adsp=none (insecure policy); dkim-atps=neutral
-Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
-	by mx1.minet.net (Postfix) with SMTP id 24F75686039
-	for <be...@minet.net>; Fri, 15 May 2015 08:36:01 +0200 (CEST)
-Received: (qmail 81830 invoked by uid 500); 15 May 2015 06:36:00 -0000
-Mailing-List: contact mailet-api-help@james.apache.org; run by ezmlm
-Precedence: bulk
-List-Help: <ma...@james.apache.org>
-List-Unsubscribe: <ma...@james.apache.org>
-List-Post: <ma...@james.apache.org>
-List-Id: <mailet-api.james.apache.org>
-Reply-To: mailet-api@james.apache.org
-Delivered-To: mailing list mailet-api@james.apache.org
-Received: (qmail 81730 invoked by uid 99); 15 May 2015 06:36:00 -0000
-Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
-    by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 May 2015 06:36:00 +0000
-Date: Fri, 15 May 2015 06:35:59 +0000 (UTC)
-From: "Eric Charles (JIRA)" <ma...@james.apache.org>
-To: "zzz" <ma...@james.apache.org>
-Cc: any@any.com
-Bcc: any@any.com
-Message-ID: <JI...@Atlassian.JIRA>
-In-Reply-To: <JI...@Atlassian.JIRA>
-References: <JI...@Atlassian.JIRA> <JI...@arcas>
-Subject: [jira] [Resolved] (MAILET-94) James Mailet should use latest
- version of other James subprojects
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 7bit
-X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
-
-
-     [ https://issues.apache.org/jira/browse/MAILET-94?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
-
-Eric Charles resolved MAILET-94.
---------------------------------
-    Resolution: Fixed
-      Assignee: Eric Charles
-
-Patch committed, Thx Matthieu
-
-> James Mailet should use latest version of other James subprojects
-> -----------------------------------------------------------------
->
->                 Key: MAILET-94
->                 URL: https://issues.apache.org/jira/browse/MAILET-94
->             Project: James Mailet
->          Issue Type: Task
->          Components: Build
->            Reporter: Matthieu Baechler
->            Assignee: Eric Charles
->             Fix For: 2.5.1
->
->         Attachments: 0001-JWC-111-update-james-related-projects-to-SNAPSHOT-ve.patch
->
->
-> It should depend on james-project 1.8.3-SNAPSHOT to use only up-to-date component.
-
-
-
---
-This message was sent by Atlassian JIRA
-(v6.3.4#6332)
+Return-Path: <ma...@james.apache.org>
+Received: from mx2.minet.net (mx2.minet.net [192.168.102.26])
+	 by imap (Cyrus v2.4.16-Debian-2.4.16-4+deb7u1) with LMTPA;
+	 Fri, 15 May 2015 08:36:03 +0200
+X-Sieve: CMU Sieve 2.4
+Received: from localhost (spam.minet.net [192.168.102.97])
+	by mx2.minet.net (Postfix) with ESMTP id 5AC87A19A4F
+	for <be...@minet.net>; Fri, 15 May 2015 08:36:03 +0200 (CEST)
+X-Virus-Scanned: by amavisd-new using ClamAV at minet.net
+X-Spam-Flag: NO
+X-Spam-Score: -1.51
+X-Spam-Level:
+X-Spam-Status: No, score=-1.51 required=1 tests=[BAYES_00=-1.5,
+	T_RP_MATCHES_RCVD=-0.01] autolearn=ham
+Received: from mx1.minet.net ([IPv6:::ffff:192.168.102.25])
+	by localhost (spam.minet.net [::ffff:192.168.102.97]) (amavisd-new, port 10024)
+	with ESMTP id 2xNJ-Rh-AWoj for <be...@minet.net>;
+	Fri, 15 May 2015 06:36:02 +0000 (UTC)
+Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=140.211.11.3; helo=mail.apache.org; envelope-from=mailet-api-return-812-benwa=minet.net@james.apache.org; receiver=benwa@minet.net
+Authentication-Results: mx1.minet.net; dkim=none reason="no signature";
+	dkim-adsp=none (insecure policy); dkim-atps=neutral
+Received: from mail.apache.org (hermes.apache.org [140.211.11.3])
+	by mx1.minet.net (Postfix) with SMTP id 24F75686039
+	for <be...@minet.net>; Fri, 15 May 2015 08:36:01 +0200 (CEST)
+Received: (qmail 81830 invoked by uid 500); 15 May 2015 06:36:00 -0000
+Mailing-List: contact mailet-api-help@james.apache.org; run by ezmlm
+Precedence: bulk
+List-Help: <ma...@james.apache.org>
+List-Unsubscribe: <ma...@james.apache.org>
+List-Post: <ma...@james.apache.org>
+List-Id: <mailet-api.james.apache.org>
+Reply-To: mailet-api@james.apache.org
+Delivered-To: mailing list mailet-api@james.apache.org
+Received: (qmail 81730 invoked by uid 99); 15 May 2015 06:36:00 -0000
+Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28)
+    by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 May 2015 06:36:00 +0000
+Date: Fri, 15 May 2015 06:35:59 +0000 (UTC)
+From: "Eric Charles (JIRA)" <ma...@james.apache.org>
+To: "zzz" <ma...@james.apache.org>
+Cc: any@any.com
+Bcc: any@any.com
+Message-ID: <JI...@Atlassian.JIRA>
+In-Reply-To: <JI...@Atlassian.JIRA>
+References: <JI...@Atlassian.JIRA> <JI...@arcas>
+Subject: [jira] [Resolved] (MAILET-94) James Mailet should use latest
+ version of other James subprojects
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394
+
+
+     [ https://issues.apache.org/jira/browse/MAILET-94?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
+
+Eric Charles resolved MAILET-94.
+--------------------------------
+    Resolution: Fixed
+      Assignee: Eric Charles
+
+Patch committed, Thx Matthieu
+
+> James Mailet should use latest version of other James subprojects
+> -----------------------------------------------------------------
+>
+>                 Key: MAILET-94
+>                 URL: https://issues.apache.org/jira/browse/MAILET-94
+>             Project: James Mailet
+>          Issue Type: Task
+>          Components: Build
+>            Reporter: Matthieu Baechler
+>            Assignee: Eric Charles
+>             Fix For: 2.5.1
+>
+>         Attachments: 0001-JWC-111-update-james-related-projects-to-SNAPSHOT-ve.patch
+>
+>
+> It should depend on james-project 1.8.3-SNAPSHOT to use only up-to-date component.
+
+
+
+--
+This message was sent by Atlassian JIRA
+(v6.3.4#6332)

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/nonTextual.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/nonTextual.eml b/mailbox/store/src/test/resources/eml/nonTextual.eml
index ce0fa84..fae3ecf 100644
--- a/mailbox/store/src/test/resources/eml/nonTextual.eml
+++ b/mailbox/store/src/test/resources/eml/nonTextual.eml
@@ -1,196 +1,196 @@
-Return-Path: <bt...@linagora.com>
-Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
-	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
-	 Thu, 18 Jun 2015 12:43:28 +0200
-X-Sieve: CMU Sieve 2.2
-Received: from [10.75.9.154] (unknown [92.103.166.6])
-	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
-	(No client certificate requested)
-	by alderaan.linagora.com (Postfix) with ESMTPSA id 0EB1078A
-	for <bt...@linagora.com>; Thu, 18 Jun 2015 12:43:28 +0200 (CEST)
-To: btellier@linagora.com
-From: Benoit Tellier <bt...@linagora.com>
-Subject: Test message
-Message-ID: <55...@linagora.com>
-Date: Thu, 18 Jun 2015 12:43:26 +0200
-User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
- Thunderbird/38.0.1
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
- boundary="------------030000010109090603040500"
-
-This is a multi-part message in MIME format.
---------------030000010109090603040500
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 7bit
-
-This mail have a non textual attachment !
-
---------------030000010109090603040500
-Content-Type: application/vnd.oasis.opendocument.text;
- name="toto.odt"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
- filename="toto.odt"
-
-UEsDBBQAAAgAAGNV0kZexjIMJwAAACcAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQu
-b2FzaXMub3BlbmRvY3VtZW50LnRleHRQSwMEFAAACAAAY1XSRnPWCvM4AwAAOAMAABgAAABU
-aHVtYm5haWxzL3RodW1ibmFpbC5wbmeJUE5HDQoaCgAAAA1JSERSAAAAxgAAAQAIAwAAAN+D
-+XIAAAEyUExURXJoXXN0dXZ4e3h3eHl7fnx8gXqCh32IgXuJnoB7fI+Fa4+IbIODe4iEe5+Q
-eISDhICFiISJhIaMiY2Gg4uJgomMjIGJkIuOkY6Uj4SRm4+WkomZnJGKgJGUjJuTh5uWj5GV
-kZGVnJaYkpWbmpmVlZmblJ2en4OYqZSYoJSfqpyeoI6gs5SipJygopKhsZapvKeajKGemKqd
-k6KjnaqilKmrn7SllL2tnaampaarraquo6msrqmusKq2urSwqLu5tLy5uaO2yKu5w77EtrXI
-1sC5p8+8rcHGt83BtdfGttnKus3NysLO3svP0tbRzdrQy9rYztrb2tvg5Nru9+bf3Ozg0PLj
-yfLl0PXo0/vt0uTn7ujn5+jp7Ovw6OL2/en4/fLr5/336vP7/v7+/gAAAP///4uCFGkAAAHB
-SURBVHja7dPbThMBEAbgYgsaQmkEVhfbxR5YDKUIslBUWuTogZI0HGxq0gBt3/8dIE00ek+C
-gW8uZv6Zu+9iUsNHUSkMDAwMDAwMDAwMDAyMJ8o4Of137+z/vfV+h7Nh+a6X+8t/rqN2MxjF
-y9H4fv1wjN1c5eOXdOpdshTNFQuvTrbGk2pzIq6/DJbGnk+udOY/ZYNqsBcnM4WpSqVbquxk
-e7nCRPZ4pZ8Oxhe+vZh+3RzbqC1uzlxvXz0Y4+fpbC7qlVqZ8moUhfH5j8/PkupBMahHYb4V
-Ti7/mm+EH1a/HkXFIG7n33RrpUY4DOOzjeR9v9SefXtYy2YOovX84mZ00R78t7/RWfPiGBgY
-GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
-GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
-GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
-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
-kYFAjQlMyoR0gxy6TkvFM5bzUTnBoe3ix2C904OiPGDwK47P2N6IDKblXuC9sO5cg998lWh6
-7mN6ddPF8d8jlGCcMu5P6rs7ef/n/i7P/xnir7R2RGxAzqNn+pDntPIfVUevUEsHCLT3aNIF
-AQAAgwMAAFBLAwQUAAAIAABjVdJGAAAAAAAAAAAAAAAAGgAAAENvbmZpZ3VyYXRpb25zMi9w
-b3B1cG1lbnUvUEsDBBQAAAgAAGNV0kYAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMy
-L3N0YXR1c2Jhci9QSwMEFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9u
-czIvdG9vbGJhci9QSwMEFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9u
-czIvbWVudWJhci9QSwMEFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9u
-czIvZmxvYXRlci9QSwMEFAAICAgAY1XSRgAAAAAAAAAAAAAAACcAAABDb25maWd1cmF0aW9u
-czIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQSwMEFAAACAAA
-Y1XSRgAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvdG9vbHBhbmVsL1BLAwQUAAAI
-AABjVdJGAAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
-FAAACAAAY1XSRgAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1h
-cHMvUEsDBBQACAgIAGNV0kYAAAAAAAAAAAAAAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1s
-tZTBbsMgDIbvfYqI6xTYeppQ0h4q7Qm6B2DESZHARGCq9u1HqrXJNGVqtO5mY/P/nzBQbU/O
-FkcI0Xis2Qt/ZgWg9o3Brmbv+7fylW03q8opNC1EktegyPsw3tKapYDSq2iiROUgStLS94CN
-18kBkvzeLy9Ot2wCsGabVTH6tcZCmfeH89jdJmvLXtGhZmJOZFx20BhV0rmHmqm+t0Yrym3i
-iA2/APMpJyc4ERNLGPaH5D5QGRsFXUPeYzfDYJzqQAz1RS7aIw18+RxnhAdyMZQX6UYgysOO
-Dxd2QOrxtHS28A+sX2s8NO0dVyd3PS322HlsTZfCRSKuhdIaLOTUB6FTCL8P929edz6HmHBA
-4MlwPVUYzCvx4w/YfAJQSwcIHYDzWRwBAAA+BAAAUEsBAhQAFAAACAAAY1XSRl7GMgwnAAAA
-JwAAAAgAAAAAAAAAAAAAAAAAAAAAAG1pbWV0eXBlUEsBAhQAFAAACAAAY1XSRnPWCvM4AwAA
-OAMAABgAAAAAAAAAAAAAAAAATQAAAFRodW1ibmFpbHMvdGh1bWJuYWlsLnBuZ1BLAQIUABQA
-CAgIAGNV0ka7MF5+tAMAAJ8OAAALAAAAAAAAAAAAAAAAALsDAABjb250ZW50LnhtbFBLAQIU
-ABQACAgIAGNV0kYaWG8FBAYAAE8oAAAMAAAAAAAAAAAAAAAAAKgHAABzZXR0aW5ncy54bWxQ
-SwECFAAUAAgICABjVdJGzd0yKsABAADPAwAACAAAAAAAAAAAAAAAAADmDQAAbWV0YS54bWxQ
-SwECFAAUAAgICABjVdJGXUUkGToIAAD3LgAACgAAAAAAAAAAAAAAAADcDwAAc3R5bGVzLnht
-bFBLAQIUABQACAgIAGNV0ka092jSBQEAAIMDAAAMAAAAAAAAAAAAAAAAAE4YAABtYW5pZmVz
-dC5yZGZQSwECFAAUAAAIAABjVdJGAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAACNGQAAQ29u
-ZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwECFAAUAAAIAABjVdJGAAAAAAAAAAAAAAAAGgAA
-AAAAAAAAAAAAAADFGQAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwECFAAUAAAIAABj
-VdJGAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAD9GQAAQ29uZmlndXJhdGlvbnMyL3Rvb2xi
-YXIvUEsBAhQAFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAMxoAAENvbmZp
-Z3VyYXRpb25zMi9tZW51YmFyL1BLAQIUABQAAAgAAGNV0kYAAAAAAAAAAAAAAAAYAAAAAAAA
-AAAAAAAAAGkaAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwECFAAUAAgICABjVdJGAAAA
-AAIAAAAAAAAAJwAAAAAAAAAAAAAAAACfGgAAQ29uZmlndXJhdGlvbnMyL2FjY2VsZXJhdG9y
-L2N1cnJlbnQueG1sUEsBAhQAFAAACAAAY1XSRgAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAA
-9hoAAENvbmZpZ3VyYXRpb25zMi90b29scGFuZWwvUEsBAhQAFAAACAAAY1XSRgAAAAAAAAAA
-AAAAABwAAAAAAAAAAAAAAAAALhsAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwEC
-FAAUAAAIAABjVdJGAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAABoGwAAQ29uZmlndXJhdGlv
-bnMyL2ltYWdlcy9CaXRtYXBzL1BLAQIUABQACAgIAGNV0kYdgPNZHAEAAD4EAAAVAAAAAAAA
-AAAAAAAAAKUbAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAABEAEQBwBAAABB0AAAAA
-
---------------030000010109090603040500--
+Return-Path: <bt...@linagora.com>
+Received: from alderaan.linagora.com (smtp.linagora.dc1 [172.16.18.53])
+	 by imap (Cyrus v2.2.13-Debian-2.2.13-19+squeeze3) with LMTPA;
+	 Thu, 18 Jun 2015 12:43:28 +0200
+X-Sieve: CMU Sieve 2.2
+Received: from [10.75.9.154] (unknown [92.103.166.6])
+	(using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits))
+	(No client certificate requested)
+	by alderaan.linagora.com (Postfix) with ESMTPSA id 0EB1078A
+	for <bt...@linagora.com>; Thu, 18 Jun 2015 12:43:28 +0200 (CEST)
+To: btellier@linagora.com
+From: Benoit Tellier <bt...@linagora.com>
+Subject: Test message
+Message-ID: <55...@linagora.com>
+Date: Thu, 18 Jun 2015 12:43:26 +0200
+User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101
+ Thunderbird/38.0.1
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="------------030000010109090603040500"
+
+This is a multi-part message in MIME format.
+--------------030000010109090603040500
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+
+This mail have a non textual attachment !
+
+--------------030000010109090603040500
+Content-Type: application/vnd.oasis.opendocument.text;
+ name="toto.odt"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+ filename="toto.odt"
+
+UEsDBBQAAAgAAGNV0kZexjIMJwAAACcAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQu
+b2FzaXMub3BlbmRvY3VtZW50LnRleHRQSwMEFAAACAAAY1XSRnPWCvM4AwAAOAMAABgAAABU
+aHVtYm5haWxzL3RodW1ibmFpbC5wbmeJUE5HDQoaCgAAAA1JSERSAAAAxgAAAQAIAwAAAN+D
++XIAAAEyUExURXJoXXN0dXZ4e3h3eHl7fnx8gXqCh32IgXuJnoB7fI+Fa4+IbIODe4iEe5+Q
+eISDhICFiISJhIaMiY2Gg4uJgomMjIGJkIuOkY6Uj4SRm4+WkomZnJGKgJGUjJuTh5uWj5GV
+kZGVnJaYkpWbmpmVlZmblJ2en4OYqZSYoJSfqpyeoI6gs5SipJygopKhsZapvKeajKGemKqd
+k6KjnaqilKmrn7SllL2tnaampaarraquo6msrqmusKq2urSwqLu5tLy5uaO2yKu5w77EtrXI
+1sC5p8+8rcHGt83BtdfGttnKus3NysLO3svP0tbRzdrQy9rYztrb2tvg5Nru9+bf3Ozg0PLj
+yfLl0PXo0/vt0uTn7ujn5+jp7Ovw6OL2/en4/fLr5/336vP7/v7+/gAAAP///4uCFGkAAAHB
+SURBVHja7dPbThMBEAbgYgsaQmkEVhfbxR5YDKUIslBUWuTogZI0HGxq0gBt3/8dIE00ek+C
+gW8uZv6Zu+9iUsNHUSkMDAwMDAwMDAwMDAyMJ8o4Of137+z/vfV+h7Nh+a6X+8t/rqN2MxjF
+y9H4fv1wjN1c5eOXdOpdshTNFQuvTrbGk2pzIq6/DJbGnk+udOY/ZYNqsBcnM4WpSqVbquxk
+e7nCRPZ4pZ8Oxhe+vZh+3RzbqC1uzlxvXz0Y4+fpbC7qlVqZ8moUhfH5j8/PkupBMahHYb4V
+Ti7/mm+EH1a/HkXFIG7n33RrpUY4DOOzjeR9v9SefXtYy2YOovX84mZ00R78t7/RWfPiGBgY
+GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
+GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
+GBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgY
+GBgYGBgYGBgYGBgYGBj3VrfW1XHYvlYYzQAAAABJRU5ErkJgglBLAwQUAAgICABjVdJGAAAA
+AAAAAAAAAAAACwAAAGNvbnRlbnQueG1spVfNjts2EL73KVQFyE1La50AWWXtIEAQoMAuUHS3
+Ra5cirLZSqRKUpb9Nn2WPlmGpEVTtuVl4oNliPPNzMfh/FD3n7ZNnWyoVEzwRZrfzNKEciJK
+xleL9M/nr9mH9NPyl3tRVYzQohSkayjXGRFcw38C2lwVTrpIO8kLgRVTBccNVYUmhWgpH7SK
+EF1YX25F6V0drW7BobamWx2rbLAjXfwS79mCQ+1S4j5W2WAhqKF6JWKVt6rOKgFRb1qs2RGL
+bc34P4t0rXVbINT3/U0/vxFyhfK7uztkpZ4w8bi2k7VFlQTRmhpnCuU3ORqwDdU4lp/BhpR4
+17xQGR0arPHJqarNKjojNquJ0JA1ltG5YcHj452X8cc7L0PdBuv1xJl8QI8gtI/Hh0MuyCbW
+l8GOQkUka6O36dChvhDCUzUKrkAt3dvZ7B1y7wG6vwjvJdNUBnByEU5wTXzERXMuaIDLESAy
+ujFp6hPfBEJNKNwiJ/ZgVU6a/vb48ETWtMEHMHsdnDGuNOaHyEhzCJM7fY8kbYXUPjBVfMOE
+07r13Na6qafL3UgH6EqW5Vko0JkjKH0ovGzDaP8mHXXyywlxd5QQti2+pmJBYd+8qJDPkMH4
+MoYUOTR5ufJzqBIdh03A7NoHkG5bKpkR4dqqFSMLYdbX4idM7mdXYGHU0Bmth47ht3TWjBBZ
+oyCBoFBEWwTa4/kgm22cOVMcoqyOLR41CqLUXJ/Lh+c/kJFlZjzCANh7Cq4Ft+lyuAO4/qGQ
+X6jgLpBVmNCspKRWy3vXy/1y4t4N70X6VVL6hLnK0wTa9gBqWL07yNJkZMEIsxXlsF/oJKpn
+SqXospcHBuPHHmLyBGrVGWdvcSvUx2OgW71IQIoG8xGiZZpAs99gyWyW/wA5t9vXuQEugpqL
+zRXUvtC/8V/dZVoBJobSTmnaXMMpyIqfS5goBmgqmffruNNw7pqRzNrxWW6fI76/597XnmaL
+JV5J3K4HASyYS7R9yZzWE0ySEssyHQybUsxaqGUqNaMq8Z25gKKEJgOjqJqRlzwNJN5RdoQx
+Gwz4TpN/PiFvePwQqfc5JacO0WQc94IXUe78i/GzvLeXdUX/7eCLxJ/H6WJil0qm2hrvMtFp
+uPHSrIa7Asw+6H1W7Lb3W113SruiMhyvMvY85M51Vkx8rzXyxX1c2LBPR611KmHaQbIuP+99
+t5ifAiAhlj1VoqHJMCETSIANK2mZwHyxGgn8JCYmqv//9+tAAewNdNpDArijRaNTRxOfl8vv
+UEsHCLswXn60AwAAnw4AAFBLAwQUAAgICABjVdJGAAAAAAAAAAAAAAAADAAAAHNldHRpbmdz
+LnhtbL1aW3PaOBR+31+R4T0lIZcmTJKOIaWlpYEB0sz2TdgH0CLreCQ5wL/fIxloFnBLjbVP
+DL6cTzqX71zkuw+LWJy8gtIc5X3l/N1Z5QRkiBGXk/vK87B1elP58PDXHY7HPIR6hGEagzSn
+GoyhR/QJvS51Pbt9X0mVrCPTXNcli0HXTVjHBOT6tfrbp+sOLLuyEFzO7itTY5J6tTqfz9/N
+L96hmlTPb29vq+7u+tEQ5ZhPDoXKnn4LhYgbIPtCthgHVjs7u6xm/ysnq0W+UU2t8rDWw3r7
+D3crgOznlBuIrW5OVpft0u4rBFl/5TDfaK2y773/vvOdng8UsCEmlfUds0zojkA5qTyc3VV3
+RRwutgNj40PuC4/MdK/gy9rFxdVxwj8Dn0z3L/v8/e3tRTHpgynO+xCRj0FzyuQE9BbCCFEA
+k5UHo1IohtGWDYVzDd8wgjzpYyb0weJPY5acchnBAqJdZe13MPcOhYZaHqbydrS1VG0Ut8q2
+vlwrbspc36udvb+9Li43L1RqV2fnRaVqPhJQfrA4saWHtpPaz40RG4EFY2Qlu4HGYJwbgAV9
+4gdiPCRR2942RWWOIqQOW2JqmijSWG4HdVnSG4iz0qJ6Vy8tFhpU+9d+U3DxbT0AAaGBqKXo
+QoGV77n4llzybq/4av8DlBsPz6bZhVQxQ7n5T9JqjxjMtNjiaXfjK3arHigkkBKNw99j/uO8
+y8lvIikThYdk5MT32AQaLJxNFKZym+jLAnFcZJG87UKhTsiVPUSfkz8gjxDwBUe5GzgW4WOc
+mOUvVXQEwiAdGUUM0hJLHciQnBKiwP3zABYkiaCdKDZRLJl+Y2rWQhUzM8SnNB6BC67yUYds
+1KUaneAmXHqQ/5GWHg2Wmm60KCJ9KM5B+BL+M8ataayqHhWbO7YsH+xZjqhMnzEqFTY294Gz
+MvpY4NwHsWDSoWZgkLCQ1j+Y0i5musWVNvZy+YCDmAnRZInugQophRIZXF/74pvfWb/4NqjO
+ErQJcIzWBCGsw5UP09c86iNuUz5tzTYQF5c31wW7zGe5IMIK4Qco/LgwHWCRH8pqCp4EmnpN
+S82g1sT8ouhRReTsqjIfYWOBE4h6PDSp8oLwiE9oyJWtfOtp3dE/uittevMA1kEW9clKKMXS
+g/j2RJJZiGoodUYNwSwJoLIU0GQiTIWr/XzpsA9U1NoACoxRFpf41KYIX3hfUm34eGl3p1+4
+ofQtUyYals19MRGpNJz5SnvPGmz1AWoIC/NCBUnirfzQfbC+8Er9fJsanHwbFee8IHLZe5WR
+hji0GdZSrAcad7L7OP8KsD2eKMkwXRE5B6CqDajnCr3a/00m92P+wNjxUGZ5gtwUwLotO1z7
+CNhAUN3jNEiNSZPJEET5bpDZyWflTk5NaRaUZOI3ubb4LloCmTGuHsXYtQh+2izlKuw117iC
+zkdG0h02AvG4OuLwRcx9sIcekDsUODqnbmrpLGra0qebbZiAahEITQ81t4nbD5jTn2NQXxMP
+UFZp9qCLNJeNIHOm9FM+mZ5SmYcitRsu6NrsFb5nR2Bd2RSofRRyTYof2s0jo0hlGpoYx2xn
+JnX4eG5LnP0dYKrC4gO/bmrs8VCHAkP8zUFE2qfHNlFSj/OzdOlKcl3y2/9N83uG8a69KjjO
+XB2uUV9tKADJk77CTr1O4NeXDS6ZWh5iENsE7m8Ar2pXNzclTBT7w44vfgA1AJPuFFd/qIJA
+8IkkqhkYTNak5mUYYo1mGdRHOpCUaUwDFXm7vyJtVT07Wl6hBGZgmPJQqW+6egqlhMjXEmfp
+Z1tu0kp5Tdm49dZtvNWXt0OIBFRLYbw3IMrgNzKHCVKDz0nEjIfZXctmA58ATk+feUTp3uYD
+L1XlVyrCA82Z7KUyNKmvwUZWHNEmetT5wxQFRb0vmE+2BftFa3nEtNYsqbp7wkcYs1R46e+i
+7GC2Ox5r8DMdcc5qA28IcSK8OO43ZqYNymk29btc9auW5eii+KjzXGpFZplK8o9yC35B4pZn
+BwSeTkFtff5J4IhtukK7mSI+k3smX9355q2a9zXgw79QSwcIGlhvBQQGAABPKAAAUEsDBBQA
+CAgIAGNV0kYAAAAAAAAAAAAAAAAIAAAAbWV0YS54bWyNk82OmzAUhfd9CsTMFoyBScACRuqi
+q6laqanUXeTYd4inYCPbDOnb10BImSSLLjn3Oz7HPxTPp7bx3kEboWTp4zDyPZBMcSHr0v+5
++xJk/nP1qVCvr4IB4Yr1LUgbtGCp56zSkHlU+r2WRFEjDJG0BUMsI6oDuVjImiZT0KycGiF/
+l/7R2o4gNAxDOCSh0jXCeZ6jabqgnF24rtfNRHGGoIExwSAcYrSwY8P/LTWy60pKqUvQiM+l
+p7g4ilI0fy90rTlv7m3AsQlyDamlwbuA4cH3zttfHXjsV8vpjjWqYirDNFDriMCZoYoj/BRE
+mwBnOxyTFJP4KcT5NsnzbLMp0B1HwRm5Z01ItA3TLM/yJMdZgRZsTgUurLv4gPd6Wqv6vsNf
+0/jHOeJm/NHF/rAGTBVf0Wd5ZmuQ4MxKVy/ioOHbtHGUhmmYhPHji5D9af8r2+w3qbcC9p1W
+b8AsSqM2evzci4YHS8y/FeeEyxM11pU0VjBv0i09NBAw1Utb+u6mJ1G0tL4R1WHMula7FYkv
+mqa1pt3xejAozRdte9bY0dHMgl4G6TKR7taGo7BgOspcyA2IfVQV6MMrQff+yOovUEsHCM3d
+MirAAQAAzwMAAFBLAwQUAAgICABjVdJGAAAAAAAAAAAAAAAACgAAAHN0eWxlcy54bWztWluv
+2zYSft9fYajovsmSfDm+NCcFtrvFFki6wCbb14KWKIsNJQok5Ut+/Q5JUaJlyUfJyRqFsXk4
+gTkfh8OPM8MhqTc/nnI6OWAuCCuevWgaehNcxCwhxf7Z+8/Hn/219+Pbv7xhaUpivE1YXOW4
+kL6QZ4rFBDoXYmuEz17Fiy1DgohtgXIstjLeshIXttPWRW/1UKZFKxvbXYPd3hKf5NjOCnvR
+F+3Gj6zBbu+Eo+PYzgoLnLrdUza280lQP2V+zPISSdKx4kRJ8enZy6Qst0FwPB6nx/mU8X0Q
+bTabQEsbg+MGV1acalQSB5hiNZgIomkUWGyOJRprn8K6JhVVvsN8NDVIoqtVFYf9aI847Aeo
+iTPER/uGBl8u7zwZv7zzxO2bI5kNrMk6eA9C/ef9u9YXeD52LIW9oCrmpBw9TYN2+zPGGlNV
+BxOg2txZGC4C89tBH2/Cj5xIzB14fBMeIxo3jLO8jzTARQEgfHxQbmrRXE16UPMy4LhkXDaG
+pOMTFLAza8IrkzkdDi8ltdA9T5JeKJgzDyDUwNH9A8HH77yLzHl7ATadBdBp6KUuGuTmqZsd
+ojBQmCZsYEnapMr3TdpPWVXAJGCrqAnEpxJzokSI6m7bCw2ul1H2FSrrvcLRcBHeQsxlH98f
+/x0oma/SPSS0Wouzy828t3ZLSxlsZymKsZ/gmIq3b0wqapon5rcy7tn7mWP8ARUi8iaQdSwo
+J/TcyrzJhQYl9Pe4gElBIIgjEcILbo/yjkD21JxMPkC3tGewv6KSiR+6QNN60wDOclRcIEoi
+Y8hVB8SJdpovMM7M9mXbADfCNMPNK0z7O/4D/VbdNsvBjDHpLCTOX2OT4xVf5zCjLAiGnLlu
+N+WatTTBKapoXcRZzbVRe47KjMSexda//ZJD1uCSQNGnJiIkZ58wbLuUwT7/3XzxtEQLb6Ky
+yDYllDaS1WyTxuDBKdseQZXPSqljsGC++l13ERlK2NEHawWW/unZC6dRtI5I0Ss/X8sl7N0+
+lDrYFyWKodDyM8bJZ6ayiEFHi1vog5pb3IOF3WG03itsn9aabgrTORKZ+aZ8TREVji+ViCPN
+/AXvWqTwPqokU4OAg5EEMwNFtMyQHUDbseMYQWkIi0ViaSVqf1bG5SyB7pT7cnfhXqRIsNoU
+VZnvzsYaaW2ELQY8iJVC+d+w2Q1c2X01m0pgoKFQi6sHr91G8gpfGDWUGMGttFyQzyCPZqXU
+bRQV+wrtoSnluiGGbUZycJy//aNhCEuoU/xPmBd6dr1j+lAtoKKbWlqMGtdionC6LBuarQlW
++jmzktoWK/jp1+tRVTlL8WkgR+hBG4iZdGfQRpqR7rCN6JdfvXbpLnLCmETRrLV302mB++xc
+ZrjQy+ZTlCRAurZFJwFKctKYP9K3y6qIZWUUqiQCs4R5wyK+7PzWaf2EQBYo1CDhdLGZLdvQ
+vIyPEths4/L/TvwndGLXx7DNUl3H4zhHpPDVIc963+wKVFYi60BeESGmBnfSJcWu75jrhB3j
+KiCUs8E2AZ5DUSmUK792YJ+zY2dwaOmE5ieMS1+yPZaZOq+r0HtpYHdA49AfIJASxBNvMEPY
+xaNICDAPgqgNqWt9/8QocYJ5UB00NFdRfr8phYpXF/ARGn6fhb/vWHLuM+ulXJYjDokGKCv1
+nv70pBNHK9gxKdUhNpyG67mWmVNLDC4P/1eIdrfTZhl0NVDoagDRIzqLl9LOQE7RgWZTyv++
+Ju9mr0UbyKMTUD1qjfryQt32HCqWrbw1eij79Vp/O5HVpowCWXsb8KDFDWLY5jZ5KqvbsH0h
+XPtCAHbDkqKzEyQTV/yaEPzq6BoMrM1qNjawdCGQYbLPpNpjwu/H0/QOCoSvmf+NDEOVyhEx
+feGRs1EeGX1Dl7RXFON4+gnpE903dBUghqMvzMQ2274qE+vXAXN3rU8+4lKinclebYfD2Xmg
+nDNtqgcUtnB8hEP26EU3rNXSns53copx9ZtjcSOvbR7tVb/A+fP0DX2KaH03feobrf6fPY71
+ZFglzdH+ivh/GYnXAVJ8wLSGGzpUA0yrqbSq3FcPEwgSbcOzSnh11y7RrogJostvWDkdk9je
+TaAdiMFx9oW6D+5T24HUunVjCrU0O+LE351N6oUi2HMGb46CdnyVK+Z1EtGrSvQlyLPnt+11
+cqE4lRbeMtw7XZAOMTmS49mDcbwY4HjRz/HiHhzPH4zj5QDHy36Ol/fgePFgHD8NcPzUz/HT
+PThePhjHqwGOV/0cr+7B8dODcbwe4Hjdz/H6HhyvHozjzQDHm36ON/fgeP1QHEe9DEd9/Eb3
+YHfzWOxOB/id9jM8vQvHUfhgJM8GSJ71kzx7JcmXIpf5gkks4CxZpGRf1VfGjcCvD9UpY1L9
+7luEqJ6reWs/IFqpp7a60XYUzuT1Q5vbx5y11Uuc0me/F1LzHW8hLpIhA0m/gVa9YqS1oG+Y
+wZsC85WCfh/YPDkPi3301FpaGtTS1jJSxFx/mKnKOucjD62t/bZDPdqATjj6W4G95NjDcqMz
+LO/FCf99mUdeD6hzhaUlR5Ko7xjXzblBtzYXqtHg5GrtQJ70GSfqa656mRmXHBHpXd/hrdar
+zhGwvcO7ljUl35WEG+takTHm5ncPxh/9HJ2a2akL6PbbnhogcGnVGWrCaRiuHB7su7K/w0CH
+7qBB8826B4RS9Xrbi2lD8tkTjJLmRgslf1RCGr8w3mLaOcR1bdRs+X37YGq+wwn1P8/9VqNv
+5e2EM4zUs6T+EbgsOI3XilofvXbKWpAj0ehoRqsblaabL4uuzY4zO7HRUR/0f7f+9r9QSwcI
+XUUkGToIAAD3LgAAUEsDBBQACAgIAGNV0kYAAAAAAAAAAAAAAAAMAAAAbWFuaWZlc3QucmRm
+zZPNboMwEITvPIVlzthALwUFcijKuWqfwDWGWAUv8poS3r6Ok1ZRpKrqn9TjrkYz3460m+1h
+HMiLsqjBVDRjKSXKSGi16Ss6uy65pds62ti2Kx+aHfFqg6WfKrp3bio5X5aFLTcMbM+zoih4
+mvM8T7wiwdU4cUgMxrSOCAkejUJp9eR8GjnO4glmV1F066CQefcgPYvdOqmgsgphtlK9h7Yg
+kYFAjQlMyoR0gxy6TkvFM5bzUTnBoe3ix2C904OiPGDwK47P2N6IDKblXuC9sO5cg998lWh6
+7mN6ddPF8d8jlGCcMu5P6rs7ef/n/i7P/xnir7R2RGxAzqNn+pDntPIfVUevUEsHCLT3aNIF
+AQAAgwMAAFBLAwQUAAAIAABjVdJGAAAAAAAAAAAAAAAAGgAAAENvbmZpZ3VyYXRpb25zMi9w
+b3B1cG1lbnUvUEsDBBQAAAgAAGNV0kYAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMy
+L3N0YXR1c2Jhci9QSwMEFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9u
+czIvdG9vbGJhci9QSwMEFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9u
+czIvbWVudWJhci9QSwMEFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9u
+czIvZmxvYXRlci9QSwMEFAAICAgAY1XSRgAAAAAAAAAAAAAAACcAAABDb25maWd1cmF0aW9u
+czIvYWNjZWxlcmF0b3IvY3VycmVudC54bWwDAFBLBwgAAAAAAgAAAAAAAABQSwMEFAAACAAA
+Y1XSRgAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvdG9vbHBhbmVsL1BLAwQUAAAI
+AABjVdJGAAAAAAAAAAAAAAAAHAAAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwME
+FAAACAAAY1XSRgAAAAAAAAAAAAAAAB8AAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1h
+cHMvUEsDBBQACAgIAGNV0kYAAAAAAAAAAAAAAAAVAAAATUVUQS1JTkYvbWFuaWZlc3QueG1s
+tZTBbsMgDIbvfYqI6xTYeppQ0h4q7Qm6B2DESZHARGCq9u1HqrXJNGVqtO5mY/P/nzBQbU/O
+FkcI0Xis2Qt/ZgWg9o3Brmbv+7fylW03q8opNC1EktegyPsw3tKapYDSq2iiROUgStLS94CN
+18kBkvzeLy9Ot2wCsGabVTH6tcZCmfeH89jdJmvLXtGhZmJOZFx20BhV0rmHmqm+t0Yrym3i
+iA2/APMpJyc4ERNLGPaH5D5QGRsFXUPeYzfDYJzqQAz1RS7aIw18+RxnhAdyMZQX6UYgysOO
+Dxd2QOrxtHS28A+sX2s8NO0dVyd3PS322HlsTZfCRSKuhdIaLOTUB6FTCL8P929edz6HmHBA
+4MlwPVUYzCvx4w/YfAJQSwcIHYDzWRwBAAA+BAAAUEsBAhQAFAAACAAAY1XSRl7GMgwnAAAA
+JwAAAAgAAAAAAAAAAAAAAAAAAAAAAG1pbWV0eXBlUEsBAhQAFAAACAAAY1XSRnPWCvM4AwAA
+OAMAABgAAAAAAAAAAAAAAAAATQAAAFRodW1ibmFpbHMvdGh1bWJuYWlsLnBuZ1BLAQIUABQA
+CAgIAGNV0ka7MF5+tAMAAJ8OAAALAAAAAAAAAAAAAAAAALsDAABjb250ZW50LnhtbFBLAQIU
+ABQACAgIAGNV0kYaWG8FBAYAAE8oAAAMAAAAAAAAAAAAAAAAAKgHAABzZXR0aW5ncy54bWxQ
+SwECFAAUAAgICABjVdJGzd0yKsABAADPAwAACAAAAAAAAAAAAAAAAADmDQAAbWV0YS54bWxQ
+SwECFAAUAAgICABjVdJGXUUkGToIAAD3LgAACgAAAAAAAAAAAAAAAADcDwAAc3R5bGVzLnht
+bFBLAQIUABQACAgIAGNV0ka092jSBQEAAIMDAAAMAAAAAAAAAAAAAAAAAE4YAABtYW5pZmVz
+dC5yZGZQSwECFAAUAAAIAABjVdJGAAAAAAAAAAAAAAAAGgAAAAAAAAAAAAAAAACNGQAAQ29u
+ZmlndXJhdGlvbnMyL3BvcHVwbWVudS9QSwECFAAUAAAIAABjVdJGAAAAAAAAAAAAAAAAGgAA
+AAAAAAAAAAAAAADFGQAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwECFAAUAAAIAABj
+VdJGAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAAD9GQAAQ29uZmlndXJhdGlvbnMyL3Rvb2xi
+YXIvUEsBAhQAFAAACAAAY1XSRgAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAAMxoAAENvbmZp
+Z3VyYXRpb25zMi9tZW51YmFyL1BLAQIUABQAAAgAAGNV0kYAAAAAAAAAAAAAAAAYAAAAAAAA
+AAAAAAAAAGkaAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwECFAAUAAgICABjVdJGAAAA
+AAIAAAAAAAAAJwAAAAAAAAAAAAAAAACfGgAAQ29uZmlndXJhdGlvbnMyL2FjY2VsZXJhdG9y
+L2N1cnJlbnQueG1sUEsBAhQAFAAACAAAY1XSRgAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAA
+9hoAAENvbmZpZ3VyYXRpb25zMi90b29scGFuZWwvUEsBAhQAFAAACAAAY1XSRgAAAAAAAAAA
+AAAAABwAAAAAAAAAAAAAAAAALhsAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwEC
+FAAUAAAIAABjVdJGAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAABoGwAAQ29uZmlndXJhdGlv
+bnMyL2ltYWdlcy9CaXRtYXBzL1BLAQIUABQACAgIAGNV0kYdgPNZHAEAAD4EAAAVAAAAAAAA
+AAAAAAAAAKUbAABNRVRBLUlORi9tYW5pZmVzdC54bWxQSwUGAAAAABEAEQBwBAAABB0AAAAA
+
+--------------030000010109090603040500--

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/nonTextual.json
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/nonTextual.json b/mailbox/store/src/test/resources/eml/nonTextual.json
index d2297e7..fff32e6 100644
--- a/mailbox/store/src/test/resources/eml/nonTextual.json
+++ b/mailbox/store/src/test/resources/eml/nonTextual.json
@@ -85,14 +85,14 @@
       "contentDisposition":null,
       "fileMetadata":{
         "X-Parsed-By":["org.apache.tika.parser.DefaultParser","org.apache.tika.parser.txt.TXTParser"],
-        "Content-Encoding":["ISO-8859-1"],
-        "Content-Type":["text/plain; charset=ISO-8859-1"]
+        "Content-Encoding":["windows-1252"],
+        "Content-Type":["text/plain; charset=windows-1252"]
       },
       "headers":{
         "content-transfer-encoding":["7bit"],
         "content-type":["text/plain; charset=utf-8"]
       },
-      "textContent":"This mail have a non textual attachment !\n\n"
+      "textContent":"This mail have a non textual attachment !\r\n\n"
     },
     {
       "mediaType":"application",
@@ -146,7 +146,7 @@
       },
       "textContent":"Awesome document provided for text extraction�!\n"}
   ],
-  "textBody":"This mail have a non textual attachment !\n\n",
+  "textBody":"This mail have a non textual attachment !\r\n\n",
   "htmlBody": null,
   "isAnswered":false,
   "isDeleted":false,

http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/oneAttachmentAndSomeTextInlined.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/oneAttachmentAndSomeTextInlined.eml b/mailbox/store/src/test/resources/eml/oneAttachmentAndSomeTextInlined.eml
index 578af96..46e83d1 100644
--- a/mailbox/store/src/test/resources/eml/oneAttachmentAndSomeTextInlined.eml
+++ b/mailbox/store/src/test/resources/eml/oneAttachmentAndSomeTextInlined.eml
@@ -1,39 +1,39 @@
-Mail content:
-To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
-Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
-Importance: Normal
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
-	boundary="----=_Part_0_1330682067197"
-
-------=_Part_0_1330682067197
-Content-Type: multipart/alternative;
-	boundary="----=_Part_2_1330682067197"
-
-------=_Part_2_1330682067197
-Content-Type: text/plain;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-Content of part 1-1
-------=_Part_2_1330682067197
-Content-Type: text/html;
-	charset= utf-8
-Content-Transfer-Encoding: 8bit
-Content-Disposition: inline
-
-<b>Content of part 1-2</b>
-------=_Part_2_1330682067197--
-
-------=_Part_0_1330682067197
-Content-Type: application/octet-stream;
-	name="exploits_of_a_mom.png"
-Content-Transfer-Encoding: base64
-Content-Disposition: attachment;
-	filename="gimp.png"
-
-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
-
-------=_Part_0_1330682067197--
-
+Mail content:
+To: "=?utf-8?B?UmFuaSBBc3NhZg==?=" <ra...@jri.obm.lng.org>
+Subject: =?utf-8?B?VHIuIDogUGhvdG9zICE=?=
+Importance: Normal
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+	boundary="----=_Part_0_1330682067197"
+
+------=_Part_0_1330682067197
+Content-Type: multipart/alternative;
+	boundary="----=_Part_2_1330682067197"
+
+------=_Part_2_1330682067197
+Content-Type: text/plain;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+Content of part 1-1
+------=_Part_2_1330682067197
+Content-Type: text/html;
+	charset= utf-8
+Content-Transfer-Encoding: 8bit
+Content-Disposition: inline
+
+<b>Content of part 1-2</b>
+------=_Part_2_1330682067197--
+
+------=_Part_0_1330682067197
+Content-Type: application/octet-stream;
+	name="exploits_of_a_mom.png"
+Content-Transfer-Encoding: base64
+Content-Disposition: attachment;
+	filename="gimp.png"
+
+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
+
+------=_Part_0_1330682067197--
+


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[03/17] james-project git commit: JAMES-1804 Add Text capability to MessageSearchIndex

Posted by ma...@apache.org.
JAMES-1804 Add Text capability to MessageSearchIndex


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9470ccf8
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9470ccf8
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9470ccf8

Branch: refs/heads/master
Commit: 9470ccf8331717fee2b9d92fd8fc5cd39d7a25c9
Parents: 62f6ad9
Author: Antoine Duprat <ad...@linagora.com>
Authored: Wed Jul 20 12:06:54 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:04 2016 +0200

----------------------------------------------------------------------
 .../apache/james/mailbox/MailboxManager.java    |  8 +++++-
 ...lasticSearchListeningMessageSearchIndex.java |  4 +--
 .../lucene/search/LuceneMessageSearchIndex.java |  1 +
 .../store/search/MessageSearchIndex.java        |  2 +-
 .../store/search/SimpleMessageSearchIndex.java  |  2 +-
 .../james/JamesCapabilitiesServerTest.java      | 27 ++++++++++++++++++--
 .../java/org/apache/james/jmap/JMAPModule.java  |  8 +++++-
 7 files changed, 44 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
index 8cc0ea6..926074b 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/MailboxManager.java
@@ -90,7 +90,13 @@ public interface MailboxManager extends RequestAware, MailboxListenerSupport {
     EnumSet<MessageCapabilities> getSupportedMessageCapabilities();
 
     enum SearchCapabilities {
-        MultimailboxSearch
+        MultimailboxSearch,
+        /**
+         *  The implementation supporting this capability should
+         *  provide an index on the fields: 
+         *  From, To, Cc, Bcc, Subjects, textBody & htmlBody
+         */
+        Text
     }
     
     EnumSet<SearchCapabilities> getSupportedSearchCapabilities();

http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
index 957826d..47823db 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/events/ElasticSearchListeningMessageSearchIndex.java
@@ -55,7 +55,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
 
     private final static Logger LOGGER = LoggerFactory.getLogger(ElasticSearchListeningMessageSearchIndex.class);
     private final static String ID_SEPARATOR = ":";
-    
+
     private final ElasticSearchIndexer indexer;
     private final ElasticSearchSearcher searcher;
     private final MessageToElasticSearchJson messageToElasticSearchJson;
@@ -76,7 +76,7 @@ public class ElasticSearchListeningMessageSearchIndex extends ListeningMessageSe
 
     @Override
     public EnumSet<SearchCapabilities> getSupportedCapabilities() {
-        return EnumSet.of(SearchCapabilities.MultimailboxSearch);
+        return EnumSet.of(SearchCapabilities.MultimailboxSearch, SearchCapabilities.Text);
     }
     
     @Override

http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
index b998dfa..bc48605 100644
--- a/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
+++ b/mailbox/lucene/src/main/java/org/apache/james/mailbox/lucene/search/LuceneMessageSearchIndex.java
@@ -1383,6 +1383,7 @@ public class LuceneMessageSearchIndex extends ListeningMessageSearchIndex {
             throw new MailboxException("Unable to delete message from index", e);
         }
     }
+
     
 
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearchIndex.java
index 3dcfcca..b81607d 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearchIndex.java
@@ -40,7 +40,7 @@ import org.apache.james.mailbox.store.mail.model.Mailbox;
  * 
  */
 public interface MessageSearchIndex {
-    
+
     /**
      * Return all uids of the previous indexed {@link Mailbox}'s which match the {@link SearchQuery}
      */

http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
index 7dccf41..db16fd7 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndex.java
@@ -76,7 +76,7 @@ public class SimpleMessageSearchIndex implements MessageSearchIndex {
     
     @Override
     public EnumSet<SearchCapabilities> getSupportedCapabilities() {
-        return EnumSet.of(SearchCapabilities.MultimailboxSearch);
+        return EnumSet.of(SearchCapabilities.MultimailboxSearch, SearchCapabilities.Text);
     }
     
     /**

http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java
index 3eeeff8..e866369 100644
--- a/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java
+++ b/server/container/guice/cassandra-guice/src/test/java/org/apache/james/JamesCapabilitiesServerTest.java
@@ -90,6 +90,9 @@ public class JamesCapabilitiesServerTest {
             .thenReturn(EnumSet.complementOf(EnumSet.of(MailboxManager.MailboxCapabilities.Move)));
         when(mailboxManager.getSupportedMessageCapabilities())
             .thenReturn(EnumSet.of(MailboxManager.MessageCapabilities.Attachment));
+        when(mailboxManager.getSupportedSearchCapabilities())
+            .thenReturn(EnumSet.of(MailboxManager.SearchCapabilities.MultimailboxSearch, MailboxManager.SearchCapabilities.Text));
+
         server = createCassandraJamesServer(mailboxManager);
         
         assertThatThrownBy(() -> server.start()).isInstanceOf(IllegalArgumentException.class);
@@ -102,6 +105,24 @@ public class JamesCapabilitiesServerTest {
             .thenReturn(EnumSet.allOf(MailboxManager.MailboxCapabilities.class));
         when(mailboxManager.getSupportedMessageCapabilities())
             .thenReturn(EnumSet.noneOf(MailboxManager.MessageCapabilities.class));
+        when(mailboxManager.getSupportedSearchCapabilities())
+            .thenReturn(EnumSet.of(MailboxManager.SearchCapabilities.MultimailboxSearch, MailboxManager.SearchCapabilities.Text));
+
+        server = createCassandraJamesServer(mailboxManager);
+
+        assertThatThrownBy(() -> server.start()).isInstanceOf(IllegalArgumentException.class);
+    }
+    
+    @Test
+    public void startShouldFailWhenNoTextCapability() throws Exception {
+        MailboxManager mailboxManager = mock(MailboxManager.class);
+        when(mailboxManager.getSupportedMailboxCapabilities())
+            .thenReturn(EnumSet.allOf(MailboxManager.MailboxCapabilities.class));
+        when(mailboxManager.getSupportedMessageCapabilities())
+            .thenReturn(EnumSet.allOf(MailboxManager.MessageCapabilities.class));
+        when(mailboxManager.getSupportedSearchCapabilities())
+            .thenReturn(EnumSet.of(MailboxManager.SearchCapabilities.MultimailboxSearch));
+
         server = createCassandraJamesServer(mailboxManager);
 
         assertThatThrownBy(() -> server.start()).isInstanceOf(IllegalArgumentException.class);
@@ -115,7 +136,8 @@ public class JamesCapabilitiesServerTest {
         when(mailboxManager.getSupportedMessageCapabilities())
             .thenReturn(EnumSet.allOf(MailboxManager.MessageCapabilities.class));
         when(mailboxManager.getSupportedSearchCapabilities())
-            .thenReturn(EnumSet.noneOf(MailboxManager.SearchCapabilities.class));
+            .thenReturn(EnumSet.of(MailboxManager.SearchCapabilities.Text));
+
         server = createCassandraJamesServer(mailboxManager);
 
         assertThatThrownBy(() -> server.start()).isInstanceOf(IllegalArgumentException.class);
@@ -128,7 +150,8 @@ public class JamesCapabilitiesServerTest {
         when(mailboxManager.getSupportedMessageCapabilities())
             .thenReturn(EnumSet.of(MailboxManager.MessageCapabilities.Attachment));
         when(mailboxManager.getSupportedSearchCapabilities())
-            .thenReturn(EnumSet.of(MailboxManager.SearchCapabilities.MultimailboxSearch));
+            .thenReturn(EnumSet.of(MailboxManager.SearchCapabilities.MultimailboxSearch, MailboxManager.SearchCapabilities.Text));
+
         server = createCassandraJamesServer(mailboxManager);
 
         server.start();

http://git-wip-us.apache.org/repos/asf/james-project/blob/9470ccf8/server/container/guice/guice-common/src/main/java/org/apache/james/jmap/JMAPModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/jmap/JMAPModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/jmap/JMAPModule.java
index 93bb11c..286cead 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/jmap/JMAPModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/jmap/JMAPModule.java
@@ -19,6 +19,7 @@
 package org.apache.james.jmap;
 
 import java.io.IOException;
+import java.util.EnumSet;
 import java.util.List;
 import java.util.Optional;
 
@@ -34,6 +35,7 @@ import org.apache.james.jmap.utils.SystemMailboxesProvider;
 import org.apache.james.jmap.utils.SystemMailboxesProviderImpl;
 import org.apache.james.lifecycle.api.Configurable;
 import org.apache.james.mailbox.MailboxManager;
+import org.apache.james.mailbox.MailboxManager.SearchCapabilities;
 import org.apache.james.mailetcontainer.impl.MatcherMailetPair;
 import org.apache.james.modules.server.CamelMailetContainerModule;
 import org.apache.james.transport.mailets.RemoveMimeHeader;
@@ -106,8 +108,12 @@ public class JMAPModule extends AbstractModule {
                     "MOVE support in MailboxManager is required by JMAP Module");
             Preconditions.checkArgument(mailboxManager.getSupportedMessageCapabilities().contains(MailboxManager.MessageCapabilities.Attachment),
                     "Attachment support in MailboxManager is required by JMAP Module");
-            Preconditions.checkArgument(mailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.MultimailboxSearch),
+
+            EnumSet<SearchCapabilities> searchCapabilities = mailboxManager.getSupportedSearchCapabilities();
+            Preconditions.checkArgument(searchCapabilities.contains(MailboxManager.SearchCapabilities.MultimailboxSearch),
                     "Multimailbox search in MailboxManager is required by JMAP Module");
+            Preconditions.checkArgument(searchCapabilities.contains(MailboxManager.SearchCapabilities.Text),
+                    "Text support in MailboxManager is required by JMAP Module");
         }
 
         @Override


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[05/17] james-project git commit: JAMES-1804 Introduce type for Set

Posted by ma...@apache.org.
JAMES-1804 Introduce type for Set<EMailer>


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/4295a7f6
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/4295a7f6
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/4295a7f6

Branch: refs/heads/master
Commit: 4295a7f69b799473a182de081a076a105c794a4a
Parents: 1616042
Author: Antoine Duprat <ad...@linagora.com>
Authored: Tue Jul 19 16:44:11 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:04 2016 +0200

----------------------------------------------------------------------
 .../mailbox/elasticsearch/json/EMailer.java     |  8 ++-
 .../mailbox/elasticsearch/json/EMailers.java    | 52 +++++++++++++++
 .../elasticsearch/json/IndexableMessage.java    | 30 ++++-----
 .../elasticsearch/json/Serializable.java        | 25 ++++++++
 .../elasticsearch/json/EMailersTest.java        | 66 ++++++++++++++++++++
 5 files changed, 165 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/4295a7f6/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailer.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailer.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailer.java
index 0ed87ac..6fff269 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailer.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailer.java
@@ -22,9 +22,10 @@ package org.apache.james.mailbox.elasticsearch.json;
 import java.util.Objects;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.Joiner;
 import com.google.common.base.MoreObjects;
 
-public class EMailer {
+public class EMailer implements Serializable {
 
     private final String name;
     private final String address;
@@ -45,6 +46,11 @@ public class EMailer {
     }
 
     @Override
+    public String serialize() {
+        return Joiner.on(" ").join(name, address);
+    }
+
+    @Override
     public boolean equals(Object o) {
         if (o instanceof EMailer) {
             EMailer otherEMailer = (EMailer) o;

http://git-wip-us.apache.org/repos/asf/james-project/blob/4295a7f6/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailers.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailers.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailers.java
new file mode 100644
index 0000000..7679310
--- /dev/null
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/EMailers.java
@@ -0,0 +1,52 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailbox.elasticsearch.json;
+
+import java.util.Set;
+import java.util.stream.Collectors;
+
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.google.common.base.Preconditions;
+
+public class EMailers implements Serializable {
+
+    public static EMailers from(Set<EMailer> emailers) {
+        Preconditions.checkNotNull(emailers, "'emailers' is mandatory");
+        return new EMailers(emailers);
+    }
+
+    private final Set<EMailer> emailers;
+
+    private EMailers(Set<EMailer> emailers) {
+        this.emailers = emailers;
+    }
+
+    @JsonValue
+    public Set<EMailer> getEmailers() {
+        return emailers;
+    }
+
+    @Override
+    public String serialize() {
+        return emailers.stream()
+            .map(EMailer::serialize)
+            .collect(Collectors.joining(" "));
+    }
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/4295a7f6/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
index 5b1cec1..d36b1ec 100644
--- a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/IndexableMessage.java
@@ -68,11 +68,11 @@ public class IndexableMessage {
     private void copyHeaderFields(HeaderCollection headerCollection, ZonedDateTime internalDate) {
         this.headers = headerCollection.getHeaders();
         this.subjects = headerCollection.getSubjectSet();
-        this.from = headerCollection.getFromAddressSet();
-        this.to = headerCollection.getToAddressSet();
-        this.replyTo = headerCollection.getReplyToAddressSet();
-        this.cc = headerCollection.getCcAddressSet();
-        this.bcc = headerCollection.getBccAddressSet();
+        this.from = EMailers.from(headerCollection.getFromAddressSet());
+        this.to = EMailers.from(headerCollection.getToAddressSet());
+        this.replyTo = EMailers.from(headerCollection.getReplyToAddressSet());
+        this.cc = EMailers.from(headerCollection.getCcAddressSet());
+        this.bcc = EMailers.from(headerCollection.getBccAddressSet());
         this.sentDate = DateResolutionFormater.DATE_TIME_FOMATTER.format(headerCollection.getSentDate().orElse(internalDate));
     }
 
@@ -119,11 +119,11 @@ public class IndexableMessage {
     private boolean isAnswered;
     private String[] userFlags;
     private Multimap<String, String> headers;
-    private Set<EMailer> from;
-    private Set<EMailer> to;
-    private Set<EMailer> cc;
-    private Set<EMailer> bcc;
-    private Set<EMailer> replyTo;
+    private EMailers from;
+    private EMailers to;
+    private EMailers cc;
+    private EMailers bcc;
+    private EMailers replyTo;
     private Set<String> subjects;
     private String sentDate;
     private List<Property> properties;
@@ -216,27 +216,27 @@ public class IndexableMessage {
     }
 
     @JsonProperty(JsonMessageConstants.FROM)
-    public Set<EMailer> getFrom() {
+    public EMailers getFrom() {
         return from;
     }
 
     @JsonProperty(JsonMessageConstants.TO)
-    public Set<EMailer> getTo() {
+    public EMailers getTo() {
         return to;
     }
 
     @JsonProperty(JsonMessageConstants.CC)
-    public Set<EMailer> getCc() {
+    public EMailers getCc() {
         return cc;
     }
 
     @JsonProperty(JsonMessageConstants.BCC)
-    public Set<EMailer> getBcc() {
+    public EMailers getBcc() {
         return bcc;
     }
 
     @JsonProperty(JsonMessageConstants.REPLY_TO)
-    public Set<EMailer> getReplyTo() {
+    public EMailers getReplyTo() {
         return replyTo;
     }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/4295a7f6/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Serializable.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Serializable.java b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Serializable.java
new file mode 100644
index 0000000..92915df
--- /dev/null
+++ b/mailbox/elasticsearch/src/main/java/org/apache/james/mailbox/elasticsearch/json/Serializable.java
@@ -0,0 +1,25 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailbox.elasticsearch.json;
+
+public interface Serializable {
+
+    String serialize();
+}

http://git-wip-us.apache.org/repos/asf/james-project/blob/4295a7f6/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/EMailersTest.java
----------------------------------------------------------------------
diff --git a/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/EMailersTest.java b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/EMailersTest.java
new file mode 100644
index 0000000..2ff133b
--- /dev/null
+++ b/mailbox/elasticsearch/src/test/java/org/apache/james/mailbox/elasticsearch/json/EMailersTest.java
@@ -0,0 +1,66 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailbox.elasticsearch.json;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
+
+import org.junit.Test;
+
+import com.google.common.base.Joiner;
+import com.google.common.collect.ImmutableSet;
+
+public class EMailersTest {
+
+    @Test
+    public void fromShouldThrowWhenSetIsNull() {
+        assertThatThrownBy(() -> EMailers.from(null))
+            .isInstanceOf(NullPointerException.class)
+            .hasMessage("'emailers' is mandatory");
+    }
+
+    @Test
+    public void serializeShouldReturnEmptyWhenEmptySet() {
+        EMailers eMailers = EMailers.from(ImmutableSet.of());
+
+        assertThat(eMailers.serialize()).isEmpty();
+    }
+
+    @Test
+    public void serializeShouldNotJoinWhenOneElement() {
+        EMailer emailer = new EMailer("name", "address");
+        EMailers eMailers = EMailers.from(ImmutableSet.of(emailer));
+
+        assertThat(eMailers.serialize()).isEqualTo(emailer.serialize());
+    }
+
+    @Test
+    public void serializeShouldJoinWhenMultipleElements() {
+        EMailer emailer = new EMailer("name", "address");
+        EMailer emailer2 = new EMailer("name2", "address2");
+        EMailer emailer3 = new EMailer("name3", "address3");
+
+        String expected = Joiner.on(" ").join(emailer.serialize(), emailer2.serialize(), emailer3.serialize());
+
+        EMailers eMailers = EMailers.from(ImmutableSet.of(emailer, emailer2, emailer3));
+
+        assertThat(eMailers.serialize()).isEqualTo(expected);
+    }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[14/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/embeddedAttachmentWithInline.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/embeddedAttachmentWithInline.eml b/mailbox/store/src/test/resources/eml/embeddedAttachmentWithInline.eml
index d762a75..b3d7d18 100644
--- a/mailbox/store/src/test/resources/eml/embeddedAttachmentWithInline.eml
+++ b/mailbox/store/src/test/resources/eml/embeddedAttachmentWithInline.eml
@@ -1,1261 +1,1261 @@
-Return-Path: <ip...@obm.lng.org>
-Received: from lenny.obm.lng.org (localhost [127.0.0.1])
-	 by lenny.obm.lng.org (Cyrus v2.3.14-Debian-2.3.14-2) with LMTPA;
-	 Wed, 21 Mar 2012 14:51:59 +0100
-X-Sieve: CMU Sieve 2.3
-Received: from [192.168.2.48] (unknown [192.168.2.48])
-	by lenny.obm.lng.org (Postfix) with ESMTP id E495D32929
-	for <us...@obm.lng.org>; Wed, 21 Mar 2012 14:51:58 +0100 (CET)
-Message-ID: <4F...@obm.lng.org>
-Date: Wed, 21 Mar 2012 14:52:14 +0100
-From: iphone <ip...@obm.lng.org>
-User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.28) Gecko/20120306 Lightning/1.0b2 Thunderbird/3.1.20
-MIME-Version: 1.0
-To: usera <us...@obm.lng.org>
-Subject: Fwd: Re: email with sign
-Content-Type: multipart/mixed;
- boundary="------------080809000000030101030405"
-
-This is a multi-part message in MIME format.
---------------080809000000030101030405
-Content-Type: text/plain; charset=ISO-8859-1; format=flowed
-Content-Transfer-Encoding: 7bit
-
-new email text part
-
---------------080809000000030101030405
-Content-Type: message/rfc822;
- name="Re: email with sign.eml"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: attachment;
- filename="Re: email with sign.eml"
-
-Return-Path: <us...@obm.lng.org>
-Received: from lenny.obm.lng.org (localhost [127.0.0.1])
-	 by lenny.obm.lng.org (Cyrus v2.3.14-Debian-2.3.14-2) with LMTPA;
-	 Wed, 21 Mar 2012 14:19:29 +0100
-X-Sieve: CMU Sieve 2.3
-Received: from [192.168.2.48] (unknown [192.168.2.48])
-	by lenny.obm.lng.org (Postfix) with ESMTP id 47EC832D51
-	for <ip...@obm.lng.org>; Wed, 21 Mar 2012 14:19:29 +0100 (CET)
-Message-ID: <4F...@obm.lng.org>
-Date: Wed, 21 Mar 2012 14:19:44 +0100
-From: usera <us...@obm.lng.org>
-User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv:1.9.2.28) Gecko/20120306 Thunderbird/3.1.20
-MIME-Version: 1.0
-To: iphone <ip...@obm.lng.org>
-Subject: Re: email with sign
-References: <4F...@obm.lng.org>
-In-Reply-To: <4F...@obm.lng.org>
-Content-Type: multipart/alternative;
- boundary="------------050702060806040107070701"
-
-This is a multi-part message in MIME format.
---------------050702060806040107070701
-Content-Type: text/plain; charset=ISO-8859-1; format=flowed
-Content-Transfer-Encoding: 7bit
-
-On 03/21/2012 01:59 PM, iphone wrote:
-> email with sign text part
-> -- 
-new email text part
-
---------------050702060806040107070701
-Content-Type: multipart/related;
- boundary="------------090109030206070103090500"
-
-
---------------090109030206070103090500
-Content-Type: text/html; charset=ISO-8859-1
-Content-Transfer-Encoding: 7bit
-
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-  <head>
-    <meta content="text/html; charset=ISO-8859-1"
-      http-equiv="Content-Type">
-  </head>
-  <body text="#000000" bgcolor="#ffffff">
-    On 03/21/2012 01:59 PM, iphone wrote:
-    <blockquote cite="mid:4F69D0C6.501@obm.lng.org" type="cite">
-      <meta http-equiv="content-type" content="text/html;
-        charset=ISO-8859-1">
-      email with sign text part<br>
-      <div class="moz-signature">-- <br>
-        <img src="cid:part1.05020706.03070506@obm.lng.org" border="0"></div>
-    </blockquote>
-    new email text part<br>
-  </body>
-
-</html>
-
---------------090109030206070103090500
-Content-Type: image/jpeg
-Content-Transfer-Encoding: base64
-Content-ID: <pa...@obm.lng.org>
-
-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
-RvvR7cp9+nyYupWotquN7t17lQ1W/iOqfiKi4Sl3iAJbUmI2CNhIVz3Yykxd66HItw0joyzq
-lWSbK0tavBjTt3sSJ8Z5BaZQtzgKWNjmWEKSoKO3KgdwJoC46n1W1brNapdnipvUm9SG49qa
-bfDbchS21OhRcwdqA22tZUAThPIE4FQrfSXEtUqRa9awFWW7tPstNxoXGuKJXGbeW0WS20Fq
-3CM+MFtJy2Rg5TmTvGjus6XsdsttyFunWBbLttltxG9jbjbSmubKNqNim1uIKE7QAo7duBiM
-hdH85zVNu1VfNQNT7zGuCJTy2IHAZUy3Elx22G0FxRQEmY45uUpZJJHIEbQPub0raPtUORIv
-dzTH6uuaXjFiyZKGWo0l1hTjiksjh5UypPjAArCkoU4AFK+k9KmkWHZEa43EMyY7zyXkxosl
-9tlpEuRGDriwyA2nfGcClKwhBB8dSSlaud9IXRzrONGv9o0il+ajVMGdEnyVR44ZaTImzZKA
-SuQlbezrriVKS27vHclBxi4o6KNto1zA8PZ7V22XA39T/wA148u4yN+N/j7fCO3Hi54Wcjdh
-IFsh6005L1IrT0ec6qeHHGk5iPJZccbBLjaHikNLWkA7kJUVDarIGDjLqDVmn7BPhQLtcBHk
-zXWmmGw0tZUp15DLYO0EJ3OOJSCrA7z3JURUtNdFMGxdIb+qY5sRS5NlzgrwCz4RLskrK0qm
-klZbBcXtCUpVghJUUjB+ekLRGor/AKvdl2i5QrexJYta1SZUMyktOW6c5KQ3ww80r9Ip1GVA
-nxWlDkVJUAL/AGy5Qrm285CfDoYfcjujaUlDiFFKkkEAjmP3ggjIINbdVvRNpm2+dqefNbDJ
-u95VLaZ3BWxtDDMdJ5EjxwxxMeTfzwcirJQClKUApSlAKUpQClKUApSlAKUpQClKUApSlAKU
-pQClKUApSlAKUpQClKUApSlAKUpQClKUBjkuLajuutsOPrQgqS02UhSyB9UbiBk93MgecioX
-w9dfUq/++hfmKnqUBA+Hrr6lX/30L8xTw9dfUq/++hfmKnqUBA+Hrr6lX/30L8xTw9dfUq/+
-+hfmKnqUBA+Hrr6lX/30L8xTw9dfUq/++hfmKnqUBA+Hrr6lX/30L8xTw9dfUq/++hfmKnqU
-BA+Hrr6lX/30L8xTw9dfUq/++hfmKnqUBA+Hrr6lX/30L8xTw9dfUq/++hfmKnqUBA+Hrr6l
-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
-IVsZZfbzsWknIyCD5fMTUxSld2LBjwrbjior4KjglOUncnYpSlalRSlKAUpSgIzUNqVc2GSy
-/wBXkxnOKw4U7gFYIII8oIJH76iPBGqvtOz/AHNz5lWlSgkFSiAB5Sax9ZjekNf1xQFa8Eaq
-+07P9zc+ZTwRqr7Ts/3Nz5lWXrMb0hr+uKdZjekNf1xUUTZWvBGqvtOz/c3PmV+Ks2qFbc3K
-znaoKH8jd7wQR/rPOBVm6zG9Ia/rinWY3pDX9cUoWVrwRqr7Ts/3Nz5lPA+qfLc7Rj2RHM/2
-lWXrMb0hr+uKdZj+kNf1xShZq2C2ptVuTFDqnVlanHFn+ktRyo/vJrWvlmdmXCJdIExMO4RU
-rQ2txritqQvG5Kk5SSOQPIg5AqYBBGQcivlxaG07nFpQnzqOBUkEJ1XWH23YvhDv5mnVdYfb
-di+EO/mal+txPSmPeCnW4npTHvBQER1XWH23YvhDv5mnVdYfbdi+EO/mal+txPSmPeCnW4np
-THvBQGpYbYq2syC9JMqVKeL8l4oCQte0JGEjuASlKQOfIDmTzqRr8SpK0hSVBQPcQciv2gFK
-UoBSlKAUpSgFKUoBSlKAVB631Ta9IWZNzuvHWl2Q3FjsR0b3ZDzhwhtCcjKifOQOR51OVTul
-rSErV9ltibdKYjXKz3eNd4RfBLS3WSSELxzCSFEZGccuRoWjV8m9atXQ34Fwm3m33HTDdvcC
-JCr0lthsAjkpLoWppafJlKzg8jitmTq3SkW0MXiTqaysW2QcMTHJ7SWXT5krKtp/capet9J6
-41lYogui9ORJtsvsW6wYbDrzjDqGSSWn3VIBVuyTlLYxgcjVfY6ILqxZDIUiG7qJV9nXdh+J
-eX4KbYZO0KbZWlhZWnCRnchOefnqC6jB9WdRt+qrTcNRtWWBIYll63eEW5DEyOtC2uJw+SA5
-xSM/09mzybt3Kp2uWaA0FrK2dI1t1bqm+wLu8zpQ2eU+2FJddkdcLwUE7QnYEEJ3ZBJGdvOu
-p1JSaSfApSlCopSlAKUpQGtdp8a12uVcprqWo0VlbzqyeSUpBJP8BX84umnpRvnSHrFy4TVP
-M2kKPg6NkhCW88lEfrEcya949O1luuouh7VNlsiVLuMq3uIYQk4K1d+0ftAI/fXhRWmpUmxM
-M3SzTrZMYSG1syo6m1ZSMEpyOdUndHVpau+5XrYtwPNvsuFLiFBSfYa9KW/6UZ07p+128aF6
-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
-CUgchWK4QYVwjKjT

<TRUNCATED>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[06/17] james-project git commit: JAMES-1804 Add Text capability to SimpleMessageSearchIndex

Posted by ma...@apache.org.
JAMES-1804 Add Text capability to SimpleMessageSearchIndex


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/9af58b75
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/9af58b75
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/9af58b75

Branch: refs/heads/master
Commit: 9af58b759647a4df395d7bd0d498b6e3f2eb4171
Parents: b3f60b8
Author: Antoine Duprat <ad...@linagora.com>
Authored: Thu Jul 21 15:00:57 2016 +0200
Committer: Antoine Duprat <ad...@linagora.com>
Committed: Tue Jul 26 08:57:05 2016 +0200

----------------------------------------------------------------------
 .../apache/james/mailbox/model/SearchQuery.java |  2 -
 .../search/SimpleMessageSearchIndexTest.java    | 10 ++++
 .../mailbox/store/search/MessageSearches.java   | 59 +++++++++++++++++---
 .../search/AbstractMessageSearchIndexTest.java  |  4 +-
 4 files changed, 64 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/9af58b75/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
----------------------------------------------------------------------
diff --git a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
index 8a62315..490a365 100644
--- a/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
+++ b/mailbox/api/src/main/java/org/apache/james/mailbox/model/SearchQuery.java
@@ -30,8 +30,6 @@ import java.util.Set;
 import javax.mail.Flags;
 import javax.mail.Flags.Flag;
 
-import org.apache.james.mailbox.model.SearchQuery.Sort;
-
 /**
  * <p>
  * Models a query used to search for messages. A query is the logical

http://git-wip-us.apache.org/repos/asf/james-project/blob/9af58b75/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java b/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java
index b974db9..1a084f8 100644
--- a/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java
+++ b/mailbox/scanning-search/src/test/java/org/apache/james/mailbox/store/search/SimpleMessageSearchIndexTest.java
@@ -222,6 +222,16 @@ public class SimpleMessageSearchIndexTest extends AbstractMessageSearchIndexTest
 
     @Ignore
     @Override
+    public void searchWithFullTextShouldReturnMailsWhenTextBodyMatchesAndNonContinuousWords() throws Exception {
+    }
+
+    @Ignore
+    @Override
     public void multimailboxSearchShouldReturnUidOfMessageWithExpectedFromInAllMailboxes() throws MailboxException {
     }
+
+    @Ignore
+    @Override
+    public void searchWithFullTextShouldReturnMailsWhenHtmlBodyMatchesAndNonContinuousWords() throws Exception {
+    }
 }

http://git-wip-us.apache.org/repos/asf/james-project/blob/9af58b75/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
index 75aa957..c378313 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/search/MessageSearches.java
@@ -19,8 +19,11 @@
 
 package org.apache.james.mailbox.store.search;
 
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.SequenceInputStream;
 import java.io.StringReader;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
@@ -48,16 +51,22 @@ import org.apache.james.mailbox.store.ResultUtils;
 import org.apache.james.mailbox.store.mail.model.MailboxMessage;
 import org.apache.james.mailbox.store.search.comparator.CombinedComparator;
 import org.apache.james.mime4j.MimeException;
+import org.apache.james.mime4j.MimeIOException;
+import org.apache.james.mime4j.dom.Message;
 import org.apache.james.mime4j.dom.address.Address;
 import org.apache.james.mime4j.dom.address.AddressList;
 import org.apache.james.mime4j.dom.address.Group;
 import org.apache.james.mime4j.dom.address.Mailbox;
 import org.apache.james.mime4j.dom.address.MailboxList;
 import org.apache.james.mime4j.dom.datetime.DateTime;
+import org.apache.james.mime4j.field.Fields;
 import org.apache.james.mime4j.field.address.AddressFormatter;
 import org.apache.james.mime4j.field.address.LenientAddressParser;
 import org.apache.james.mime4j.field.datetime.parser.DateTimeParser;
 import org.apache.james.mime4j.field.datetime.parser.ParseException;
+import org.apache.james.mime4j.message.DefaultMessageBuilder;
+import org.apache.james.mime4j.message.DefaultMessageWriter;
+import org.apache.james.mime4j.message.HeaderImpl;
 import org.apache.james.mime4j.utils.search.MessageMatcher;
 
 import com.google.common.collect.Lists;
@@ -116,7 +125,7 @@ public class MessageSearches implements Iterable<Long> {
      *         <code>false</code> otherwise
      * @throws MailboxException
      */
-    protected boolean isMatch(SearchQuery query, MailboxMessage message) throws MailboxException {
+    private boolean isMatch(SearchQuery query, MailboxMessage message) throws MailboxException {
         final List<SearchQuery.Criterion> criteria = query.getCriterias();
         final Collection<Long> recentMessageUids = query.getRecentMessageUids();
         boolean result = true;
@@ -177,7 +186,7 @@ public class MessageSearches implements Iterable<Long> {
         return result;
     }
 
-    protected boolean matches(SearchQuery.TextCriterion criterion, MailboxMessage message)
+    private boolean matches(SearchQuery.TextCriterion criterion, MailboxMessage message)
             throws MailboxException {
         try {
             final SearchQuery.ContainsOperator operator = criterion.getOperator();
@@ -185,11 +194,12 @@ public class MessageSearches implements Iterable<Long> {
             switch (criterion.getType()) {
             case BODY:
                 return bodyContains(value, message);
+            case TEXT:
+                return textContains(value, message);
             case FULL:
                 return messageContains(value, message);
-            default:
-                throw new UnsupportedSearchException();
             }
+            throw new UnsupportedSearchException();
         } catch (IOException e) {
             throw new MailboxException("Unable to parse message", e);
         } catch (MimeException e) {
@@ -197,12 +207,12 @@ public class MessageSearches implements Iterable<Long> {
         }
     }
 
-    protected boolean bodyContains(String value, MailboxMessage message) throws IOException, MimeException {
+    private boolean bodyContains(String value, MailboxMessage message) throws IOException, MimeException {
         final InputStream input = message.getFullContent();
         return isInMessage(value, input, false);
     }
 
-    protected boolean isInMessage(String value, InputStream input, boolean header) throws IOException, MimeException {
+    private boolean isInMessage(String value, InputStream input, boolean header) throws IOException, MimeException {
         MessageMatcher.MessageMatcherBuilder builder = MessageMatcher.builder()
             .searchContents(Lists.<CharSequence>newArrayList(value))
             .caseInsensitive(true)
@@ -213,11 +223,46 @@ public class MessageSearches implements Iterable<Long> {
         return builder.build().messageMatches(input);
     }
 
-    protected boolean messageContains(String value, MailboxMessage message) throws IOException, MimeException {
+    private boolean messageContains(String value, MailboxMessage message) throws IOException, MimeException {
         final InputStream input = message.getFullContent();
         return isInMessage(value, input, true);
     }
 
+    private boolean textContains(String value, MailboxMessage message) throws IOException, MimeException, MailboxException {
+        InputStream bodyContent = message.getBodyContent();
+        return isInMessage(value, new SequenceInputStream(textHeaders(message), bodyContent), true);
+    }
+
+    private InputStream textHeaders(MailboxMessage message) throws MimeIOException, IOException {
+        ByteArrayOutputStream out = new ByteArrayOutputStream();
+        new DefaultMessageWriter()
+            .writeHeader(buildTextHeaders(message), out);
+        return new ByteArrayInputStream(out.toByteArray());
+    }
+
+    private HeaderImpl buildTextHeaders(MailboxMessage message) throws IOException, MimeIOException {
+        Message headersMessage = new DefaultMessageBuilder()
+            .parseMessage(message.getHeaderContent());
+        HeaderImpl headerImpl = new HeaderImpl();
+        addFrom(headerImpl, headersMessage.getFrom());
+        addAddressList(headerImpl, headersMessage.getTo());
+        addAddressList(headerImpl, headersMessage.getCc());
+        addAddressList(headerImpl, headersMessage.getBcc());
+        headerImpl.addField(Fields.subject(headersMessage.getSubject()));
+        return headerImpl;
+    }
+
+    private void addFrom(HeaderImpl headerImpl, MailboxList from) {
+        if (from != null) {
+            headerImpl.addField(Fields.from(Lists.newArrayList(from.iterator())));
+        }
+    }
+
+    private void addAddressList(HeaderImpl headerImpl, AddressList addressList) {
+        if (addressList != null) {
+            headerImpl.addField(Fields.to(Lists.newArrayList(addressList.iterator())));
+        }
+    }
     private boolean matches(SearchQuery.ConjunctionCriterion criterion, MailboxMessage message,
             final Collection<Long> recentMessageUids) throws MailboxException {
         final List<SearchQuery.Criterion> criteria = criterion.getCriteria();

http://git-wip-us.apache.org/repos/asf/james-project/blob/9af58b75/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
index 1ac6b37..d2b6ce7 100644
--- a/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
+++ b/mailbox/store/src/test/java/org/apache/james/mailbox/store/search/AbstractMessageSearchIndexTest.java
@@ -826,7 +826,7 @@ public abstract class AbstractMessageSearchIndexTest {
 
     @Test
     public void searchWithFullTextShouldReturnMailsWhenHtmlBodyMatches() throws Exception {
-        Assume.assumeTrue(messageSearchIndex.hasCapability(MessageSearchIndexCapabilities.Text));
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
         SearchQuery searchQuery = new SearchQuery();
         searchQuery.andCriteria(SearchQuery.textContains("Regarder"));
         assertThat(messageSearchIndex.search(session, mailbox, searchQuery))
@@ -835,7 +835,7 @@ public abstract class AbstractMessageSearchIndexTest {
 
     @Test
     public void searchWithFullTextShouldReturnMailsWhenHtmlBodyMatchesAndNonContinuousWords() throws Exception {
-        Assume.assumeTrue(messageSearchIndex.hasCapability(MessageSearchIndexCapabilities.Text));
+        Assume.assumeTrue(storeMailboxManager.getSupportedSearchCapabilities().contains(MailboxManager.SearchCapabilities.Text));
         SearchQuery searchQuery = new SearchQuery();
         searchQuery.andCriteria(SearchQuery.textContains("Regarder tendance"));
         assertThat(messageSearchIndex.search(session, mailbox, searchQuery))


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


[12/17] james-project git commit: JAMES-1804 According to Mime rfc2045 headers should end with CRLF

Posted by ma...@apache.org.
http://git-wip-us.apache.org/repos/asf/james-project/blob/b3f60b8e/mailbox/store/src/test/resources/eml/htmlMail.eml
----------------------------------------------------------------------
diff --git a/mailbox/store/src/test/resources/eml/htmlMail.eml b/mailbox/store/src/test/resources/eml/htmlMail.eml
index c0f746e..93a350c 100644
--- a/mailbox/store/src/test/resources/eml/htmlMail.eml
+++ b/mailbox/store/src/test/resources/eml/htmlMail.eml
@@ -1,1489 +1,1489 @@
-Delivered-To: benoittellier3@gmail.com
-Received: by 10.28.170.202 with SMTP id t193csp327634wme;
-        Thu, 4 Jun 2015 00:36:15 -0700 (PDT)
-X-Received: by 10.180.77.195 with SMTP id u3mr5042880wiw.30.1433403375307;
-        Thu, 04 Jun 2015 00:36:15 -0700 (PDT)
-Return-Path: <bo...@email.airbnb.com>
-Received: from o7.email.airbnb.com (o7.email.airbnb.com. [167.89.32.249])
-        by mx.google.com with ESMTPS id i2si5691730wjz.123.2015.06.04.00.36.13
-        for <be...@gmail.com>
-        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
-        Thu, 04 Jun 2015 00:36:15 -0700 (PDT)
-Received-SPF: pass (google.com: domain of bounces+1453977-062b-benoittellier3=gmail.com@email.airbnb.com designates 167.89.32.249 as permitted sender) client-ip=167.89.32.249;
-Authentication-Results: mx.google.com;
-       spf=pass (google.com: domain of bounces+1453977-062b-benoittellier3=gmail.com@email.airbnb.com designates 167.89.32.249 as permitted sender) smtp.mail=bounces+1453977-062b-benoittellier3=gmail.com@email.airbnb.com;
-       dkim=pass header.i=@email.airbnb.com;
-       dmarc=pass (p=REJECT dis=NONE) header.from=airbnb.com
-DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=email.airbnb.com;
-	h=from:to:subject:mime-version:content-type:content-transfer-encoding;
-	s=s20150428; bh=2mhWUwzjtQTC0KljgpaEsuvrqok=; b=EhC2QHKb5+63egDD
-	qDCAepUELCeUZXCkw8+31kGT+O1va3iAKvQSAvzXJ3qJlIL9FgdeFk8sR78Vszn/
-	A73vp6NGjAW60M4gUZjxEOIPzGKIS95KfmHxg10fXUOFW0uePojNEg4ZPCcuitrZ
-	HuWvzHK5I2siGnqupiivwxDgs5c=
-DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.info;
-	h=from:to:subject:mime-version:content-type:content-transfer-encoding:x-feedback-id;
-	s=smtpapi; bh=2mhWUwzjtQTC0KljgpaEsuvrqok=; b=FPiYMmNJLCrL2e8v/0
-	DQC4voofe8nuuE7rhXZ25oqNAhAQja4oKIysJ1qAME2aEaqh+N5aJlCEuHrSG/7+
-	NAQ0OY8KaJ2zlnxAbmgJETOjnf4oGdAa+nU/nVVEPfN2NRcBCNLGQZ80U4T5k8Xi
-	PakIuZvKDTRq7PiosSCSHT/FQ=
-Received: by filter0490p1mdw1.sendgrid.net with SMTP id filter0490p1mdw1.13271.556FFFE7B
-        2015-06-04 07:36:09.249601779 +0000 UTC
-Received: from i-dee0850e.inst.aws.airbnb.com (ec2-54-90-154-187.compute-1.amazonaws.com [54.90.154.187])
-	by ismtpd-017 (SG) with ESMTP id 14dbd7fa6b4.779a.254b43
-	for <be...@gmail.com>; Thu, 04 Jun 2015 07:36:09 +0000 (UTC)
-Received: by i-dee0850e.inst.aws.airbnb.com (Postfix, from userid 1041)
-	id 19CBA24C60; Thu,  4 Jun 2015 07:36:09 +0000 (UTC)
-Date: Thu, 04 Jun 2015 07:36:08 +0000
-From: Airbnb <di...@airbnb.com>
-To: benoittellier3@gmail.com
-Message-ID: <55...@i-dee0850e.mail>
-Subject: Regardez les meilleures destinations depuis Paris
-Mime-Version: 1.0
-Content-Type: multipart/alternative;
- boundary="--==_mimepart_556fffe8c7e84_7ed0e0fe20445637";
- charset=UTF-8
-Content-Transfer-Encoding: 7bit
-X-User-ID: 32692788
-X-Locale: fr
-X-Category: engagement
-X-Template: low_intent_top_destinations
-recipients:
-sent-on:
-X-SG-EID: mgVKhb3i1xMIKbRk82EYOUTMOPmiNk6g5BaWGQQKDTQchtClhw7VcIxig2BMwy1QMCr7h56hNVush8
- 4aRV0ieMn+WZ1XVnpY0OcmMYNZnuuvlOoNkBaiuiqeWuKVZO9c9S5OyxPy7WQeI0mccenq35NpLqjI
- nQt7IAl2sIUksUD4lM8Ai0u2C88YW13cL+Lo
-X-SG-ID: pQ7zy0fBcyQB3Gm22dZtqT6AR3zbAquH5ABZFkQfSKaxWRhz0YhtD36Li5uybRUjnPsuB21NpreKvG
- t8iQBUn2ygs6hx6sMcgyI7L7bAY28p14Qj47KqA3JXbtMa0Xa3wdZaUUjZpemCg078XxMM5VaSHdDO
- ChUhSV+z9RAJ38wAdUfXkpbO+m97vpU+mtWzVBoOrSiWCVYoNxPhvE4yIQ==
-X-Feedback-ID: 1453977:N5+DXWRfRBXSDDbqVYXPNg8MjWYWwZibliGo1i/oSqY=:Ibl/atjs+SOcHCINmWWv/YvIGzDUihUrks9jdHsNF1+pafkc987UhcxmuyggxNgdCkEmMZDb9gJcndcUJy5KOw==:SG
-
-----==_mimepart_556fffe8c7e84_7ed0e0fe20445637
-Content-Type: text/plain;
- charset=UTF-8
-Content-Transfer-Encoding: quoted-printable
-
-Meilleures destinations depuis Paris
-D=C3=A9couvrez notre s=C3=A9lection de destinations populaires.
-
-Lisbonne - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-607=
-a-5090-2285b5a2b578&market=3DLisbonne
-Amsterdam - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-60=
-7a-5090-2285b5a2b578&market=3DAmsterdam
-New York - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-607=
-a-5090-2285b5a2b578&market=3DNew+York
-Londres - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-607a=
--5090-2285b5a2b578&market=3DLondres
-
-Voir toutes les destinations
-https://www.airbnb.fr/go/Paris?euid=3Ddf1e15a9-8137-607a-5090-2285b5a2b578
-
-Merci,
-L'=C3=A9quipe Airbnb
-
-P.O. Box 410807, San Francisco, CA 94121
-
-D=C3=A9sinscription
-https://www.airbnb.com/email/unsubscribe?token=3DeyJlbWFpbF9hZGRyZXNzIjoiYm=
-Vub2l0dGVsbGllcjNAZ21haWwuY29tIiwiY2F0ZWdvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhd=
-GUiOiJsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvbnMiLCJ1dWlkIjoiZGYxZTE1YTktODEzNy02=
-MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=3D&mac=3DvGS62X2THS-Sb_5rdhsnrnff7tQ=3D
-
-### Airbnb ###
-
-----==_mimepart_556fffe8c7e84_7ed0e0fe20445637
-Content-Type: text/html;
- charset=UTF-8
-Content-Transfer-Encoding: quoted-printable
-
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=
-w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns=3D"http://www.w3.org/1999/xhtml" style=3D'margin:0;padding:0;fo=
-nt-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;backg=
-round-color:#f7f7f7;font-size:16px;color:#565a5c;line-height:150%'>
-
-  <head style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'>
-  <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8" =
-style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helv=
-etica, Arial, sans-serif'>
-  <meta name=3D"viewport" content=3D"width=3Ddevice-width" style=3D'margin:=
-0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sa=
-ns-serif'>
-  <meta name=3D"filler" content=3D"        _      _           _      " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-  <meta name=3D"filler" content=3D"       (_)    | |         | |     " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-  <meta name=3D"filler" content=3D"   __ _ _ _ __| |__  _ __ | |__   " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-  <meta name=3D"filler" content=3D"  / _` | | '__| '_ \| '_ \| '_ \  " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-  <meta name=3D"filler" content=3D" | (_| | | |  | |_) | | | | |_) | " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-  <meta name=3D"filler" content=3D"  \__,_|_|_|  |_.__/|_| |_|_.__/  " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-  <meta name=3D"filler" content=3D"                                  " styl=
-e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
-a, Arial, sans-serif'>
-=20=20
-=20=20
-</head>
-
-
-  <body bgcolor=3D"#EEEEEE" style=3D'margin:0;padding:0;font-family:"Helvet=
-ica Neue", "Helvetica", Helvetica, Arial, sans-serif;-webkit-text-size-adju=
-st:none;-webkit-font-smoothing:antialiased;color:#565a5c;height:100%;backgr=
-ound-color:#f7f7f7;font-size:16px;line-height:150%;width:100% !important'>
-    <div class=3D"preheader" style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif;visibility:hidden;wid=
-th:0;opacity:0;height:0;color:transparent;display:none !important'></div>
-    <table class=3D"body-wrap" style=3D'margin:0;padding:0;font-family:"Hel=
-vetica Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;bo=
-rder-spacing:0;background-color:#f7f7f7;width:100%'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif'></td>
-        <td class=3D"container" style=3D'padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;display:block !important;ma=
-rgin:0 auto !important;clear:both !important;max-width:610px !important'>
-          <div class=3D"content" style=3D'font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display=
-:block;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;=
-padding-top:0px'>
-            <table class=3D"head-wrap" style=3D'margin:0;padding:0;font-fam=
-ily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height=
-:150%;border-spacing:0;margin-bottom:10px;margin-top:10px;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container header" style=3D'padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;display:block !important=
-;margin:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"content" style=3D'font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display:blo=
-ck;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;padd=
-ing-top:0px'>
-        <table style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "H=
-elvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;w=
-idth:100%'>
-          <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif'>
-            <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "=
-Helvetica", Helvetica, Arial, sans-serif;text-align: center;'>
-              <a href=3D"https://www.airbnb.fr?euid=3Ddf1e15a9-8137-607a-50=
-90-2285b5a2b578" title=3D"Airbnb" style=3D'margin:0;padding:0;font-family:"=
-Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#ff5a5f;te=
-xt-decoration:none'>
-                <img src=3D"http://a0.muscache.com/airbnb/rookery/email/log=
-os/logo2x-954e17b014b90e4ed3a9565864fa4676.png" border=3D"0" alt=3D"Airbnb"=
- width=3D"123" height=3D"55" style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%;border=
-:0'>
-              </a>
-            </td>
-          </tr>
-        </table>
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-=20=20=20=20=20=20=20=20=20=20=20=20
-=20=20=20=20=20=20=20=20=20=20=20=20
-
-<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
-tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
-round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
-th:1px;border-right-width:1px;border-top-width:0;padding: 0;'>
-=20=20
-  <img src=3D"http://a1.muscache.com/airbnb/rookery/email/engagement/email-=
-top-destinations-header-b0fa5f6caa96df90ed926058e4473c50.jpg" style=3D'marg=
-in:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial,=
- sans-serif;max-width:100%'>
-
-</div>
-
-<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
-tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
-round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
-th:1px;border-right-width:1px;border-top-width:0;border: none;'>
-=20=20
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-heigh=
-t:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <h2 class=3D"center" style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;font-weight:bold;padding-=
-bottom:10px;font-size:24px;line-height:28px;text-rendering:optimizelegibili=
-ty;text-align:center'>
-      Meilleures destinations depuis Paris
-    </h2>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-heigh=
-t:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-      <div class=3D"p center" style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;text-align:center;'>
-=20=20
-        <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font=
--size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-t=
-ransform: none'>
-          D=C3=A9couvrez notre s=C3=A9lection de destinations populaires.
-        </h5>
-
-</div>
-
-
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-    <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-hei=
-ght:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"row-space-top-4 row-space-4" style=3D'margin:0;padding:=
-0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;m=
-argin-bottom:25px;margin-top:25px'>
-=20=20=20=20=20=20=20=20
-      <div class=3D"p center" style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;text-align:center;'>
-=20=20
-        <a href=3D"https://www.airbnb.fr/go/Paris?euid=3Ddf1e15a9-8137-607a=
--5090-2285b5a2b578" class=3D"btn btn-primary btn-small" style=3D'margin:0;f=
-ont-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;vert=
-ical-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;bor=
-der-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-sp=
-ace:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;border-color:#ff=
-5a5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;display:in=
-line-block;padding-left:40px;padding-right:40px'>
-          Regarder
-        </a>
-
-</div>
-
-
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-</div>
-
-
-<table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica Neu=
-e", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-height:=
-150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"row-space-5" style=3D'margin:0;padding:0;font-family:"H=
-elvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;margin-bottom:31.=
-25px'>
-=20=20=20=20=20=20=20=20
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-heigh=
-t:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font-siz=
-e:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-trans=
-form: uppercase; text-align: center'>
-      <strong style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif'>
-        Destinations tendance depuis Paris
-      </strong>
-    </h5>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-    <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-hei=
-ght:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"row-space-top-4 container-small" style=3D'margin:0;padd=
-ing:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-ser=
-if;margin-top:25px'>
-=20=20=20=20=20=20=20=20
-
-      <div class=3D"column padding" style=3D'margin:0;padding:0;font-family=
-:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;fl=
-oat:left;width: 300px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-        <div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;pad=
-ding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1=
-px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-=
-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>
-=20=20
-  <a href=3D"https://www.airbnb.fr/go/world?destination=3DLisbon&amp;euid=
-=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;font-f=
-amily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#ff=
-5a5f;text-decoration:none'>
-    <img src=3D"https://a0.muscache.com/ic/discover/178?interpolation=3Dlan=
-czos-none&amp;output-format=3Djpg&amp;output-quality=3D70&amp;v=3D33b4f2&am=
-p;downsize=3D655px:435px" alt=3D"Lisbonne" style=3D'margin:0;padding:0;font=
--family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-wid=
-th:100%;border:0;display: block'>
-  </a>
-
-</div>
-
-<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
-tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
-round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
-th:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px=
- 0 15px 13px'>
-=20=20
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"h1 " style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;text-rendering:optimizele=
-gibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10=
-px;padding-bottom: 5px'>
-=20=20
-        Lisbonne
-
-</div>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%; margin-top: 5px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"p " style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height: 120%'>
-=20=20
-        <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font=
--size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-t=
-ransform: none'>
-          On y va pour=C2=A0: Le fado et le street art
-        </h5>
-
-</div>
-
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <a href=3D"https://www.airbnb.fr/go/world?destination=3DLisbon&amp;eu=
-id=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;font=
--family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#=
-ff5a5f;text-decoration:none'>
-        <img alt=3D"" height=3D"30" src=3D"http://a1.muscache.com/airbnb/ro=
-okery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png" style=
-=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica=
-, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=3D"15=
-">
-      </a>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-
-</div>
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-        <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:le=
-ft;width: 300px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-          <div class=3D"panel " style=3D'margin:0;padding:0;font-family:"He=
-lvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;p=
-adding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width=
-:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;borde=
-r-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>
-=20=20
-  <a href=3D"https://www.airbnb.fr/go/world?destination=3DAmsterdam&amp;eui=
-d=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;font-=
-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#f=
-f5a5f;text-decoration:none'>
-    <img src=3D"https://a2.muscache.com/ic/discover/8?interpolation=3Dlancz=
-os-none&amp;output-format=3Djpg&amp;output-quality=3D70&amp;v=3D33b4f2&amp;=
-downsize=3D655px:435px" alt=3D"Amsterdam" style=3D'margin:0;padding:0;font-=
-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-widt=
-h:100%;border:0;display: block'>
-  </a>
-
-</div>
-
-<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
-tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
-round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
-th:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px=
- 0 15px 13px'>
-=20=20
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"h1 " style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;text-rendering:optimizele=
-gibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10=
-px;padding-bottom: 5px'>
-=20=20
-        Amsterdam
-
-</div>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%; margin-top: 5px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"p " style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height: 120%'>
-=20=20
-        <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font=
--size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-t=
-ransform: none'>
-          On y va pour=C2=A0: Les v=C3=A9los plus nombreux que les p=C3=A9n=
-iches
-        </h5>
-
-</div>
-
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <a href=3D"https://www.airbnb.fr/go/world?destination=3DAmsterdam&amp=
-;euid=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;f=
-ont-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;colo=
-r:#ff5a5f;text-decoration:none'>
-        <img alt=3D"" height=3D"30" src=3D"http://a1.muscache.com/airbnb/ro=
-okery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png" style=
-=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica=
-, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=3D"15=
-">
-      </a>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-
-</div>
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-    <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-hei=
-ght:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"row-space-top-4 container-small" style=3D'margin:0;padd=
-ing:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-ser=
-if;margin-top:25px'>
-=20=20=20=20=20=20=20=20
-
-      <div class=3D"column padding" style=3D'margin:0;padding:0;font-family=
-:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;fl=
-oat:left;width: 300px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-        <div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;pad=
-ding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1=
-px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-=
-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>
-=20=20
-  <a href=3D"https://www.airbnb.fr/go/world?destination=3DNew-York&amp;euid=
-=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;font-f=
-amily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#ff=
-5a5f;text-decoration:none'>
-    <img src=3D"https://a0.muscache.com/ic/discover/83?interpolation=3Dlanc=
-zos-none&amp;output-format=3Djpg&amp;output-quality=3D70&amp;v=3D33b4f2&amp=
-;downsize=3D655px:435px" alt=3D"New York" style=3D'margin:0;padding:0;font-=
-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-widt=
-h:100%;border:0;display: block'>
-  </a>
-
-</div>
-
-<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
-tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
-round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
-th:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px=
- 0 15px 13px'>
-=20=20
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"h1 " style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;text-rendering:optimizele=
-gibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10=
-px;padding-bottom: 5px'>
-=20=20
-        New York
-
-</div>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%; margin-top: 5px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"p " style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height: 120%'>
-=20=20
-        <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font=
--size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-t=
-ransform: none'>
-          On y va pour=C2=A0: Les lumi=C3=A8res et la ville qui ne dort jam=
-ais
-        </h5>
-
-</div>
-
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <a href=3D"https://www.airbnb.fr/go/world?destination=3DNew-York&amp;=
-euid=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;fo=
-nt-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color=
-:#ff5a5f;text-decoration:none'>
-        <img alt=3D"" height=3D"30" src=3D"http://a1.muscache.com/airbnb/ro=
-okery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png" style=
-=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica=
-, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=3D"15=
-">
-      </a>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-
-</div>
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-        <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:le=
-ft;width: 300px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-          <div class=3D"panel " style=3D'margin:0;padding:0;font-family:"He=
-lvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;p=
-adding-bottom:15px;padding-left:15px;padding-right:15px;border-bottom-width=
-:1px;background-color:#ffffff;border-style:solid;border-color:#dbdbdb;borde=
-r-left-width:1px;border-right-width:1px;border-top-width:0;padding: 0'>
-=20=20
-  <a href=3D"https://www.airbnb.fr/go/world?destination=3DLondon&amp;euid=
-=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;font-f=
-amily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#ff=
-5a5f;text-decoration:none'>
-    <img src=3D"https://a2.muscache.com/ic/discover/40?interpolation=3Dlanc=
-zos-none&amp;output-format=3Djpg&amp;output-quality=3D70&amp;v=3D33b4f2&amp=
-;downsize=3D655px:435px" alt=3D"Londres" style=3D'margin:0;padding:0;font-f=
-amily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width=
-:100%;border:0;display: block'>
-  </a>
-
-</div>
-
-<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
-tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
-round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
-th:1px;border-right-width:1px;border-top-width:0;border: none; padding: 8px=
- 0 15px 13px'>
-=20=20
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"h1 " style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;text-rendering:optimizele=
-gibility;font-weight:bold;font-size:24px;line-height:28px;padding-bottom:10=
-px;padding-bottom: 5px'>
-=20=20
-        Londres
-
-</div>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%; margin-top: 5px'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%=
-;border-spacing:0'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-    <td class=3D"container" style=3D'font-family:"Helvetica Neue", "Helveti=
-ca", Helvetica, Arial, sans-serif;padding:0 0px;clear:both !important;displ=
-ay:block !important;max-width:610px !important;margin:0 auto !important'>
-      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 80%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <div class=3D"p " style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height: 120%'>
-=20=20
-        <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font=
--size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-t=
-ransform: none'>
-          On y va pour=C2=A0: Les pubs, l'heure du th=C3=A9, la famille roy=
-ale
-        </h5>
-
-</div>
-
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-    <div class=3D"column" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;width:300px;float:left;w=
-idth: 20%'>
-  <table align=3D"left" style=3D'margin:0;font-family:"Helvetica Neue", "He=
-lvetica", Helvetica, Arial, sans-serif;line-height:150%;width:100%;padding:=
-0 5px;border-spacing:0'>
-    <tbody style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
-tica", Helvetica, Arial, sans-serif'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", He=
-lvetica, Arial, sans-serif;padding:0 0px'>
-      <a href=3D"https://www.airbnb.fr/go/world?destination=3DLondon&amp;eu=
-id=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" style=3D'margin:0;padding:0;font=
--family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#=
-ff5a5f;text-decoration:none'>
-        <img alt=3D"" height=3D"30" src=3D"http://a1.muscache.com/airbnb/ro=
-okery/email/icons/chevron-right-f49cc475eed633e84991c49caaf2c235.png" style=
-=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica=
-, Arial, sans-serif;max-width:100%;border:0;margin: 0 0 0 10px' width=3D"15=
-">
-      </a>
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-      </div>
-    </td>
-    <td style=3D'margin:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;padding:0 0px'></td>
-  </tr>
-</table>
-
-</div>
-
-</td>
-      </tr>
-    </tbody>
-  </table>
-</div>
-
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
-eue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-heigh=
-t:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"row-space-top-4 row-space-8" style=3D'margin:0;padding:=
-0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;m=
-argin-top:25px;margin-bottom:50px'>
-=20=20=20=20=20=20=20=20
-    <div class=3D"p " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;' align=3D"center">
-=20=20
-      <a href=3D"https://www.airbnb.fr/go/Paris?euid=3Ddf1e15a9-8137-607a-5=
-090-2285b5a2b578" class=3D"btn btn-primary btn-small" style=3D'margin:0;fon=
-t-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;vertic=
-al-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;borde=
-r-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-spac=
-e:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;border-color:#ff5a=
-5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;display:inli=
-ne-block;padding-left:40px;padding-right:40px'>
-        Voir toutes les destinations
-      </a>
-
-</div>
-
-
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-
-
-          </div>
-        </td>
-        <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif'></td>
-      </tr>
-
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif'></td>
-        <td class=3D"container no-max-width" style=3D'padding:0;font-family=
-:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;display:block =
-!important;margin:0 auto !important;clear:both !important;max-width:610px !=
-important'>
-          <div class=3D"section footer" style=3D'margin:0;padding:0;font-fa=
-mily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-=20=20
-    <div class=3D"row-padding-top-4" style=3D'margin:0;padding:0;font-famil=
-y:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:2=
-5px'><div class=3D"background-white" style=3D'margin:0;padding:0;font-famil=
-y:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;background-co=
-lor:#ffffff'>
-    <table width=3D"100%" cellpadding=3D"0" cellspacing=3D"0" class=3D"row-=
-padding-top-5 row-padding-5" style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;bord=
-er-spacing:0;padding-bottom:31.25px;padding-top:31.25px'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td align=3D"center" valign=3D"top" style=3D'margin:0;padding:0;fon=
-t-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-          <table width=3D"420px" style=3D'margin:0;padding:0;font-family:"H=
-elvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;=
-line-height:150%'>
-            <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "=
-Helvetica", Helvetica, Arial, sans-serif'>
-              <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue",=
- "Helvetica", Helvetica, Arial, sans-serif'>
-                <table cellpadding=3D"5" style=3D'margin:0;padding:0;font-f=
-amily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;border-sp=
-acing:0;line-height:150%;width: auto;'>
-                  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif'>
-                    <td style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-left: 5px; padding=
--right: 20px;' width=3D"95px">
-                      <img src=3D"http://a1.muscache.com/airbnb/rookery/ema=
-il/footer/illustration-5715ff5cf4f4d0687649ea7183b005f2.jpg" border=3D"0" a=
-lt=3D"Airbnb-traveler" width=3D"95" style=3D'margin:0;padding:0;font-family=
-:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%=
-;margin:0;display:block;'>
-                    </td>
-
-                    <td style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;padding: 5px;'>
-                      <table style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line=
--height:150%'>
-                        <tr style=3D'margin:0;padding:0;font-family:"Helvet=
-ica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-                          <td colspan=3D"4" style=3D'margin:0;padding:0;fon=
-t-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-                            <h2 style=3D'margin:0;padding:0;font-family:"He=
-lvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;text-rendering:opt=
-imizelegibility;font-weight:bold;font-size:24px;line-height:28px;padding-bo=
-ttom:10px'>
-                              Vivez le monde comme un local.
-                            </h2>
-                          </td>
-                        </tr>
-                        <tr style=3D'margin:0;padding:0;font-family:"Helvet=
-ica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-                          <td style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-                            <img src=3D"http://a1.muscache.com/airbnb/rooke=
-ry/email/footer/globe-70cdd2ed2615a13754d1cf2b50940b60.jpg" style=3D'margin=
-:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, s=
-ans-serif;max-width:100%'>
-                          </td>
-                          <td style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-left: 5px; t=
-ext-align: left;'>
-                            <h4 class=3D"accent-babu" style=3D'margin:0;pad=
-ding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-se=
-rif;font-size:16px;text-rendering:optimizelegibility;font-weight:bold;color=
-:#00d1c1'>190</h4> <h6 class=3D"row-space-top-neg text-muted" style=3D'marg=
-in:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial,=
- sans-serif;text-transform:uppercase;font-size:12px;font-weight:normal;text=
--rendering:optimizelegibility;margin-top:-5px;color:#9ca299;font-weight: no=
-rmal; text-transform: uppercase;'>pays</h6>
-                          </td>
-                          <td style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-                            <img src=3D"http://a1.muscache.com/airbnb/rooke=
-ry/email/footer/door-72de99e798d99b4321f1e88444216d6f.jpg" style=3D'margin:=
-0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sa=
-ns-serif;max-width:100%'>
-                          </td>
-                          <td style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;padding-left: 5px; t=
-ext-align: left;'>
-                            <h4 class=3D"accent-babu" style=3D'margin:0;pad=
-ding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-se=
-rif;font-size:16px;text-rendering:optimizelegibility;font-weight:bold;color=
-:#00d1c1'>1,000,000</h4> <h6 class=3D"row-space-top-neg text-muted" style=
-=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica=
-, Arial, sans-serif;text-transform:uppercase;font-size:12px;font-weight:nor=
-mal;text-rendering:optimizelegibility;margin-top:-5px;color:#9ca299;font-we=
-ight: normal; text-transform: uppercase;'>de logements</h6>
-                          </td>
-                        </tr>
-                      </table>
-                    </td>
-                  </tr>
-                </table>
-              </td>
-            </tr>
-          </table>
-        </td>
-      </tr>
-    </table>
-</div></div>
-
-<h5 class=3D"center row-padding-top-4 row-padding-4" style=3D'margin:0;padd=
-ing:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-ser=
-if;text-transform:uppercase;color:#9ca299;font-weight:normal;font-size:14px=
-;text-rendering:optimizelegibility;padding-top:25px;padding-bottom:25px;tex=
-t-align:center;text-transform:none;'>
-  Vous voyagez pour la premi=C3=A8re fois ? <a href=3D"https://www.airbnb.f=
-r/help/getting-started/how-it-works?euid=3Ddf1e15a9-8137-607a-5090-2285b5a2=
-b578" style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif;color:#ff5a5f;text-decoration:none'>Retrouve=
-z nos conseils pour d=C3=A9couvrir comment r=C3=A9server le logement id=C3=
-=A9al</a>.
-</h5>
-<hr class=3D"row-space-4" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;border:none;height:1px;b=
-ackground-color:#dbdbdb;margin-bottom:25px;margin-left: 20px; margin-right:=
- 20px;'>
-
-
-  <div class=3D"content center text-center" style=3D'font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width:600px;padding:1=
-5px;margin:0 auto;display:block;padding-bottom:5px;padding-top:0px;color:#9=
-ca299;font-size:14px;text-align:center;text-shadow:0 1px #ffffff;padding-le=
-ft:5px;padding-right:5px'>
-    <table cellpadding=3D"10" style=3D'margin:0;padding:0;font-family:"Helv=
-etica Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;lin=
-e-height:150%;width:100%;padding: 10px;'>
-      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif'>
-        <td align=3D"center" style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-          <table cellpadding=3D"5" style=3D'margin:0;padding:0;font-family:=
-"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:=
-0;line-height:150%;width:100%;width: auto;'>
-            <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "=
-Helvetica", Helvetica, Arial, sans-serif'>
-              <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue",=
- "Helvetica", Helvetica, Arial, sans-serif;padding: 5px;'>
-                <a href=3D"https://www.facebook.com/airbnb?euid=3Ddf1e15a9-=
-8137-607a-5090-2285b5a2b578" title=3D"Facebook" style=3D'margin:0;padding:0=
-;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;co=
-lor:#ff5a5f;text-decoration:none'>
-                  <img alt=3D"Facebook" height=3D"42" src=3D"http://a0.musc=
-ache.com/airbnb/rookery/email/footer/facebook-3c1b46bf609e7b12c2b8b9576911e=
-11a.png" width=3D"42" style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
-ue", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%;border:0'>
-</a>              </td>
-
-              <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue",=
- "Helvetica", Helvetica, Arial, sans-serif;padding: 5px;'>
-                <a href=3D"https://twitter.com/airbnb?euid=3Ddf1e15a9-8137-=
-607a-5090-2285b5a2b578" title=3D"Twitter" style=3D'margin:0;padding:0;font-=
-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#f=
-f5a5f;text-decoration:none'>
-                  <img alt=3D"Twitter" height=3D"42" src=3D"http://a0.musca=
-che.com/airbnb/rookery/email/footer/twitter-380e6f33075cc0e9c18231507ae9368=
-4.png" width=3D"42" style=3D'margin:0;padding:0;font-family:"Helvetica Neue=
-", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%;border:0'>
-</a>              </td>
-
-              <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue",=
- "Helvetica", Helvetica, Arial, sans-serif;padding: 5px;'>
-                <a href=3D"https://plus.google.com/+airbnb?euid=3Ddf1e15a9-=
-8137-607a-5090-2285b5a2b578" title=3D"Google+" style=3D'margin:0;padding:0;=
-font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;col=
-or:#ff5a5f;text-decoration:none'>
-                  <img alt=3D"Google+" height=3D"42" src=3D"http://a1.musca=
-che.com/airbnb/rookery/email/footer/gplus-ecd915cbce9c4696bd2cbfaf05631547.=
-png" width=3D"42" style=3D'margin:0;padding:0;font-family:"Helvetica Neue",=
- "Helvetica", Helvetica, Arial, sans-serif;max-width:100%;border:0'>
-</a>              </td>
-
-              <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue",=
- "Helvetica", Helvetica, Arial, sans-serif;padding: 5px;'>
-                <a href=3D"https://www.pinterest.com/airbnb/?euid=3Ddf1e15a=
-9-8137-607a-5090-2285b5a2b578" title=3D"Pinterest" style=3D'margin:0;paddin=
-g:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif=
-;color:#ff5a5f;text-decoration:none'>
-                  <img alt=3D"Pinterest" height=3D"42" src=3D"http://a1.mus=
-cache.com/airbnb/rookery/email/footer/pinterest-3d350b44ba720d4d254d59b9014=
-d3838.png" width=3D"42" style=3D'margin:0;padding:0;font-family:"Helvetica =
-Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%;border:0'>
-</a>              </td>
-            </tr>
-          </table>
-        </td>
-      </tr>
-    </table>
-
-    <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica=
- Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-hei=
-ght:150%;width:100%'>
-  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
-, Helvetica, Arial, sans-serif'>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
-, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
-:0 auto !important;clear:both !important;max-width:610px !important'>
-      <div class=3D"content" style=3D'font-family:"Helvetica Neue", "Helvet=
-ica", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;margin:0 au=
-to;display:block;padding-left:5px;padding-right:5px;padding-bottom:5px;padd=
-ing-top:0px;color:#9ca299;font-size:14px;text-align:center;text-shadow:0 1p=
-x #ffffff'>
-=20=20=20=20=20=20=20=20
-        Envoy=C3=A9 avec <img alt=3D"&amp;#9829;" height=3D"10" src=3D"http=
-://a1.muscache.com/airbnb/rookery/email/footer/heart-eeaa9b6467981f6b84031f=
-c9570ed630.png" width=3D"12" style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%'> depu=
-is le si=C3=A8ge d'Airbnb<br style=3D'margin:0;padding:0;font-family:"Helve=
-tica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-        P.O. Box 410807, San Francisco, CA 94121 <br style=3D'margin:0;padd=
-ing:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-ser=
-if'>
-        <a class=3D"muted" href=3D"https://www.airbnb.com/email/unsubscribe=
-?token=3DeyJlbWFpbF9hZGRyZXNzIjoiYmVub2l0dGVsbGllcjNAZ21haWwuY29tIiwiY2F0ZW=
-dvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhdGUiOiJsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvb=
-nMiLCJ1dWlkIjoiZGYxZTE1YTktODEzNy02MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=3D&amp;m=
-ac=3DvGS62X2THS-Sb_5rdhsnrnff7tQ=3D" style=3D'margin:0;padding:0;font-famil=
-y:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#9ca299=
-;text-decoration:underline'>
-  D=C3=A9sinscription
-</a>
-
-
-      </div>
-    </td>
-    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
-a", Helvetica, Arial, sans-serif'></td>
-  </tr>
-</table>
-  </div>
-
-  <div class=3D"timestamp" style=3D'margin:0;padding:0;font-family:"Helveti=
-ca Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#EEEEEE;font-size=
-:1px;height:1px;line-height:1px'>2015-06-04 07:36:07 +0000</div>
-</div>
-<br style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", =
-Helvetica, Arial, sans-serif'><br style=3D'margin:0;padding:0;font-family:"=
-Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif'>
-
-        </td>
-        <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
-etica", Helvetica, Arial, sans-serif'></td>
-      </tr>
-    </table>
-
-    <span class=3D"ghost" style=3D'margin:0;padding:0;font-family:"Helvetic=
-a Neue", "Helvetica", Helvetica, Arial, sans-serif;opacity:0 !important;fon=
-t-size:1px !important;color:#EEEEEE !important'>### Airbnb ###</span>
-  </body>
-  <img class=3D"tracking" src=3D"https://www.airbnb.com/tracking/pixel/emai=
-l_opened/1433403367?rookery_uuid=3Ddf1e15a9-8137-607a-5090-2285b5a2b578" st=
-yle=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvet=
-ica, Arial, sans-serif;max-width:100%'>
-
-</html>
-
-----==_mimepart_556fffe8c7e84_7ed0e0fe20445637--
+Delivered-To: benoittellier3@gmail.com
+Received: by 10.28.170.202 with SMTP id t193csp327634wme;
+        Thu, 4 Jun 2015 00:36:15 -0700 (PDT)
+X-Received: by 10.180.77.195 with SMTP id u3mr5042880wiw.30.1433403375307;
+        Thu, 04 Jun 2015 00:36:15 -0700 (PDT)
+Return-Path: <bo...@email.airbnb.com>
+Received: from o7.email.airbnb.com (o7.email.airbnb.com. [167.89.32.249])
+        by mx.google.com with ESMTPS id i2si5691730wjz.123.2015.06.04.00.36.13
+        for <be...@gmail.com>
+        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
+        Thu, 04 Jun 2015 00:36:15 -0700 (PDT)
+Received-SPF: pass (google.com: domain of bounces+1453977-062b-benoittellier3=gmail.com@email.airbnb.com designates 167.89.32.249 as permitted sender) client-ip=167.89.32.249;
+Authentication-Results: mx.google.com;
+       spf=pass (google.com: domain of bounces+1453977-062b-benoittellier3=gmail.com@email.airbnb.com designates 167.89.32.249 as permitted sender) smtp.mail=bounces+1453977-062b-benoittellier3=gmail.com@email.airbnb.com;
+       dkim=pass header.i=@email.airbnb.com;
+       dmarc=pass (p=REJECT dis=NONE) header.from=airbnb.com
+DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=email.airbnb.com;
+	h=from:to:subject:mime-version:content-type:content-transfer-encoding;
+	s=s20150428; bh=2mhWUwzjtQTC0KljgpaEsuvrqok=; b=EhC2QHKb5+63egDD
+	qDCAepUELCeUZXCkw8+31kGT+O1va3iAKvQSAvzXJ3qJlIL9FgdeFk8sR78Vszn/
+	A73vp6NGjAW60M4gUZjxEOIPzGKIS95KfmHxg10fXUOFW0uePojNEg4ZPCcuitrZ
+	HuWvzHK5I2siGnqupiivwxDgs5c=
+DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sendgrid.info;
+	h=from:to:subject:mime-version:content-type:content-transfer-encoding:x-feedback-id;
+	s=smtpapi; bh=2mhWUwzjtQTC0KljgpaEsuvrqok=; b=FPiYMmNJLCrL2e8v/0
+	DQC4voofe8nuuE7rhXZ25oqNAhAQja4oKIysJ1qAME2aEaqh+N5aJlCEuHrSG/7+
+	NAQ0OY8KaJ2zlnxAbmgJETOjnf4oGdAa+nU/nVVEPfN2NRcBCNLGQZ80U4T5k8Xi
+	PakIuZvKDTRq7PiosSCSHT/FQ=
+Received: by filter0490p1mdw1.sendgrid.net with SMTP id filter0490p1mdw1.13271.556FFFE7B
+        2015-06-04 07:36:09.249601779 +0000 UTC
+Received: from i-dee0850e.inst.aws.airbnb.com (ec2-54-90-154-187.compute-1.amazonaws.com [54.90.154.187])
+	by ismtpd-017 (SG) with ESMTP id 14dbd7fa6b4.779a.254b43
+	for <be...@gmail.com>; Thu, 04 Jun 2015 07:36:09 +0000 (UTC)
+Received: by i-dee0850e.inst.aws.airbnb.com (Postfix, from userid 1041)
+	id 19CBA24C60; Thu,  4 Jun 2015 07:36:09 +0000 (UTC)
+Date: Thu, 04 Jun 2015 07:36:08 +0000
+From: Airbnb <di...@airbnb.com>
+To: benoittellier3@gmail.com
+Message-ID: <55...@i-dee0850e.mail>
+Subject: Regardez les meilleures destinations depuis Paris
+Mime-Version: 1.0
+Content-Type: multipart/alternative;
+ boundary="--==_mimepart_556fffe8c7e84_7ed0e0fe20445637";
+ charset=UTF-8
+Content-Transfer-Encoding: 7bit
+X-User-ID: 32692788
+X-Locale: fr
+X-Category: engagement
+X-Template: low_intent_top_destinations
+recipients:
+sent-on:
+X-SG-EID: mgVKhb3i1xMIKbRk82EYOUTMOPmiNk6g5BaWGQQKDTQchtClhw7VcIxig2BMwy1QMCr7h56hNVush8
+ 4aRV0ieMn+WZ1XVnpY0OcmMYNZnuuvlOoNkBaiuiqeWuKVZO9c9S5OyxPy7WQeI0mccenq35NpLqjI
+ nQt7IAl2sIUksUD4lM8Ai0u2C88YW13cL+Lo
+X-SG-ID: pQ7zy0fBcyQB3Gm22dZtqT6AR3zbAquH5ABZFkQfSKaxWRhz0YhtD36Li5uybRUjnPsuB21NpreKvG
+ t8iQBUn2ygs6hx6sMcgyI7L7bAY28p14Qj47KqA3JXbtMa0Xa3wdZaUUjZpemCg078XxMM5VaSHdDO
+ ChUhSV+z9RAJ38wAdUfXkpbO+m97vpU+mtWzVBoOrSiWCVYoNxPhvE4yIQ==
+X-Feedback-ID: 1453977:N5+DXWRfRBXSDDbqVYXPNg8MjWYWwZibliGo1i/oSqY=:Ibl/atjs+SOcHCINmWWv/YvIGzDUihUrks9jdHsNF1+pafkc987UhcxmuyggxNgdCkEmMZDb9gJcndcUJy5KOw==:SG
+
+----==_mimepart_556fffe8c7e84_7ed0e0fe20445637
+Content-Type: text/plain;
+ charset=UTF-8
+Content-Transfer-Encoding: quoted-printable
+
+Meilleures destinations depuis Paris
+D=C3=A9couvrez notre s=C3=A9lection de destinations populaires.
+
+Lisbonne - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-607=
+a-5090-2285b5a2b578&market=3DLisbonne
+Amsterdam - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-60=
+7a-5090-2285b5a2b578&market=3DAmsterdam
+New York - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-607=
+a-5090-2285b5a2b578&market=3DNew+York
+Londres - http://www.airbnb.fr/discovery/getaways?euid=3Ddf1e15a9-8137-607a=
+-5090-2285b5a2b578&market=3DLondres
+
+Voir toutes les destinations
+https://www.airbnb.fr/go/Paris?euid=3Ddf1e15a9-8137-607a-5090-2285b5a2b578
+
+Merci,
+L'=C3=A9quipe Airbnb
+
+P.O. Box 410807, San Francisco, CA 94121
+
+D=C3=A9sinscription
+https://www.airbnb.com/email/unsubscribe?token=3DeyJlbWFpbF9hZGRyZXNzIjoiYm=
+Vub2l0dGVsbGllcjNAZ21haWwuY29tIiwiY2F0ZWdvcnkiOiJlbmdhZ2VtZW50IiwidGVtcGxhd=
+GUiOiJsb3dfaW50ZW50X3RvcF9kZXN0aW5hdGlvbnMiLCJ1dWlkIjoiZGYxZTE1YTktODEzNy02=
+MDdhLTUwOTAtMjI4NWI1YTJiNTc4In0=3D&mac=3DvGS62X2THS-Sb_5rdhsnrnff7tQ=3D
+
+### Airbnb ###
+
+----==_mimepart_556fffe8c7e84_7ed0e0fe20445637
+Content-Type: text/html;
+ charset=UTF-8
+Content-Transfer-Encoding: quoted-printable
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.=
+w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns=3D"http://www.w3.org/1999/xhtml" style=3D'margin:0;padding:0;fo=
+nt-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;backg=
+round-color:#f7f7f7;font-size:16px;color:#565a5c;line-height:150%'>
+
+  <head style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'>
+  <meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3DUTF-8" =
+style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helv=
+etica, Arial, sans-serif'>
+  <meta name=3D"viewport" content=3D"width=3Ddevice-width" style=3D'margin:=
+0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sa=
+ns-serif'>
+  <meta name=3D"filler" content=3D"        _      _           _      " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+  <meta name=3D"filler" content=3D"       (_)    | |         | |     " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+  <meta name=3D"filler" content=3D"   __ _ _ _ __| |__  _ __ | |__   " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+  <meta name=3D"filler" content=3D"  / _` | | '__| '_ \| '_ \| '_ \  " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+  <meta name=3D"filler" content=3D" | (_| | | |  | |_) | | | | |_) | " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+  <meta name=3D"filler" content=3D"  \__,_|_|_|  |_.__/|_| |_|_.__/  " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+  <meta name=3D"filler" content=3D"                                  " styl=
+e=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetic=
+a, Arial, sans-serif'>
+=20=20
+=20=20
+</head>
+
+
+  <body bgcolor=3D"#EEEEEE" style=3D'margin:0;padding:0;font-family:"Helvet=
+ica Neue", "Helvetica", Helvetica, Arial, sans-serif;-webkit-text-size-adju=
+st:none;-webkit-font-smoothing:antialiased;color:#565a5c;height:100%;backgr=
+ound-color:#f7f7f7;font-size:16px;line-height:150%;width:100% !important'>
+    <div class=3D"preheader" style=3D'margin:0;padding:0;font-family:"Helve=
+tica Neue", "Helvetica", Helvetica, Arial, sans-serif;visibility:hidden;wid=
+th:0;opacity:0;height:0;color:transparent;display:none !important'></div>
+    <table class=3D"body-wrap" style=3D'margin:0;padding:0;font-family:"Hel=
+vetica Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height:150%;bo=
+rder-spacing:0;background-color:#f7f7f7;width:100%'>
+      <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvet=
+ica", Helvetica, Arial, sans-serif'>
+        <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
+etica", Helvetica, Arial, sans-serif'></td>
+        <td class=3D"container" style=3D'padding:0;font-family:"Helvetica N=
+eue", "Helvetica", Helvetica, Arial, sans-serif;display:block !important;ma=
+rgin:0 auto !important;clear:both !important;max-width:610px !important'>
+          <div class=3D"content" style=3D'font-family:"Helvetica Neue", "He=
+lvetica", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display=
+:block;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;=
+padding-top:0px'>
+            <table class=3D"head-wrap" style=3D'margin:0;padding:0;font-fam=
+ily:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;line-height=
+:150%;border-spacing:0;margin-bottom:10px;margin-top:10px;width:100%'>
+  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
+, Helvetica, Arial, sans-serif'>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+    <td class=3D"container header" style=3D'padding:0;font-family:"Helvetic=
+a Neue", "Helvetica", Helvetica, Arial, sans-serif;display:block !important=
+;margin:0 auto !important;clear:both !important;max-width:610px !important'>
+      <div class=3D"content" style=3D'font-family:"Helvetica Neue", "Helvet=
+ica", Helvetica, Arial, sans-serif;padding:15px;max-width:600px;display:blo=
+ck;margin:0 auto;padding-left:5px;padding-right:5px;padding-bottom:5px;padd=
+ing-top:0px'>
+        <table style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "H=
+elvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-height:150%;w=
+idth:100%'>
+          <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "He=
+lvetica", Helvetica, Arial, sans-serif'>
+            <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "=
+Helvetica", Helvetica, Arial, sans-serif;text-align: center;'>
+              <a href=3D"https://www.airbnb.fr?euid=3Ddf1e15a9-8137-607a-50=
+90-2285b5a2b578" title=3D"Airbnb" style=3D'margin:0;padding:0;font-family:"=
+Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;color:#ff5a5f;te=
+xt-decoration:none'>
+                <img src=3D"http://a0.muscache.com/airbnb/rookery/email/log=
+os/logo2x-954e17b014b90e4ed3a9565864fa4676.png" border=3D"0" alt=3D"Airbnb"=
+ width=3D"123" height=3D"55" style=3D'margin:0;padding:0;font-family:"Helve=
+tica Neue", "Helvetica", Helvetica, Arial, sans-serif;max-width:100%;border=
+:0'>
+              </a>
+            </td>
+          </tr>
+        </table>
+      </div>
+    </td>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+  </tr>
+</table>
+
+=20=20=20=20=20=20=20=20=20=20=20=20
+=20=20=20=20=20=20=20=20=20=20=20=20
+
+<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
+ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
+tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
+round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
+th:1px;border-right-width:1px;border-top-width:0;padding: 0;'>
+=20=20
+  <img src=3D"http://a1.muscache.com/airbnb/rookery/email/engagement/email-=
+top-destinations-header-b0fa5f6caa96df90ed926058e4473c50.jpg" style=3D'marg=
+in:0;padding:0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial,=
+ sans-serif;max-width:100%'>
+
+</div>
+
+<div class=3D"panel " style=3D'margin:0;padding:0;font-family:"Helvetica Ne=
+ue", "Helvetica", Helvetica, Arial, sans-serif;padding-top:15px;padding-bot=
+tom:15px;padding-left:15px;padding-right:15px;border-bottom-width:1px;backg=
+round-color:#ffffff;border-style:solid;border-color:#dbdbdb;border-left-wid=
+th:1px;border-right-width:1px;border-top-width:0;border: none;'>
+=20=20
+  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
+eue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-heigh=
+t:150%;width:100%'>
+  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
+, Helvetica, Arial, sans-serif'>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
+, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
+:0 auto !important;clear:both !important;max-width:610px !important'>
+      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
+tica", Helvetica, Arial, sans-serif'>
+=20=20=20=20=20=20=20=20
+    <h2 class=3D"center" style=3D'margin:0;padding:0;font-family:"Helvetica=
+ Neue", "Helvetica", Helvetica, Arial, sans-serif;font-weight:bold;padding-=
+bottom:10px;font-size:24px;line-height:28px;text-rendering:optimizelegibili=
+ty;text-align:center'>
+      Meilleures destinations depuis Paris
+    </h2>
+
+      </div>
+    </td>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+  </tr>
+</table>
+
+  <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica N=
+eue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-heigh=
+t:150%;width:100%'>
+  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
+, Helvetica, Arial, sans-serif'>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
+, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
+:0 auto !important;clear:both !important;max-width:610px !important'>
+      <div style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helve=
+tica", Helvetica, Arial, sans-serif'>
+=20=20=20=20=20=20=20=20
+      <div class=3D"p center" style=3D'margin:0;padding:0;font-family:"Helv=
+etica Neue", "Helvetica", Helvetica, Arial, sans-serif;text-align:center;'>
+=20=20
+        <h5 style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helv=
+etica", Helvetica, Arial, sans-serif;text-rendering:optimizelegibility;font=
+-size:14px;font-weight:normal;text-transform:uppercase;color:#9ca299;text-t=
+ransform: none'>
+          D=C3=A9couvrez notre s=C3=A9lection de destinations populaires.
+        </h5>
+
+</div>
+
+
+
+      </div>
+    </td>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+  </tr>
+</table>
+
+    <table class=3D"row" style=3D'margin:0;padding:0;font-family:"Helvetica=
+ Neue", "Helvetica", Helvetica, Arial, sans-serif;border-spacing:0;line-hei=
+ght:150%;width:100%'>
+  <tr style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetica"=
+, Helvetica, Arial, sans-serif'>
+    <td style=3D'margin:0;padding:0;font-family:"Helvetica Neue", "Helvetic=
+a", Helvetica, Arial, sans-serif'></td>
+    <td class=3D"container" style=3D'padding:0;font-family:"Helvetica Neue"=
+, "Helvetica", Helvetica, Arial, sans-serif;display:block !important;margin=
+:0 auto !important;clear:both !important;max-width:610px !important'>
+      <div class=3D"row-space-top-4 row-space-4" style=3D'margin:0;padding:=
+0;font-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;m=
+argin-bottom:25px;margin-top:25px'>
+=20=20=20=20=20=20=20=20
+      <div class=3D"p center" style=3D'margin:0;padding:0;font-family:"Helv=
+etica Neue", "Helvetica", Helvetica, Arial, sans-serif;text-align:center;'>
+=20=20
+        <a href=3D"https://www.airbnb.fr/go/Paris?euid=3Ddf1e15a9-8137-607a=
+-5090-2285b5a2b578" class=3D"btn btn-primary btn-small" style=3D'margin:0;f=
+ont-family:"Helvetica Neue", "Helvetica", Helvetica, Arial, sans-serif;vert=
+ical-align:middle;cursor:pointer;padding:10px 16px;text-decoration:none;bor=
+der-radius:2px;border:1px solid;text-align:center;font-weight:bold;white-sp=
+ace:nowrap;background:#ffffff;box-shadow:0 1px 0 0 #e00007;border-color:#ff=
+5a5f;background-color:#ff5a5f;color:#ffffff;border-top-width:1px;disp

<TRUNCATED>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org