sisimai 4.25.3-java → 4.25.9-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +3 -2
  4. data/ANALYTICAL-PRECISION +60 -58
  5. data/Benchmarks.mk +5 -3
  6. data/CONTRIBUTING +4 -0
  7. data/ChangeLog.md +207 -1
  8. data/Developers.mk +3 -74
  9. data/Makefile +5 -1
  10. data/README-JA.md +30 -54
  11. data/README.md +31 -54
  12. data/Repository.mk +1 -1
  13. data/lib/sisimai.rb +20 -74
  14. data/lib/sisimai/address.rb +13 -17
  15. data/lib/sisimai/arf.rb +34 -38
  16. data/lib/sisimai/data.rb +16 -39
  17. data/lib/sisimai/datetime.rb +3 -3
  18. data/lib/sisimai/lhost.rb +79 -0
  19. data/lib/sisimai/lhost/activehunter.rb +78 -0
  20. data/lib/sisimai/lhost/amavis.rb +166 -0
  21. data/lib/sisimai/lhost/amazonses.rb +343 -0
  22. data/lib/sisimai/lhost/amazonworkmail.rb +131 -0
  23. data/lib/sisimai/lhost/aol.rb +128 -0
  24. data/lib/sisimai/lhost/apachejames.rb +120 -0
  25. data/lib/sisimai/lhost/barracuda.rb +94 -0
  26. data/lib/sisimai/lhost/bigfoot.rb +126 -0
  27. data/lib/sisimai/lhost/biglobe.rb +101 -0
  28. data/lib/sisimai/lhost/courier.rb +146 -0
  29. data/lib/sisimai/lhost/domino.rb +118 -0
  30. data/lib/sisimai/lhost/einsundeins.rb +115 -0
  31. data/lib/sisimai/lhost/exchange2003.rb +230 -0
  32. data/lib/sisimai/lhost/exchange2007.rb +153 -0
  33. data/lib/sisimai/{bite/email → lhost}/exim.rb +139 -178
  34. data/lib/sisimai/{bite/email → lhost}/ezweb.rb +65 -97
  35. data/lib/sisimai/{bite/email → lhost}/facebook.rb +61 -98
  36. data/lib/sisimai/lhost/fml.rb +119 -0
  37. data/lib/sisimai/{bite/email/google.rb → lhost/gmail.rb} +58 -97
  38. data/lib/sisimai/lhost/gmx.rb +114 -0
  39. data/lib/sisimai/lhost/googlegroups.rb +77 -0
  40. data/lib/sisimai/lhost/gsuite.rb +196 -0
  41. data/lib/sisimai/lhost/imailserver.rb +118 -0
  42. data/lib/sisimai/lhost/interscanmss.rb +88 -0
  43. data/lib/sisimai/lhost/kddi.rb +113 -0
  44. data/lib/sisimai/lhost/mailfoundry.rb +83 -0
  45. data/lib/sisimai/lhost/mailmarshalsmtp.rb +127 -0
  46. data/lib/sisimai/{bite/email → lhost}/mailru.rb +65 -101
  47. data/lib/sisimai/lhost/mcafee.rb +119 -0
  48. data/lib/sisimai/lhost/messagelabs.rb +123 -0
  49. data/lib/sisimai/lhost/messagingserver.rb +152 -0
  50. data/lib/sisimai/lhost/mfilter.rb +120 -0
  51. data/lib/sisimai/{bite/email → lhost}/mxlogic.rb +55 -93
  52. data/lib/sisimai/lhost/notes.rb +126 -0
  53. data/lib/sisimai/lhost/office365.rb +216 -0
  54. data/lib/sisimai/{bite/email → lhost}/opensmtpd.rb +42 -78
  55. data/lib/sisimai/lhost/outlook.rb +133 -0
  56. data/lib/sisimai/lhost/postfix.rb +249 -0
  57. data/lib/sisimai/lhost/powermta.rb +120 -0
  58. data/lib/sisimai/{bite/email → lhost}/qmail.rb +54 -87
  59. data/lib/sisimai/lhost/receivingses.rb +132 -0
  60. data/lib/sisimai/lhost/sendgrid.rb +150 -0
  61. data/lib/sisimai/lhost/sendmail.rb +207 -0
  62. data/lib/sisimai/lhost/surfcontrol.rb +105 -0
  63. data/lib/sisimai/lhost/v5sendmail.rb +150 -0
  64. data/lib/sisimai/lhost/verizon.rb +164 -0
  65. data/lib/sisimai/lhost/x1.rb +78 -0
  66. data/lib/sisimai/lhost/x2.rb +71 -0
  67. data/lib/sisimai/lhost/x3.rb +92 -0
  68. data/lib/sisimai/{bite/email → lhost}/x4.rb +56 -92
  69. data/lib/sisimai/lhost/x5.rb +114 -0
  70. data/lib/sisimai/lhost/x6.rb +74 -0
  71. data/lib/sisimai/lhost/yahoo.rb +101 -0
  72. data/lib/sisimai/lhost/yandex.rb +123 -0
  73. data/lib/sisimai/lhost/zoho.rb +109 -0
  74. data/lib/sisimai/mail.rb +36 -25
  75. data/lib/sisimai/mail/maildir.rb +31 -36
  76. data/lib/sisimai/mail/mbox.rb +8 -12
  77. data/lib/sisimai/mail/memory.rb +18 -20
  78. data/lib/sisimai/mail/stdin.rb +8 -12
  79. data/lib/sisimai/mda.rb +9 -15
  80. data/lib/sisimai/message.rb +308 -74
  81. data/lib/sisimai/mime.rb +28 -33
  82. data/lib/sisimai/order.rb +179 -4
  83. data/lib/sisimai/reason.rb +29 -20
  84. data/lib/sisimai/reason/blocked.rb +23 -23
  85. data/lib/sisimai/reason/hostunknown.rb +2 -0
  86. data/lib/sisimai/reason/mailererror.rb +1 -1
  87. data/lib/sisimai/reason/norelaying.rb +1 -1
  88. data/lib/sisimai/reason/notaccept.rb +1 -0
  89. data/lib/sisimai/reason/rejected.rb +1 -0
  90. data/lib/sisimai/reason/securityerror.rb +5 -6
  91. data/lib/sisimai/reason/spamdetected.rb +9 -12
  92. data/lib/sisimai/reason/userunknown.rb +32 -26
  93. data/lib/sisimai/reason/virusdetected.rb +1 -0
  94. data/lib/sisimai/rfc1894.rb +3 -3
  95. data/lib/sisimai/rfc3464.rb +49 -67
  96. data/lib/sisimai/rfc3834.rb +14 -26
  97. data/lib/sisimai/rfc5322.rb +21 -33
  98. data/lib/sisimai/rhost.rb +10 -12
  99. data/lib/sisimai/rhost/cox.rb +112 -0
  100. data/lib/sisimai/rhost/exchangeonline.rb +26 -23
  101. data/lib/sisimai/rhost/franceptt.rb +120 -24
  102. data/lib/sisimai/rhost/godaddy.rb +1 -1
  103. data/lib/sisimai/rhost/iua.rb +39 -0
  104. data/lib/sisimai/rhost/spectrum.rb +73 -0
  105. data/lib/sisimai/smtp.rb +0 -13
  106. data/lib/sisimai/smtp/error.rb +7 -7
  107. data/lib/sisimai/smtp/status.rb +1 -1
  108. data/lib/sisimai/string.rb +3 -11
  109. data/lib/sisimai/version.rb +1 -1
  110. data/set-of-emails/README.md +5 -5
  111. data/set-of-emails/maildir/bsd/arf-24.eml +50 -0
  112. data/set-of-emails/maildir/bsd/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  113. data/set-of-emails/maildir/bsd/{email-activehunter-02.eml → lhost-activehunter-02.eml} +0 -0
  114. data/set-of-emails/maildir/bsd/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  115. data/set-of-emails/maildir/bsd/{email-amavis-02.eml → lhost-amavis-02.eml} +0 -0
  116. data/set-of-emails/maildir/bsd/lhost-amavis-03.eml +90 -0
  117. data/set-of-emails/maildir/bsd/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  118. data/set-of-emails/maildir/bsd/{email-amazonses-02.eml → lhost-amazonses-02.eml} +0 -0
  119. data/set-of-emails/maildir/bsd/{email-amazonses-03.eml → lhost-amazonses-03.eml} +0 -0
  120. data/set-of-emails/maildir/bsd/{email-amazonses-05.eml → lhost-amazonses-05.eml} +0 -0
  121. data/set-of-emails/maildir/bsd/{email-amazonses-06.eml → lhost-amazonses-06.eml} +0 -0
  122. data/set-of-emails/maildir/bsd/{email-amazonses-07.eml → lhost-amazonses-07.eml} +0 -0
  123. data/set-of-emails/maildir/bsd/{email-amazonses-08.eml → lhost-amazonses-08.eml} +0 -0
  124. data/set-of-emails/maildir/bsd/{email-amazonses-09.eml → lhost-amazonses-09.eml} +0 -0
  125. data/set-of-emails/maildir/bsd/{email-amazonses-10.eml → lhost-amazonses-10.eml} +0 -0
  126. data/set-of-emails/maildir/bsd/{email-amazonses-11.eml → lhost-amazonses-11.eml} +0 -0
  127. data/set-of-emails/maildir/bsd/{email-amazonses-12.eml → lhost-amazonses-12.eml} +0 -0
  128. data/set-of-emails/maildir/bsd/{email-amazonses-13.eml → lhost-amazonses-13.eml} +0 -0
  129. data/set-of-emails/maildir/bsd/{email-amazonses-14.eml → lhost-amazonses-14.eml} +0 -0
  130. data/set-of-emails/maildir/bsd/{email-amazonses-15.eml → lhost-amazonses-15.eml} +0 -0
  131. data/set-of-emails/maildir/bsd/{email-amazonses-16.eml → lhost-amazonses-16.eml} +0 -0
  132. data/set-of-emails/maildir/bsd/{email-amazonses-17.eml → lhost-amazonses-17.eml} +0 -0
  133. data/set-of-emails/maildir/bsd/{email-amazonses-18.eml → lhost-amazonses-18.eml} +0 -0
  134. data/set-of-emails/maildir/bsd/{email-amazonses-19.eml → lhost-amazonses-19.eml} +0 -0
  135. data/set-of-emails/maildir/bsd/{email-amazonses-20.eml → lhost-amazonses-20.eml} +0 -0
  136. data/set-of-emails/maildir/bsd/{email-amazonses-21.eml → lhost-amazonses-21.eml} +0 -0
  137. data/set-of-emails/maildir/bsd/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  138. data/set-of-emails/maildir/bsd/{email-amazonworkmail-02.eml → lhost-amazonworkmail-02.eml} +0 -0
  139. data/set-of-emails/maildir/bsd/{email-amazonworkmail-03.eml → lhost-amazonworkmail-03.eml} +0 -0
  140. data/set-of-emails/maildir/bsd/{email-amazonworkmail-04.eml → lhost-amazonworkmail-04.eml} +0 -0
  141. data/set-of-emails/maildir/bsd/{email-amazonworkmail-05.eml → lhost-amazonworkmail-05.eml} +0 -0
  142. data/set-of-emails/maildir/bsd/{email-amazonworkmail-07.eml → lhost-amazonworkmail-07.eml} +0 -0
  143. data/set-of-emails/maildir/bsd/{email-amazonworkmail-08.eml → lhost-amazonworkmail-08.eml} +0 -0
  144. data/set-of-emails/maildir/bsd/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  145. data/set-of-emails/maildir/bsd/{email-aol-02.eml → lhost-aol-02.eml} +0 -0
  146. data/set-of-emails/maildir/bsd/{email-aol-03.eml → lhost-aol-03.eml} +0 -0
  147. data/set-of-emails/maildir/bsd/{email-aol-04.eml → lhost-aol-04.eml} +0 -0
  148. data/set-of-emails/maildir/bsd/{email-aol-05.eml → lhost-aol-05.eml} +0 -0
  149. data/set-of-emails/maildir/bsd/{email-aol-06.eml → lhost-aol-06.eml} +0 -0
  150. data/set-of-emails/maildir/bsd/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  151. data/set-of-emails/maildir/bsd/lhost-barracuda-01.eml +67 -0
  152. data/set-of-emails/maildir/bsd/lhost-barracuda-02.eml +71 -0
  153. data/set-of-emails/maildir/bsd/{email-bigfoot-02.eml → lhost-bigfoot-02.eml} +0 -0
  154. data/set-of-emails/maildir/bsd/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  155. data/set-of-emails/maildir/bsd/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  156. data/set-of-emails/maildir/bsd/{email-courier-02.eml → lhost-courier-02.eml} +0 -0
  157. data/set-of-emails/maildir/bsd/{email-courier-03.eml → lhost-courier-03.eml} +0 -0
  158. data/set-of-emails/maildir/bsd/{email-courier-04.eml → lhost-courier-04.eml} +0 -0
  159. data/set-of-emails/maildir/bsd/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  160. data/set-of-emails/maildir/bsd/{email-domino-02.eml → lhost-domino-02.eml} +0 -0
  161. data/set-of-emails/maildir/bsd/{email-domino-03.eml → lhost-domino-03.eml} +0 -0
  162. data/set-of-emails/maildir/bsd/{email-einsundeins-02.eml → lhost-einsundeins-02.eml} +0 -0
  163. data/set-of-emails/maildir/bsd/lhost-einsundeins-03.eml +66 -0
  164. data/set-of-emails/maildir/bsd/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  165. data/set-of-emails/maildir/bsd/{email-exchange2003-02.eml → lhost-exchange2003-02.eml} +0 -0
  166. data/set-of-emails/maildir/bsd/{email-exchange2003-03.eml → lhost-exchange2003-03.eml} +0 -0
  167. data/set-of-emails/maildir/bsd/{email-exchange2003-04.eml → lhost-exchange2003-04.eml} +0 -0
  168. data/set-of-emails/maildir/bsd/{email-exchange2003-05.eml → lhost-exchange2003-05.eml} +0 -0
  169. data/set-of-emails/maildir/bsd/{email-exchange2003-07.eml → lhost-exchange2003-07.eml} +0 -0
  170. data/set-of-emails/maildir/bsd/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  171. data/set-of-emails/maildir/bsd/{email-exchange2007-02.eml → lhost-exchange2007-02.eml} +0 -0
  172. data/set-of-emails/maildir/bsd/{email-exchange2007-03.eml → lhost-exchange2007-03.eml} +0 -0
  173. data/set-of-emails/maildir/bsd/{email-exchange2007-04.eml → lhost-exchange2007-04.eml} +0 -0
  174. data/set-of-emails/maildir/bsd/lhost-exchange2007-05.eml +1469 -0
  175. data/set-of-emails/maildir/bsd/lhost-exchange2007-06.eml +764 -0
  176. data/set-of-emails/maildir/bsd/lhost-exchange2007-07.eml +128 -0
  177. data/set-of-emails/maildir/bsd/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  178. data/set-of-emails/maildir/bsd/{email-exim-02.eml → lhost-exim-02.eml} +0 -0
  179. data/set-of-emails/maildir/bsd/{email-exim-03.eml → lhost-exim-03.eml} +0 -0
  180. data/set-of-emails/maildir/bsd/{email-exim-04.eml → lhost-exim-04.eml} +0 -0
  181. data/set-of-emails/maildir/bsd/{email-exim-05.eml → lhost-exim-05.eml} +0 -0
  182. data/set-of-emails/maildir/bsd/{email-exim-06.eml → lhost-exim-06.eml} +0 -0
  183. data/set-of-emails/maildir/bsd/{email-exim-07.eml → lhost-exim-07.eml} +0 -0
  184. data/set-of-emails/maildir/bsd/{email-exim-08.eml → lhost-exim-08.eml} +0 -0
  185. data/set-of-emails/maildir/bsd/{email-exim-29.eml → lhost-exim-29.eml} +0 -0
  186. data/set-of-emails/maildir/bsd/{email-exim-30.eml → lhost-exim-30.eml} +0 -0
  187. data/set-of-emails/maildir/bsd/{email-exim-31.eml → lhost-exim-31.eml} +0 -0
  188. data/set-of-emails/maildir/bsd/{email-exim-32.eml → lhost-exim-32.eml} +0 -0
  189. data/set-of-emails/maildir/bsd/{email-exim-33.eml → lhost-exim-33.eml} +0 -0
  190. data/set-of-emails/maildir/bsd/{email-exim-34.eml → lhost-exim-34.eml} +0 -0
  191. data/set-of-emails/maildir/bsd/{email-exim-35.eml → lhost-exim-35.eml} +0 -0
  192. data/set-of-emails/maildir/bsd/{email-exim-36.eml → lhost-exim-36.eml} +0 -0
  193. data/set-of-emails/maildir/bsd/{email-exim-37.eml → lhost-exim-37.eml} +0 -0
  194. data/set-of-emails/maildir/bsd/{email-exim-38.eml → lhost-exim-38.eml} +0 -0
  195. data/set-of-emails/maildir/bsd/{email-exim-39.eml → lhost-exim-39.eml} +0 -0
  196. data/set-of-emails/maildir/bsd/{email-exim-40.eml → lhost-exim-40.eml} +0 -0
  197. data/set-of-emails/maildir/bsd/{email-exim-41.eml → lhost-exim-41.eml} +0 -0
  198. data/set-of-emails/maildir/bsd/{email-exim-42.eml → lhost-exim-42.eml} +0 -0
  199. data/set-of-emails/maildir/bsd/{email-exim-43.eml → lhost-exim-43.eml} +0 -0
  200. data/set-of-emails/maildir/bsd/{email-exim-44.eml → lhost-exim-44.eml} +0 -0
  201. data/set-of-emails/maildir/bsd/{email-exim-45.eml → lhost-exim-45.eml} +0 -0
  202. data/set-of-emails/maildir/bsd/{email-exim-46.eml → lhost-exim-46.eml} +0 -0
  203. data/set-of-emails/maildir/bsd/{email-exim-47.eml → lhost-exim-47.eml} +0 -0
  204. data/set-of-emails/maildir/bsd/{email-exim-48.eml → lhost-exim-48.eml} +0 -0
  205. data/set-of-emails/maildir/bsd/{email-exim-49.eml → lhost-exim-49.eml} +0 -0
  206. data/set-of-emails/maildir/bsd/{email-exim-50.eml → lhost-exim-50.eml} +0 -0
  207. data/set-of-emails/maildir/bsd/{email-exim-51.eml → lhost-exim-51.eml} +0 -0
  208. data/set-of-emails/maildir/bsd/{email-exim-52.eml → lhost-exim-52.eml} +0 -0
  209. data/set-of-emails/maildir/bsd/{email-exim-53.eml → lhost-exim-53.eml} +0 -0
  210. data/set-of-emails/maildir/bsd/{email-exim-54.eml → lhost-exim-54.eml} +0 -0
  211. data/set-of-emails/maildir/bsd/{email-exim-55.eml → lhost-exim-55.eml} +0 -0
  212. data/set-of-emails/maildir/bsd/{email-exim-56.eml → lhost-exim-56.eml} +0 -0
  213. data/set-of-emails/maildir/bsd/{email-exim-57.eml → lhost-exim-57.eml} +0 -0
  214. data/set-of-emails/maildir/bsd/{email-exim-58.eml → lhost-exim-58.eml} +0 -0
  215. data/set-of-emails/maildir/bsd/{email-exim-59.eml → lhost-exim-59.eml} +0 -0
  216. data/set-of-emails/maildir/bsd/{email-exim-60.eml → lhost-exim-60.eml} +0 -0
  217. data/set-of-emails/maildir/bsd/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  218. data/set-of-emails/maildir/bsd/{email-ezweb-02.eml → lhost-ezweb-02.eml} +0 -0
  219. data/set-of-emails/maildir/bsd/{email-ezweb-03.eml → lhost-ezweb-03.eml} +0 -0
  220. data/set-of-emails/maildir/bsd/{email-ezweb-04.eml → lhost-ezweb-04.eml} +0 -0
  221. data/set-of-emails/maildir/bsd/{email-ezweb-05.eml → lhost-ezweb-05.eml} +0 -0
  222. data/set-of-emails/maildir/bsd/{email-ezweb-07.eml → lhost-ezweb-07.eml} +0 -0
  223. data/set-of-emails/maildir/bsd/{email-ezweb-08.eml → lhost-ezweb-08.eml} +0 -0
  224. data/set-of-emails/maildir/bsd/{email-facebook-03.eml → lhost-facebook-03.eml} +0 -0
  225. data/set-of-emails/maildir/bsd/{email-facebook-04.eml → lhost-facebook-04.eml} +0 -0
  226. data/set-of-emails/maildir/bsd/{email-fml-02.eml → lhost-fml-02.eml} +0 -0
  227. data/set-of-emails/maildir/bsd/{email-fml-03.eml → lhost-fml-03.eml} +0 -0
  228. data/set-of-emails/maildir/bsd/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  229. data/set-of-emails/maildir/bsd/{email-google-03.eml → lhost-gmail-03.eml} +0 -0
  230. data/set-of-emails/maildir/bsd/{email-google-04.eml → lhost-gmail-04.eml} +0 -0
  231. data/set-of-emails/maildir/bsd/{email-google-05.eml → lhost-gmail-05.eml} +0 -0
  232. data/set-of-emails/maildir/bsd/{email-google-06.eml → lhost-gmail-06.eml} +0 -0
  233. data/set-of-emails/maildir/bsd/{email-google-07.eml → lhost-gmail-07.eml} +0 -0
  234. data/set-of-emails/maildir/bsd/{email-google-08.eml → lhost-gmail-08.eml} +0 -0
  235. data/set-of-emails/maildir/bsd/{email-google-09.eml → lhost-gmail-09.eml} +0 -0
  236. data/set-of-emails/maildir/bsd/{email-google-10.eml → lhost-gmail-10.eml} +0 -0
  237. data/set-of-emails/maildir/bsd/{email-google-11.eml → lhost-gmail-11.eml} +0 -0
  238. data/set-of-emails/maildir/bsd/{email-google-15.eml → lhost-gmail-15.eml} +0 -0
  239. data/set-of-emails/maildir/bsd/{email-google-16.eml → lhost-gmail-16.eml} +0 -0
  240. data/set-of-emails/maildir/bsd/{email-google-17.eml → lhost-gmail-17.eml} +0 -0
  241. data/set-of-emails/maildir/bsd/{email-google-18.eml → lhost-gmail-18.eml} +0 -0
  242. data/set-of-emails/maildir/bsd/{email-google-19.eml → lhost-gmail-19.eml} +0 -0
  243. data/set-of-emails/maildir/bsd/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  244. data/set-of-emails/maildir/bsd/{email-gmx-02.eml → lhost-gmx-02.eml} +0 -0
  245. data/set-of-emails/maildir/bsd/{email-gmx-03.eml → lhost-gmx-03.eml} +0 -0
  246. data/set-of-emails/maildir/bsd/{email-gmx-04.eml → lhost-gmx-04.eml} +0 -0
  247. data/set-of-emails/maildir/bsd/lhost-googlegroups-01.eml +116 -0
  248. data/set-of-emails/maildir/bsd/lhost-googlegroups-02.eml +114 -0
  249. data/set-of-emails/maildir/bsd/lhost-googlegroups-03.eml +116 -0
  250. data/set-of-emails/maildir/bsd/lhost-googlegroups-04.eml +116 -0
  251. data/set-of-emails/maildir/bsd/lhost-googlegroups-05.eml +116 -0
  252. data/set-of-emails/maildir/bsd/lhost-googlegroups-06.eml +116 -0
  253. data/set-of-emails/maildir/bsd/lhost-googlegroups-07.eml +116 -0
  254. data/set-of-emails/maildir/bsd/lhost-googlegroups-08.eml +115 -0
  255. data/set-of-emails/maildir/bsd/lhost-googlegroups-09.eml +116 -0
  256. data/set-of-emails/maildir/bsd/lhost-googlegroups-10.eml +116 -0
  257. data/set-of-emails/maildir/bsd/lhost-googlegroups-11.eml +116 -0
  258. data/set-of-emails/maildir/bsd/lhost-googlegroups-12.eml +116 -0
  259. data/set-of-emails/maildir/bsd/lhost-googlegroups-13.eml +115 -0
  260. data/set-of-emails/maildir/bsd/lhost-googlegroups-14.eml +127 -0
  261. data/set-of-emails/maildir/bsd/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  262. data/set-of-emails/maildir/bsd/{email-gsuite-02.eml → lhost-gsuite-02.eml} +0 -0
  263. data/set-of-emails/maildir/bsd/{email-gsuite-03.eml → lhost-gsuite-03.eml} +0 -0
  264. data/set-of-emails/maildir/bsd/{email-gsuite-04.eml → lhost-gsuite-04.eml} +0 -0
  265. data/set-of-emails/maildir/bsd/{email-gsuite-05.eml → lhost-gsuite-05.eml} +0 -0
  266. data/set-of-emails/maildir/bsd/{email-gsuite-06.eml → lhost-gsuite-06.eml} +0 -0
  267. data/set-of-emails/maildir/bsd/{email-gsuite-07.eml → lhost-gsuite-07.eml} +0 -0
  268. data/set-of-emails/maildir/bsd/{email-gsuite-08.eml → lhost-gsuite-08.eml} +0 -0
  269. data/set-of-emails/maildir/bsd/{email-gsuite-09.eml → lhost-gsuite-09.eml} +0 -0
  270. data/set-of-emails/maildir/bsd/{email-gsuite-10.eml → lhost-gsuite-10.eml} +0 -0
  271. data/set-of-emails/maildir/bsd/{email-gsuite-11.eml → lhost-gsuite-11.eml} +0 -0
  272. data/set-of-emails/maildir/bsd/{email-gsuite-12.eml → lhost-gsuite-12.eml} +0 -0
  273. data/set-of-emails/maildir/bsd/lhost-gsuite-13.eml +261 -0
  274. data/set-of-emails/maildir/bsd/lhost-gsuite-14.eml +273 -0
  275. data/set-of-emails/maildir/bsd/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  276. data/set-of-emails/maildir/bsd/{email-imailserver-02.eml → lhost-imailserver-02.eml} +0 -0
  277. data/set-of-emails/maildir/bsd/{email-imailserver-03.eml → lhost-imailserver-03.eml} +0 -0
  278. data/set-of-emails/maildir/bsd/{email-imailserver-04.eml → lhost-imailserver-04.eml} +0 -0
  279. data/set-of-emails/maildir/bsd/{email-imailserver-06.eml → lhost-imailserver-06.eml} +0 -0
  280. data/set-of-emails/maildir/bsd/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  281. data/set-of-emails/maildir/bsd/lhost-interscanmss-02.eml +70 -0
  282. data/set-of-emails/maildir/bsd/lhost-interscanmss-03.eml +73 -0
  283. data/set-of-emails/maildir/bsd/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  284. data/set-of-emails/maildir/bsd/{email-kddi-02.eml → lhost-kddi-02.eml} +0 -0
  285. data/set-of-emails/maildir/bsd/{email-kddi-03.eml → lhost-kddi-03.eml} +0 -0
  286. data/set-of-emails/maildir/bsd/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  287. data/set-of-emails/maildir/bsd/{email-mailfoundry-02.eml → lhost-mailfoundry-02.eml} +0 -0
  288. data/set-of-emails/maildir/bsd/{email-mailmarshalsmtp-02.eml → lhost-mailmarshalsmtp-02.eml} +0 -0
  289. data/set-of-emails/maildir/bsd/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  290. data/set-of-emails/maildir/bsd/{email-mailru-02.eml → lhost-mailru-02.eml} +0 -0
  291. data/set-of-emails/maildir/bsd/{email-mailru-03.eml → lhost-mailru-03.eml} +0 -0
  292. data/set-of-emails/maildir/bsd/{email-mailru-04.eml → lhost-mailru-04.eml} +0 -0
  293. data/set-of-emails/maildir/bsd/{email-mailru-05.eml → lhost-mailru-05.eml} +0 -0
  294. data/set-of-emails/maildir/bsd/{email-mailru-06.eml → lhost-mailru-06.eml} +0 -0
  295. data/set-of-emails/maildir/bsd/{email-mailru-07.eml → lhost-mailru-07.eml} +0 -0
  296. data/set-of-emails/maildir/bsd/{email-mailru-08.eml → lhost-mailru-08.eml} +0 -0
  297. data/set-of-emails/maildir/bsd/{email-mailru-09.eml → lhost-mailru-09.eml} +0 -0
  298. data/set-of-emails/maildir/bsd/{email-mailru-10.eml → lhost-mailru-10.eml} +0 -0
  299. data/set-of-emails/maildir/bsd/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  300. data/set-of-emails/maildir/bsd/{email-mcafee-02.eml → lhost-mcafee-02.eml} +0 -0
  301. data/set-of-emails/maildir/bsd/{email-mcafee-03.eml → lhost-mcafee-03.eml} +0 -0
  302. data/set-of-emails/maildir/bsd/{email-mcafee-04.eml → lhost-mcafee-04.eml} +0 -0
  303. data/set-of-emails/maildir/bsd/{email-mcafee-05.eml → lhost-mcafee-05.eml} +0 -0
  304. data/set-of-emails/maildir/bsd/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  305. data/set-of-emails/maildir/bsd/{email-messagelabs-02.eml → lhost-messagelabs-02.eml} +0 -0
  306. data/set-of-emails/maildir/bsd/{email-messagelabs-03.eml → lhost-messagelabs-03.eml} +0 -0
  307. data/set-of-emails/maildir/bsd/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  308. data/set-of-emails/maildir/bsd/{email-messagingserver-02.eml → lhost-messagingserver-02.eml} +0 -0
  309. data/set-of-emails/maildir/bsd/{email-messagingserver-03.eml → lhost-messagingserver-03.eml} +0 -0
  310. data/set-of-emails/maildir/bsd/{email-messagingserver-04.eml → lhost-messagingserver-04.eml} +0 -0
  311. data/set-of-emails/maildir/bsd/{email-messagingserver-05.eml → lhost-messagingserver-05.eml} +0 -0
  312. data/set-of-emails/maildir/bsd/{email-messagingserver-06.eml → lhost-messagingserver-06.eml} +0 -0
  313. data/set-of-emails/maildir/bsd/{email-messagingserver-07.eml → lhost-messagingserver-07.eml} +0 -0
  314. data/set-of-emails/maildir/bsd/{email-messagingserver-08.eml → lhost-messagingserver-08.eml} +0 -0
  315. data/set-of-emails/maildir/bsd/{email-messagingserver-09.eml → lhost-messagingserver-09.eml} +0 -0
  316. data/set-of-emails/maildir/bsd/{email-messagingserver-10.eml → lhost-messagingserver-10.eml} +0 -0
  317. data/set-of-emails/maildir/bsd/{email-messagingserver-11.eml → lhost-messagingserver-11.eml} +0 -0
  318. data/set-of-emails/maildir/bsd/{email-messagingserver-12.eml → lhost-messagingserver-12.eml} +0 -0
  319. data/set-of-emails/maildir/bsd/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  320. data/set-of-emails/maildir/bsd/{email-mfilter-02.eml → lhost-mfilter-02.eml} +0 -0
  321. data/set-of-emails/maildir/bsd/{email-mfilter-03.eml → lhost-mfilter-03.eml} +0 -0
  322. data/set-of-emails/maildir/bsd/{email-mfilter-04.eml → lhost-mfilter-04.eml} +0 -0
  323. data/set-of-emails/maildir/bsd/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  324. data/set-of-emails/maildir/bsd/{email-mxlogic-02.eml → lhost-mxlogic-02.eml} +0 -0
  325. data/set-of-emails/maildir/bsd/{email-mxlogic-03.eml → lhost-mxlogic-03.eml} +0 -0
  326. data/set-of-emails/maildir/bsd/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  327. data/set-of-emails/maildir/bsd/{email-notes-02.eml → lhost-notes-02.eml} +0 -0
  328. data/set-of-emails/maildir/bsd/{email-notes-03.eml → lhost-notes-03.eml} +0 -0
  329. data/set-of-emails/maildir/bsd/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  330. data/set-of-emails/maildir/bsd/{email-office365-02.eml → lhost-office365-02.eml} +0 -0
  331. data/set-of-emails/maildir/bsd/{email-office365-03.eml → lhost-office365-03.eml} +0 -0
  332. data/set-of-emails/maildir/bsd/{email-office365-04.eml → lhost-office365-04.eml} +0 -0
  333. data/set-of-emails/maildir/bsd/{email-office365-05.eml → lhost-office365-05.eml} +0 -0
  334. data/set-of-emails/maildir/bsd/{email-office365-06.eml → lhost-office365-06.eml} +0 -0
  335. data/set-of-emails/maildir/bsd/{email-office365-07.eml → lhost-office365-07.eml} +0 -0
  336. data/set-of-emails/maildir/bsd/{email-office365-08.eml → lhost-office365-08.eml} +0 -0
  337. data/set-of-emails/maildir/bsd/{email-office365-09.eml → lhost-office365-09.eml} +0 -0
  338. data/set-of-emails/maildir/bsd/{email-office365-10.eml → lhost-office365-10.eml} +0 -0
  339. data/set-of-emails/maildir/bsd/{email-office365-11.eml → lhost-office365-11.eml} +0 -0
  340. data/set-of-emails/maildir/bsd/{email-office365-12.eml → lhost-office365-12.eml} +0 -0
  341. data/set-of-emails/maildir/bsd/lhost-office365-13.eml +259 -0
  342. data/set-of-emails/maildir/bsd/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  343. data/set-of-emails/maildir/bsd/{email-opensmtpd-02.eml → lhost-opensmtpd-02.eml} +0 -0
  344. data/set-of-emails/maildir/bsd/{email-opensmtpd-03.eml → lhost-opensmtpd-03.eml} +0 -0
  345. data/set-of-emails/maildir/bsd/{email-opensmtpd-04.eml → lhost-opensmtpd-04.eml} +0 -0
  346. data/set-of-emails/maildir/bsd/{email-opensmtpd-05.eml → lhost-opensmtpd-05.eml} +0 -0
  347. data/set-of-emails/maildir/bsd/{email-opensmtpd-06.eml → lhost-opensmtpd-06.eml} +0 -0
  348. data/set-of-emails/maildir/bsd/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  349. data/set-of-emails/maildir/bsd/{email-outlook-02.eml → lhost-outlook-02.eml} +0 -0
  350. data/set-of-emails/maildir/bsd/{email-outlook-03.eml → lhost-outlook-03.eml} +0 -0
  351. data/set-of-emails/maildir/bsd/{email-outlook-04.eml → lhost-outlook-04.eml} +0 -0
  352. data/set-of-emails/maildir/bsd/{email-outlook-06.eml → lhost-outlook-06.eml} +0 -0
  353. data/set-of-emails/maildir/bsd/{email-outlook-07.eml → lhost-outlook-07.eml} +0 -0
  354. data/set-of-emails/maildir/bsd/{email-outlook-08.eml → lhost-outlook-08.eml} +0 -0
  355. data/set-of-emails/maildir/bsd/{email-outlook-09.eml → lhost-outlook-09.eml} +0 -0
  356. data/set-of-emails/maildir/bsd/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  357. data/set-of-emails/maildir/bsd/{email-postfix-02.eml → lhost-postfix-02.eml} +0 -0
  358. data/set-of-emails/maildir/bsd/{email-postfix-03.eml → lhost-postfix-03.eml} +0 -0
  359. data/set-of-emails/maildir/bsd/{email-postfix-04.eml → lhost-postfix-04.eml} +0 -0
  360. data/set-of-emails/maildir/bsd/{email-postfix-05.eml → lhost-postfix-05.eml} +0 -0
  361. data/set-of-emails/maildir/bsd/{email-postfix-06.eml → lhost-postfix-06.eml} +0 -0
  362. data/set-of-emails/maildir/bsd/{email-postfix-07.eml → lhost-postfix-07.eml} +0 -0
  363. data/set-of-emails/maildir/bsd/{email-postfix-08.eml → lhost-postfix-08.eml} +0 -0
  364. data/set-of-emails/maildir/bsd/{email-postfix-09.eml → lhost-postfix-09.eml} +0 -0
  365. data/set-of-emails/maildir/bsd/{email-postfix-10.eml → lhost-postfix-10.eml} +0 -0
  366. data/set-of-emails/maildir/bsd/{email-postfix-11.eml → lhost-postfix-11.eml} +0 -0
  367. data/set-of-emails/maildir/bsd/{email-postfix-13.eml → lhost-postfix-13.eml} +0 -0
  368. data/set-of-emails/maildir/bsd/{email-postfix-14.eml → lhost-postfix-14.eml} +0 -0
  369. data/set-of-emails/maildir/bsd/{email-postfix-15.eml → lhost-postfix-15.eml} +0 -0
  370. data/set-of-emails/maildir/bsd/{email-postfix-16.eml → lhost-postfix-16.eml} +0 -0
  371. data/set-of-emails/maildir/bsd/{email-postfix-17.eml → lhost-postfix-17.eml} +0 -0
  372. data/set-of-emails/maildir/bsd/{email-postfix-28.eml → lhost-postfix-28.eml} +0 -0
  373. data/set-of-emails/maildir/bsd/{email-postfix-29.eml → lhost-postfix-29.eml} +0 -0
  374. data/set-of-emails/maildir/bsd/{email-postfix-30.eml → lhost-postfix-30.eml} +0 -0
  375. data/set-of-emails/maildir/bsd/{email-postfix-31.eml → lhost-postfix-31.eml} +0 -0
  376. data/set-of-emails/maildir/bsd/{email-postfix-32.eml → lhost-postfix-32.eml} +0 -0
  377. data/set-of-emails/maildir/bsd/{email-postfix-33.eml → lhost-postfix-33.eml} +0 -0
  378. data/set-of-emails/maildir/bsd/{email-postfix-34.eml → lhost-postfix-34.eml} +0 -0
  379. data/set-of-emails/maildir/bsd/{email-postfix-35.eml → lhost-postfix-35.eml} +0 -0
  380. data/set-of-emails/maildir/bsd/{email-postfix-36.eml → lhost-postfix-36.eml} +0 -0
  381. data/set-of-emails/maildir/bsd/{email-postfix-37.eml → lhost-postfix-37.eml} +0 -0
  382. data/set-of-emails/maildir/bsd/{email-postfix-38.eml → lhost-postfix-38.eml} +1 -1
  383. data/set-of-emails/maildir/bsd/{email-postfix-39.eml → lhost-postfix-39.eml} +0 -0
  384. data/set-of-emails/maildir/bsd/{email-postfix-40.eml → lhost-postfix-40.eml} +0 -0
  385. data/set-of-emails/maildir/bsd/{email-postfix-41.eml → lhost-postfix-41.eml} +0 -0
  386. data/set-of-emails/maildir/bsd/{email-postfix-42.eml → lhost-postfix-42.eml} +0 -0
  387. data/set-of-emails/maildir/bsd/{email-postfix-43.eml → lhost-postfix-43.eml} +0 -0
  388. data/set-of-emails/maildir/bsd/{email-postfix-44.eml → lhost-postfix-44.eml} +0 -0
  389. data/set-of-emails/maildir/bsd/{email-postfix-45.eml → lhost-postfix-45.eml} +0 -0
  390. data/set-of-emails/maildir/bsd/{email-postfix-46.eml → lhost-postfix-46.eml} +0 -0
  391. data/set-of-emails/maildir/bsd/{email-postfix-47.eml → lhost-postfix-47.eml} +0 -0
  392. data/set-of-emails/maildir/bsd/{email-postfix-48.eml → lhost-postfix-48.eml} +0 -0
  393. data/set-of-emails/maildir/bsd/{email-postfix-49.eml → lhost-postfix-49.eml} +0 -0
  394. data/set-of-emails/maildir/bsd/{email-postfix-50.eml → lhost-postfix-50.eml} +0 -0
  395. data/set-of-emails/maildir/bsd/{email-postfix-51.eml → lhost-postfix-51.eml} +0 -0
  396. data/set-of-emails/maildir/bsd/{email-postfix-52.eml → lhost-postfix-52.eml} +0 -0
  397. data/set-of-emails/maildir/bsd/{email-postfix-53.eml → lhost-postfix-53.eml} +0 -0
  398. data/set-of-emails/maildir/bsd/{email-postfix-54.eml → lhost-postfix-54.eml} +0 -0
  399. data/set-of-emails/maildir/bsd/{email-postfix-55.eml → lhost-postfix-55.eml} +0 -0
  400. data/set-of-emails/maildir/bsd/{email-postfix-56.eml → lhost-postfix-56.eml} +0 -0
  401. data/set-of-emails/maildir/bsd/{email-postfix-57.eml → lhost-postfix-57.eml} +0 -0
  402. data/set-of-emails/maildir/bsd/{email-postfix-58.eml → lhost-postfix-58.eml} +0 -0
  403. data/set-of-emails/maildir/bsd/{email-postfix-59.eml → lhost-postfix-59.eml} +0 -0
  404. data/set-of-emails/maildir/bsd/{email-postfix-60.eml → lhost-postfix-60.eml} +0 -0
  405. data/set-of-emails/maildir/bsd/{email-postfix-61.eml → lhost-postfix-61.eml} +0 -0
  406. data/set-of-emails/maildir/bsd/lhost-postfix-62.eml +105 -0
  407. data/set-of-emails/maildir/bsd/lhost-postfix-63.eml +85 -0
  408. data/set-of-emails/maildir/bsd/lhost-postfix-64.eml +96 -0
  409. data/set-of-emails/maildir/bsd/lhost-postfix-65.eml +69 -0
  410. data/set-of-emails/maildir/bsd/{rfc3464-05.eml → lhost-powermta-01.eml} +19 -18
  411. data/set-of-emails/maildir/bsd/lhost-powermta-02.eml +58 -0
  412. data/set-of-emails/maildir/bsd/lhost-powermta-03.eml +71 -0
  413. data/set-of-emails/maildir/bsd/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  414. data/set-of-emails/maildir/bsd/{email-qmail-02.eml → lhost-qmail-02.eml} +0 -0
  415. data/set-of-emails/maildir/bsd/{email-qmail-03.eml → lhost-qmail-03.eml} +0 -0
  416. data/set-of-emails/maildir/bsd/{email-qmail-04.eml → lhost-qmail-04.eml} +0 -0
  417. data/set-of-emails/maildir/bsd/{email-qmail-05.eml → lhost-qmail-05.eml} +0 -0
  418. data/set-of-emails/maildir/bsd/{email-qmail-06.eml → lhost-qmail-06.eml} +0 -0
  419. data/set-of-emails/maildir/bsd/{email-qmail-07.eml → lhost-qmail-07.eml} +0 -0
  420. data/set-of-emails/maildir/bsd/{email-qmail-08.eml → lhost-qmail-08.eml} +0 -0
  421. data/set-of-emails/maildir/bsd/{email-qmail-09.eml → lhost-qmail-09.eml} +0 -0
  422. data/set-of-emails/maildir/bsd/{email-qmail-10.eml → lhost-qmail-10.eml} +0 -0
  423. data/set-of-emails/maildir/bsd/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  424. data/set-of-emails/maildir/bsd/{email-receivingses-02.eml → lhost-receivingses-02.eml} +0 -0
  425. data/set-of-emails/maildir/bsd/{email-receivingses-03.eml → lhost-receivingses-03.eml} +0 -0
  426. data/set-of-emails/maildir/bsd/{email-receivingses-04.eml → lhost-receivingses-04.eml} +0 -0
  427. data/set-of-emails/maildir/bsd/{email-receivingses-05.eml → lhost-receivingses-05.eml} +0 -0
  428. data/set-of-emails/maildir/bsd/{email-receivingses-06.eml → lhost-receivingses-06.eml} +0 -0
  429. data/set-of-emails/maildir/bsd/{email-receivingses-07.eml → lhost-receivingses-07.eml} +0 -0
  430. data/set-of-emails/maildir/bsd/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  431. data/set-of-emails/maildir/bsd/{email-sendgrid-02.eml → lhost-sendgrid-02.eml} +0 -0
  432. data/set-of-emails/maildir/bsd/{email-sendgrid-03.eml → lhost-sendgrid-03.eml} +0 -0
  433. data/set-of-emails/maildir/bsd/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  434. data/set-of-emails/maildir/bsd/{email-sendmail-02.eml → lhost-sendmail-02.eml} +0 -0
  435. data/set-of-emails/maildir/bsd/{email-sendmail-03.eml → lhost-sendmail-03.eml} +0 -0
  436. data/set-of-emails/maildir/bsd/{email-sendmail-04.eml → lhost-sendmail-04.eml} +0 -0
  437. data/set-of-emails/maildir/bsd/{email-sendmail-05.eml → lhost-sendmail-05.eml} +0 -0
  438. data/set-of-emails/maildir/bsd/{email-sendmail-06.eml → lhost-sendmail-06.eml} +0 -0
  439. data/set-of-emails/maildir/bsd/{email-sendmail-07.eml → lhost-sendmail-07.eml} +0 -0
  440. data/set-of-emails/maildir/bsd/{email-sendmail-08.eml → lhost-sendmail-08.eml} +0 -0
  441. data/set-of-emails/maildir/bsd/{email-sendmail-09.eml → lhost-sendmail-09.eml} +0 -0
  442. data/set-of-emails/maildir/bsd/{email-sendmail-10.eml → lhost-sendmail-10.eml} +0 -0
  443. data/set-of-emails/maildir/bsd/{email-sendmail-11.eml → lhost-sendmail-11.eml} +0 -0
  444. data/set-of-emails/maildir/bsd/{email-sendmail-12.eml → lhost-sendmail-12.eml} +0 -0
  445. data/set-of-emails/maildir/bsd/{email-sendmail-13.eml → lhost-sendmail-13.eml} +0 -0
  446. data/set-of-emails/maildir/bsd/{email-sendmail-14.eml → lhost-sendmail-14.eml} +0 -0
  447. data/set-of-emails/maildir/bsd/{email-sendmail-15.eml → lhost-sendmail-15.eml} +0 -0
  448. data/set-of-emails/maildir/bsd/{email-sendmail-16.eml → lhost-sendmail-16.eml} +0 -0
  449. data/set-of-emails/maildir/bsd/{email-sendmail-17.eml → lhost-sendmail-17.eml} +0 -0
  450. data/set-of-emails/maildir/bsd/{email-sendmail-18.eml → lhost-sendmail-18.eml} +0 -0
  451. data/set-of-emails/maildir/bsd/{email-sendmail-19.eml → lhost-sendmail-19.eml} +0 -0
  452. data/set-of-emails/maildir/bsd/{email-sendmail-20.eml → lhost-sendmail-20.eml} +0 -0
  453. data/set-of-emails/maildir/bsd/{email-sendmail-21.eml → lhost-sendmail-21.eml} +0 -0
  454. data/set-of-emails/maildir/bsd/{email-sendmail-22.eml → lhost-sendmail-22.eml} +0 -0
  455. data/set-of-emails/maildir/bsd/{email-sendmail-24.eml → lhost-sendmail-24.eml} +0 -0
  456. data/set-of-emails/maildir/bsd/{email-sendmail-25.eml → lhost-sendmail-25.eml} +0 -0
  457. data/set-of-emails/maildir/bsd/{email-sendmail-26.eml → lhost-sendmail-26.eml} +0 -0
  458. data/set-of-emails/maildir/bsd/{email-sendmail-27.eml → lhost-sendmail-27.eml} +0 -0
  459. data/set-of-emails/maildir/bsd/{email-sendmail-28.eml → lhost-sendmail-28.eml} +0 -0
  460. data/set-of-emails/maildir/bsd/{email-sendmail-29.eml → lhost-sendmail-29.eml} +0 -0
  461. data/set-of-emails/maildir/bsd/{email-sendmail-30.eml → lhost-sendmail-30.eml} +0 -0
  462. data/set-of-emails/maildir/bsd/{email-sendmail-31.eml → lhost-sendmail-31.eml} +0 -0
  463. data/set-of-emails/maildir/bsd/{email-sendmail-32.eml → lhost-sendmail-32.eml} +0 -0
  464. data/set-of-emails/maildir/bsd/{email-sendmail-33.eml → lhost-sendmail-33.eml} +0 -0
  465. data/set-of-emails/maildir/bsd/{email-sendmail-34.eml → lhost-sendmail-34.eml} +0 -0
  466. data/set-of-emails/maildir/bsd/{email-sendmail-35.eml → lhost-sendmail-35.eml} +0 -0
  467. data/set-of-emails/maildir/bsd/{email-sendmail-36.eml → lhost-sendmail-36.eml} +0 -0
  468. data/set-of-emails/maildir/bsd/{email-sendmail-37.eml → lhost-sendmail-37.eml} +0 -0
  469. data/set-of-emails/maildir/bsd/{email-sendmail-38.eml → lhost-sendmail-38.eml} +0 -0
  470. data/set-of-emails/maildir/bsd/{email-sendmail-39.eml → lhost-sendmail-39.eml} +0 -0
  471. data/set-of-emails/maildir/bsd/{email-sendmail-40.eml → lhost-sendmail-40.eml} +0 -0
  472. data/set-of-emails/maildir/bsd/{email-sendmail-41.eml → lhost-sendmail-41.eml} +0 -0
  473. data/set-of-emails/maildir/bsd/{email-sendmail-42.eml → lhost-sendmail-42.eml} +0 -0
  474. data/set-of-emails/maildir/bsd/{email-sendmail-43.eml → lhost-sendmail-43.eml} +0 -0
  475. data/set-of-emails/maildir/bsd/{email-sendmail-44.eml → lhost-sendmail-44.eml} +0 -0
  476. data/set-of-emails/maildir/bsd/{email-sendmail-45.eml → lhost-sendmail-45.eml} +0 -0
  477. data/set-of-emails/maildir/bsd/{email-sendmail-46.eml → lhost-sendmail-46.eml} +0 -0
  478. data/set-of-emails/maildir/bsd/{email-sendmail-47.eml → lhost-sendmail-47.eml} +0 -0
  479. data/set-of-emails/maildir/bsd/{email-sendmail-48.eml → lhost-sendmail-48.eml} +0 -0
  480. data/set-of-emails/maildir/bsd/{email-sendmail-49.eml → lhost-sendmail-49.eml} +0 -0
  481. data/set-of-emails/maildir/bsd/{email-sendmail-50.eml → lhost-sendmail-50.eml} +0 -0
  482. data/set-of-emails/maildir/bsd/{email-sendmail-51.eml → lhost-sendmail-51.eml} +0 -0
  483. data/set-of-emails/maildir/bsd/{email-sendmail-52.eml → lhost-sendmail-52.eml} +0 -0
  484. data/set-of-emails/maildir/bsd/{email-sendmail-53.eml → lhost-sendmail-53.eml} +0 -0
  485. data/set-of-emails/maildir/bsd/{email-sendmail-54.eml → lhost-sendmail-54.eml} +0 -0
  486. data/set-of-emails/maildir/bsd/{email-sendmail-55.eml → lhost-sendmail-55.eml} +0 -0
  487. data/set-of-emails/maildir/bsd/{email-sendmail-56.eml → lhost-sendmail-56.eml} +0 -0
  488. data/set-of-emails/maildir/bsd/lhost-sendmail-57.eml +59 -0
  489. data/set-of-emails/maildir/bsd/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  490. data/set-of-emails/maildir/bsd/{email-surfcontrol-02.eml → lhost-surfcontrol-02.eml} +0 -0
  491. data/set-of-emails/maildir/bsd/{email-surfcontrol-03.eml → lhost-surfcontrol-03.eml} +0 -0
  492. data/set-of-emails/maildir/bsd/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  493. data/set-of-emails/maildir/bsd/{email-v5sendmail-02.eml → lhost-v5sendmail-02.eml} +0 -0
  494. data/set-of-emails/maildir/bsd/{email-v5sendmail-03.eml → lhost-v5sendmail-03.eml} +0 -0
  495. data/set-of-emails/maildir/bsd/{email-v5sendmail-04.eml → lhost-v5sendmail-04.eml} +0 -0
  496. data/set-of-emails/maildir/bsd/{email-v5sendmail-05.eml → lhost-v5sendmail-05.eml} +0 -0
  497. data/set-of-emails/maildir/bsd/{email-v5sendmail-06.eml → lhost-v5sendmail-06.eml} +0 -0
  498. data/set-of-emails/maildir/bsd/{email-v5sendmail-07.eml → lhost-v5sendmail-07.eml} +0 -0
  499. data/set-of-emails/maildir/bsd/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  500. data/set-of-emails/maildir/bsd/{email-verizon-02.eml → lhost-verizon-02.eml} +0 -0
  501. data/set-of-emails/maildir/bsd/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  502. data/set-of-emails/maildir/bsd/{email-x1-02.eml → lhost-x1-02.eml} +0 -0
  503. data/set-of-emails/maildir/bsd/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  504. data/set-of-emails/maildir/bsd/{email-x2-02.eml → lhost-x2-02.eml} +0 -0
  505. data/set-of-emails/maildir/bsd/{email-x2-03.eml → lhost-x2-03.eml} +0 -0
  506. data/set-of-emails/maildir/bsd/{email-x2-04.eml → lhost-x2-04.eml} +0 -0
  507. data/set-of-emails/maildir/bsd/{email-x2-05.eml → lhost-x2-05.eml} +0 -0
  508. data/set-of-emails/maildir/bsd/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  509. data/set-of-emails/maildir/bsd/{email-x3-02.eml → lhost-x3-02.eml} +0 -0
  510. data/set-of-emails/maildir/bsd/{email-x3-03.eml → lhost-x3-03.eml} +0 -0
  511. data/set-of-emails/maildir/bsd/{email-x3-05.eml → lhost-x3-05.eml} +0 -0
  512. data/set-of-emails/maildir/bsd/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  513. data/set-of-emails/maildir/bsd/{email-x4-08.eml → lhost-x4-08.eml} +0 -0
  514. data/set-of-emails/maildir/bsd/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  515. data/set-of-emails/maildir/bsd/lhost-x6-01.eml +71 -0
  516. data/set-of-emails/maildir/bsd/lhost-x6-02.eml +68 -0
  517. data/set-of-emails/maildir/bsd/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  518. data/set-of-emails/maildir/bsd/{email-yahoo-02.eml → lhost-yahoo-02.eml} +0 -0
  519. data/set-of-emails/maildir/bsd/{email-yahoo-03.eml → lhost-yahoo-03.eml} +0 -0
  520. data/set-of-emails/maildir/bsd/{email-yahoo-04.eml → lhost-yahoo-04.eml} +0 -0
  521. data/set-of-emails/maildir/bsd/{email-yahoo-05.eml → lhost-yahoo-05.eml} +0 -0
  522. data/set-of-emails/maildir/bsd/{email-yahoo-06.eml → lhost-yahoo-06.eml} +0 -0
  523. data/set-of-emails/maildir/bsd/{email-yahoo-07.eml → lhost-yahoo-07.eml} +0 -0
  524. data/set-of-emails/maildir/bsd/{email-yahoo-08.eml → lhost-yahoo-08.eml} +0 -0
  525. data/set-of-emails/maildir/bsd/{email-yahoo-09.eml → lhost-yahoo-09.eml} +0 -0
  526. data/set-of-emails/maildir/bsd/{email-yahoo-10.eml → lhost-yahoo-10.eml} +0 -0
  527. data/set-of-emails/maildir/bsd/{email-yahoo-11.eml → lhost-yahoo-11.eml} +0 -0
  528. data/set-of-emails/maildir/bsd/{email-yahoo-12.eml → lhost-yahoo-12.eml} +0 -0
  529. data/set-of-emails/maildir/bsd/{email-yahoo-13.eml → lhost-yahoo-13.eml} +0 -0
  530. data/set-of-emails/maildir/bsd/{email-yahoo-14.eml → lhost-yahoo-14.eml} +0 -0
  531. data/set-of-emails/maildir/bsd/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  532. data/set-of-emails/maildir/bsd/{email-yandex-02.eml → lhost-yandex-02.eml} +0 -0
  533. data/set-of-emails/maildir/bsd/{email-yandex-03.eml → lhost-yandex-03.eml} +0 -0
  534. data/set-of-emails/maildir/bsd/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  535. data/set-of-emails/maildir/bsd/{email-zoho-02.eml → lhost-zoho-02.eml} +0 -0
  536. data/set-of-emails/maildir/bsd/{email-zoho-03.eml → lhost-zoho-03.eml} +0 -0
  537. data/set-of-emails/maildir/bsd/{email-zoho-04.eml → lhost-zoho-04.eml} +0 -0
  538. data/set-of-emails/maildir/bsd/{email-zoho-05.eml → lhost-zoho-05.eml} +0 -0
  539. data/set-of-emails/maildir/bsd/rfc3834-03.eml +26 -0
  540. data/set-of-emails/maildir/bsd/{rfc3464-41.eml → rfc3834-04.eml} +0 -0
  541. data/set-of-emails/maildir/bsd/rhost-cox-01.eml +192 -0
  542. data/set-of-emails/maildir/bsd/rhost-franceptt-04.eml +66 -0
  543. data/set-of-emails/maildir/bsd/rhost-franceptt-05.eml +96 -0
  544. data/set-of-emails/maildir/bsd/rhost-franceptt-06.eml +100 -0
  545. data/set-of-emails/maildir/bsd/rhost-franceptt-07.eml +97 -0
  546. data/set-of-emails/maildir/bsd/rhost-franceptt-08.eml +78 -0
  547. data/set-of-emails/maildir/bsd/rhost-franceptt-10.eml +79 -0
  548. data/set-of-emails/maildir/bsd/rhost-franceptt-11.eml +96 -0
  549. data/set-of-emails/maildir/bsd/rhost-iua-01.eml +70 -0
  550. data/set-of-emails/maildir/bsd/rhost-spectrum-01.eml +111 -0
  551. data/set-of-emails/maildir/dos/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  552. data/set-of-emails/maildir/dos/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  553. data/set-of-emails/maildir/dos/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  554. data/set-of-emails/maildir/dos/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  555. data/set-of-emails/maildir/dos/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  556. data/set-of-emails/maildir/dos/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  557. data/set-of-emails/maildir/dos/lhost-barracuda-01.eml +67 -0
  558. data/set-of-emails/maildir/dos/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
  559. data/set-of-emails/maildir/dos/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  560. data/set-of-emails/maildir/dos/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  561. data/set-of-emails/maildir/dos/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  562. data/set-of-emails/maildir/dos/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
  563. data/set-of-emails/maildir/dos/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
  564. data/set-of-emails/maildir/dos/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  565. data/set-of-emails/maildir/dos/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  566. data/set-of-emails/maildir/dos/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  567. data/set-of-emails/maildir/dos/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  568. data/set-of-emails/maildir/dos/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
  569. data/set-of-emails/maildir/dos/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  570. data/set-of-emails/maildir/dos/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  571. data/set-of-emails/maildir/dos/lhost-googlegroups-01.eml +116 -0
  572. data/set-of-emails/maildir/dos/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  573. data/set-of-emails/maildir/dos/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  574. data/set-of-emails/maildir/dos/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  575. data/set-of-emails/maildir/dos/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  576. data/set-of-emails/maildir/dos/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  577. data/set-of-emails/maildir/dos/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
  578. data/set-of-emails/maildir/dos/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  579. data/set-of-emails/maildir/dos/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  580. data/set-of-emails/maildir/dos/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  581. data/set-of-emails/maildir/dos/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  582. data/set-of-emails/maildir/dos/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  583. data/set-of-emails/maildir/dos/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  584. data/set-of-emails/maildir/dos/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  585. data/set-of-emails/maildir/dos/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  586. data/set-of-emails/maildir/dos/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  587. data/set-of-emails/maildir/dos/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  588. data/set-of-emails/maildir/dos/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  589. data/set-of-emails/maildir/dos/lhost-powermta-01.eml +64 -0
  590. data/set-of-emails/maildir/dos/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  591. data/set-of-emails/maildir/dos/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  592. data/set-of-emails/maildir/dos/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  593. data/set-of-emails/maildir/dos/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  594. data/set-of-emails/maildir/dos/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  595. data/set-of-emails/maildir/dos/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  596. data/set-of-emails/maildir/dos/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  597. data/set-of-emails/maildir/dos/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  598. data/set-of-emails/maildir/dos/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  599. data/set-of-emails/maildir/dos/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  600. data/set-of-emails/maildir/dos/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  601. data/set-of-emails/maildir/dos/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  602. data/set-of-emails/maildir/dos/lhost-x6-01.eml +71 -0
  603. data/set-of-emails/maildir/dos/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  604. data/set-of-emails/maildir/dos/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  605. data/set-of-emails/maildir/dos/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  606. data/set-of-emails/maildir/dos/rhost-iua-01.eml +70 -0
  607. data/set-of-emails/maildir/mac/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  608. data/set-of-emails/maildir/mac/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  609. data/set-of-emails/maildir/mac/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  610. data/set-of-emails/maildir/mac/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  611. data/set-of-emails/maildir/mac/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  612. data/set-of-emails/maildir/mac/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  613. data/set-of-emails/maildir/mac/lhost-barracuda-01.eml +1 -4
  614. data/set-of-emails/maildir/mac/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
  615. data/set-of-emails/maildir/mac/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  616. data/set-of-emails/maildir/mac/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  617. data/set-of-emails/maildir/mac/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  618. data/set-of-emails/maildir/mac/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
  619. data/set-of-emails/maildir/mac/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
  620. data/set-of-emails/maildir/mac/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  621. data/set-of-emails/maildir/mac/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  622. data/set-of-emails/maildir/mac/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  623. data/set-of-emails/maildir/mac/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  624. data/set-of-emails/maildir/mac/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
  625. data/set-of-emails/maildir/mac/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  626. data/set-of-emails/maildir/mac/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  627. data/set-of-emails/maildir/mac/lhost-googlegroups-01.eml +1 -1
  628. data/set-of-emails/maildir/mac/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  629. data/set-of-emails/maildir/mac/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  630. data/set-of-emails/maildir/mac/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  631. data/set-of-emails/maildir/mac/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  632. data/set-of-emails/maildir/mac/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  633. data/set-of-emails/maildir/mac/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
  634. data/set-of-emails/maildir/mac/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  635. data/set-of-emails/maildir/mac/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  636. data/set-of-emails/maildir/mac/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  637. data/set-of-emails/maildir/mac/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  638. data/set-of-emails/maildir/mac/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  639. data/set-of-emails/maildir/mac/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  640. data/set-of-emails/maildir/mac/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  641. data/set-of-emails/maildir/mac/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  642. data/set-of-emails/maildir/mac/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  643. data/set-of-emails/maildir/mac/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  644. data/set-of-emails/maildir/mac/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  645. data/set-of-emails/maildir/mac/lhost-powermta-01.eml +1 -4
  646. data/set-of-emails/maildir/mac/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  647. data/set-of-emails/maildir/mac/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  648. data/set-of-emails/maildir/mac/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  649. data/set-of-emails/maildir/mac/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  650. data/set-of-emails/maildir/mac/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  651. data/set-of-emails/maildir/mac/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  652. data/set-of-emails/maildir/mac/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  653. data/set-of-emails/maildir/mac/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  654. data/set-of-emails/maildir/mac/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  655. data/set-of-emails/maildir/mac/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  656. data/set-of-emails/maildir/mac/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  657. data/set-of-emails/maildir/mac/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  658. data/set-of-emails/maildir/mac/lhost-x6-01.eml +1 -3
  659. data/set-of-emails/maildir/mac/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  660. data/set-of-emails/maildir/mac/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  661. data/set-of-emails/maildir/mac/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  662. data/set-of-emails/maildir/mac/rhost-iua-01.eml +1 -4
  663. metadata +617 -584
  664. data/fig/sisimai-architecture.png +0 -0
  665. data/lib/sisimai/bite.rb +0 -37
  666. data/lib/sisimai/bite/email.rb +0 -61
  667. data/lib/sisimai/bite/email/activehunter.rb +0 -117
  668. data/lib/sisimai/bite/email/amavis.rb +0 -133
  669. data/lib/sisimai/bite/email/amazonses.rb +0 -186
  670. data/lib/sisimai/bite/email/amazonworkmail.rb +0 -170
  671. data/lib/sisimai/bite/email/aol.rb +0 -168
  672. data/lib/sisimai/bite/email/apachejames.rb +0 -158
  673. data/lib/sisimai/bite/email/bigfoot.rb +0 -162
  674. data/lib/sisimai/bite/email/biglobe.rb +0 -134
  675. data/lib/sisimai/bite/email/courier.rb +0 -181
  676. data/lib/sisimai/bite/email/domino.rb +0 -156
  677. data/lib/sisimai/bite/email/einsundeins.rb +0 -124
  678. data/lib/sisimai/bite/email/exchange2003.rb +0 -261
  679. data/lib/sisimai/bite/email/exchange2007.rb +0 -164
  680. data/lib/sisimai/bite/email/fml.rb +0 -158
  681. data/lib/sisimai/bite/email/gmx.rb +0 -152
  682. data/lib/sisimai/bite/email/gsuite.rb +0 -228
  683. data/lib/sisimai/bite/email/imailserver.rb +0 -163
  684. data/lib/sisimai/bite/email/interscanmss.rb +0 -133
  685. data/lib/sisimai/bite/email/kddi.rb +0 -146
  686. data/lib/sisimai/bite/email/mailfoundry.rb +0 -120
  687. data/lib/sisimai/bite/email/mailmarshalsmtp.rb +0 -165
  688. data/lib/sisimai/bite/email/mcafee.rb +0 -157
  689. data/lib/sisimai/bite/email/messagelabs.rb +0 -161
  690. data/lib/sisimai/bite/email/messagingserver.rb +0 -187
  691. data/lib/sisimai/bite/email/mfilter.rb +0 -152
  692. data/lib/sisimai/bite/email/notes.rb +0 -167
  693. data/lib/sisimai/bite/email/office365.rb +0 -243
  694. data/lib/sisimai/bite/email/outlook.rb +0 -173
  695. data/lib/sisimai/bite/email/postfix.rb +0 -261
  696. data/lib/sisimai/bite/email/receivingses.rb +0 -173
  697. data/lib/sisimai/bite/email/sendgrid.rb +0 -189
  698. data/lib/sisimai/bite/email/sendmail.rb +0 -247
  699. data/lib/sisimai/bite/email/surfcontrol.rb +0 -147
  700. data/lib/sisimai/bite/email/userdefined.rb +0 -115
  701. data/lib/sisimai/bite/email/v5sendmail.rb +0 -193
  702. data/lib/sisimai/bite/email/verizon.rb +0 -225
  703. data/lib/sisimai/bite/email/x1.rb +0 -114
  704. data/lib/sisimai/bite/email/x2.rb +0 -110
  705. data/lib/sisimai/bite/email/x3.rb +0 -128
  706. data/lib/sisimai/bite/email/x5.rb +0 -153
  707. data/lib/sisimai/bite/email/yahoo.rb +0 -138
  708. data/lib/sisimai/bite/email/yandex.rb +0 -161
  709. data/lib/sisimai/bite/email/zoho.rb +0 -153
  710. data/lib/sisimai/bite/json.rb +0 -36
  711. data/lib/sisimai/bite/json/amazonses.rb +0 -242
  712. data/lib/sisimai/bite/json/sendgrid.rb +0 -123
  713. data/lib/sisimai/message/email.rb +0 -477
  714. data/lib/sisimai/message/json.rb +0 -198
  715. data/lib/sisimai/order/email.rb +0 -205
  716. data/lib/sisimai/order/json.rb +0 -52
  717. data/set-of-emails/jsonobj/json-amazonses-01.json +0 -1
  718. data/set-of-emails/jsonobj/json-amazonses-02.json +0 -11
  719. data/set-of-emails/jsonobj/json-amazonses-03.json +0 -1
  720. data/set-of-emails/jsonobj/json-amazonses-04.json +0 -1
  721. data/set-of-emails/jsonobj/json-amazonses-05.json +0 -1
  722. data/set-of-emails/jsonobj/json-amazonses-06.json +0 -1
  723. data/set-of-emails/jsonobj/json-sendgrid-01.json +0 -1
  724. data/set-of-emails/jsonobj/json-sendgrid-02.json +0 -1
  725. data/set-of-emails/jsonobj/json-sendgrid-03.json +0 -1
  726. data/set-of-emails/jsonobj/json-sendgrid-04.json +0 -1
  727. data/set-of-emails/jsonobj/json-sendgrid-05.json +0 -1
  728. data/set-of-emails/jsonobj/json-sendgrid-06.json +0 -1
  729. data/set-of-emails/jsonobj/json-sendgrid-07.json +0 -1
  730. data/set-of-emails/jsonobj/json-sendgrid-08.json +0 -1
  731. data/set-of-emails/jsonobj/json-sendgrid-09.json +0 -1
  732. data/set-of-emails/jsonobj/json-sendgrid-10.json +0 -1
  733. data/set-of-emails/jsonobj/json-sendgrid-11.json +0 -1
  734. data/set-of-emails/jsonobj/json-sendgrid-12.json +0 -1
  735. data/set-of-emails/jsonobj/json-sendgrid-13.json +0 -1
  736. data/set-of-emails/jsonobj/json-sendgrid-14.json +0 -1
  737. data/set-of-emails/jsonobj/json-sendgrid-15.json +0 -1
  738. data/set-of-emails/jsonobj/json-sendgrid-16.json +0 -1
  739. data/set-of-emails/jsonobj/json-sendgrid-17.json +0 -1
@@ -0,0 +1,115 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::EinsUndEins parses a bounce email which created by
3
+ # 1&1. Methods in the module are called from only Sisimai::Message.
4
+ module EinsUndEins
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/EinsUndEins.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^---[ ]The[ ]header[ ]of[ ]the[ ]original[ ]message[ ]is[ ]following[.][ ]---|.freeze
11
+ StartingOf = {
12
+ message: ['This message was created automatically by mail delivery software'],
13
+ error: ['For the following reason:'],
14
+ }.freeze
15
+ MessagesOf = { 'mesgtoobig' => ['Mail size limit exceeded'] }.freeze
16
+
17
+ # Parse bounce messages from 1&1
18
+ # @param [Hash] mhead Message headers of a bounce email
19
+ # @param [String] mbody Message body of a bounce email
20
+ # @return [Hash] Bounce data list and message/rfc822 part
21
+ # @return [Nil] it failed to parse or the arguments are missing
22
+ def make(mhead, mbody)
23
+ return nil unless mhead['from'].start_with?('"Mail Delivery System"')
24
+ return nil unless mhead['subject'] == 'Mail delivery failed: returning message to sender'
25
+
26
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
27
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
28
+ bodyslices = emailsteak[0].split("\n")
29
+ readcursor = 0 # (Integer) Points the current cursor position
30
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
31
+ v = nil
32
+
33
+ while e = bodyslices.shift do
34
+ # Read error messages and delivery status lines from the head of the email
35
+ # to the previous line of the beginning of the original message.
36
+
37
+ if readcursor == 0
38
+ # Beginning of the bounce message or delivery status part
39
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
40
+ next
41
+ end
42
+ next if (readcursor & Indicators[:deliverystatus]) == 0
43
+ next if e.empty?
44
+
45
+ # The following address failed:
46
+ #
47
+ # general@example.eu
48
+ #
49
+ # For the following reason:
50
+ #
51
+ # Mail size limit exceeded. For explanation visit
52
+ # http://postmaster.1and1.com/en/error-messages?ip=%1s
53
+ v = dscontents[-1]
54
+
55
+ if cv = e.match(/\A([^ ]+[@][^ ]+)\z/)
56
+ # general@example.eu
57
+ if v['recipient']
58
+ # There are multiple recipient addresses in the message body.
59
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
60
+ v = dscontents[-1]
61
+ end
62
+ v['recipient'] = cv[1]
63
+ recipients += 1
64
+
65
+ elsif e.start_with?(StartingOf[:error][0])
66
+ # For the following reason:
67
+ v['diagnosis'] = e
68
+ else
69
+ if v['diagnosis']
70
+ # Get error message and append error message strings
71
+ v['diagnosis'] << ' ' << e
72
+ else
73
+ # OR the following format:
74
+ # neko@example.fr:
75
+ # SMTP error from remote server for TEXT command, host: ...
76
+ v['alterrors'] ||= ''
77
+ v['alterrors'] << ' ' << e
78
+ end
79
+ end
80
+ end
81
+ return nil unless recipients > 0
82
+
83
+ dscontents.each do |e|
84
+ e['diagnosis'] ||= ''
85
+ e['diagnosis'] = e['alterrors'] if e['diagnosis'].empty?
86
+
87
+ if cv = e['diagnosis'].match(/host:[ ]+(.+?)[ ]+.+[ ]+reason:.+/)
88
+ # SMTP error from remote server for TEXT command,
89
+ # host: smtp-in.orange.fr (193.252.22.65)
90
+ # reason: 550 5.2.0 Mail rejete. Mail rejected. ofr_506 [506]
91
+ e['rhost'] = cv[1]
92
+ e['command'] = 'DATA' if e['diagnosis'] =~ /for TEXT command/
93
+ e['spec'] = 'SMTP' if e['diagnosis'] =~ /SMTP error/
94
+ e['status'] = Sisimai::SMTP::Status.find(e['diagnosis'])
95
+ else
96
+ # For the following reason:
97
+ e['diagnosis'].gsub(/\A#{StartingOf[:error][0]}/, '')
98
+ end
99
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
100
+
101
+ MessagesOf.each_key do |r|
102
+ # Verify each regular expression of session errors
103
+ next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) }
104
+ e['reason'] = r
105
+ break
106
+ end
107
+ end
108
+
109
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
110
+ end
111
+ def description; return '1&1: https://www.1und1.de'; end
112
+ end
113
+ end
114
+ end
115
+
@@ -0,0 +1,230 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Exchange2003 parses a bounce email which created by
3
+ # Microsoft Exchange Server 2003.
4
+ # Methods in the module are called from only Sisimai::Message.
5
+ module Exchange2003
6
+ class << self
7
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/Exchange2003.pm
8
+ require 'sisimai/lhost'
9
+
10
+ Indicators = Sisimai::Lhost.INDICATORS
11
+ ReBackbone = %r|^Content-Type:[ ]message/rfc822|.freeze
12
+ StartingOf = {
13
+ message: ['Your message'],
14
+ error: ['did not reach the following recipient(s):'],
15
+ }.freeze
16
+ ErrorCodes = {
17
+ 'onhold' => [
18
+ '000B099C', # Host Unknown, Message exceeds size limit, ...
19
+ '000B09AA', # Unable to relay for, Message exceeds size limit,...
20
+ '000B09B6', # Error messages by remote MTA
21
+ ],
22
+ 'userunknown' => [
23
+ '000C05A6', # Unknown Recipient,
24
+ ],
25
+ 'systemerror' => [
26
+ '00010256', # Too many recipients.
27
+ '000D06B5', # No proxy for recipient (non-smtp mail?)
28
+ ],
29
+ 'networkerror' => [
30
+ '00120270', # Too Many Hops
31
+ ],
32
+ 'contenterror' => [
33
+ '00050311', # Conversion to Internet format failed
34
+ '000502CC', # Conversion to Internet format failed
35
+ ],
36
+ 'securityerror' => [
37
+ '000B0981', # 502 Server does not support AUTH
38
+ ],
39
+ 'filtered' => [
40
+ '000C0595', # Ambiguous Recipient
41
+ ],
42
+ }.freeze
43
+
44
+ # Parse bounce messages from Microsoft Exchange Server 2003
45
+ # @param [Hash] mhead Message headers of a bounce email
46
+ # @param [String] mbody Message body of a bounce email
47
+ # @return [Hash] Bounce data list and message/rfc822 part
48
+ # @return [Nil] it failed to parse or the arguments are missing
49
+ def make(mhead, mbody)
50
+ match = 0
51
+ tryto = []
52
+
53
+ # X-MS-TNEF-Correlator: <00000000000000000000000000000000000000@example.com>
54
+ # X-Mailer: Internet Mail Service (5.5.1960.3)
55
+ # X-MS-Embedded-Report:
56
+ match += 1 if mhead['x-ms-embedded-report']
57
+ catch :EXCHANGE_OR_NOT do
58
+ while true
59
+ throw :EXCHANGE_OR_NOT if match > 0
60
+
61
+ if mhead['x-mailer']
62
+ # X-Mailer: Microsoft Exchange Server Internet Mail Connector Version 4.0.994.63
63
+ # X-Mailer: Internet Mail Service (5.5.2232.9)
64
+ tryto = ['Internet Mail Service (', 'Microsoft Exchange Server Internet Mail Connector']
65
+ match += 1 if mhead['x-mailer'].start_with?(tryto[0], tryto[1])
66
+ throw :EXCHANGE_OR_NOT if match > 0
67
+ end
68
+
69
+ if mhead['x-mimeole']
70
+ # X-MimeOLE: Produced By Microsoft Exchange V6.5
71
+ match += 1 if mhead['x-mimeole'].start_with?('Produced By Microsoft Exchange')
72
+ throw :EXCHANGE_OR_NOT if match > 0
73
+ end
74
+
75
+ throw :EXCHANGE_OR_NOT if mhead['received'].empty?
76
+ mhead['received'].each do |e|
77
+ # Received: by ***.**.** with Internet Mail Service (5.5.2657.72)
78
+ next unless e.include?(' with Internet Mail Service (')
79
+ match += 1
80
+ throw :EXCHANGE_OR_NOT
81
+ end
82
+ break
83
+ end
84
+ end
85
+ return nil unless match > 0
86
+
87
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
88
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
89
+ bodyslices = emailsteak[0].split("\n")
90
+ readcursor = 0 # (Integer) Points the current cursor position
91
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
92
+ statuspart = false # (Boolean) Flag, true = have got delivery status part.
93
+ connvalues = 0 # (Integer) Flag, 1 if all the value of connheader have been set
94
+ connheader = {
95
+ 'to' => '', # The value of "To"
96
+ 'date' => '', # The value of "Date"
97
+ 'subject' => '', # The value of "Subject"
98
+ }
99
+ v = nil
100
+
101
+ while e = bodyslices.shift do
102
+ # Read error messages and delivery status lines from the head of the email
103
+ # to the previous line of the beginning of the original message.
104
+ if readcursor == 0
105
+ # Beginning of the bounce message or delivery status part
106
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
107
+ next
108
+ end
109
+ next if (readcursor & Indicators[:deliverystatus]) == 0
110
+ next if statuspart
111
+
112
+ if connvalues == connheader.keys.size
113
+ # did not reach the following recipient(s):
114
+ #
115
+ # kijitora@example.co.jp on Thu, 29 Apr 2007 16:51:51 -0500
116
+ # The recipient name is not recognized
117
+ # The MTS-ID of the original message is: c=jp;a= ;p=neko
118
+ # ;l=EXCHANGE000000000000000000
119
+ # MSEXCH:IMS:KIJITORA CAT:EXAMPLE:EXCHANGE 0 (000C05A6) Unknown Recipient
120
+ # mikeneko@example.co.jp on Thu, 29 Apr 2007 16:51:51 -0500
121
+ # The recipient name is not recognized
122
+ # The MTS-ID of the original message is: c=jp;a= ;p=neko
123
+ # ;l=EXCHANGE000000000000000000
124
+ # MSEXCH:IMS:KIJITORA CAT:EXAMPLE:EXCHANGE 0 (000C05A6) Unknown Recipient
125
+ v = dscontents[-1]
126
+
127
+ if cv = e.match(/\A[ \t]*([^ ]+[@][^ ]+) on[ \t]*.*\z/) ||
128
+ e.match(/\A[ \t]*.+(?:SMTP|smtp)=([^ ]+[@][^ ]+) on[ \t]*.*\z/)
129
+ # kijitora@example.co.jp on Thu, 29 Apr 2007 16:51:51 -0500
130
+ # kijitora@example.com on 4/29/99 9:19:59 AM
131
+ if v['recipient']
132
+ # There are multiple recipient addresses in the message body.
133
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
134
+ v = dscontents[-1]
135
+ end
136
+ v['recipient'] = cv[1]
137
+ v['msexch'] = false
138
+ recipients += 1
139
+
140
+ elsif cv = e.match(/\A[ \t]+(MSEXCH:.+)\z/)
141
+ # MSEXCH:IMS:KIJITORA CAT:EXAMPLE:EXCHANGE 0 (000C05A6) Unknown Recipient
142
+ v['diagnosis'] ||= ''
143
+ v['diagnosis'] << cv[1]
144
+ else
145
+ next if v['msexch']
146
+ if v['diagnosis'].to_s.start_with?('MSEXCH:')
147
+ # Continued from MEEXCH in the previous line
148
+ v['msexch'] = true
149
+ v['diagnosis'] << ' ' << e
150
+ statuspart = true
151
+ else
152
+ # Error message in the body part
153
+ v['alterrors'] ||= ''
154
+ v['alterrors'] << ' ' << e
155
+ end
156
+ end
157
+ else
158
+ # Your message
159
+ #
160
+ # To: shironeko@example.jp
161
+ # Subject: ...
162
+ # Sent: Thu, 29 Apr 2010 18:14:35 +0000
163
+ #
164
+ if cv = e.match(/\A[ \t]+To:[ \t]+(.+)\z/)
165
+ # To: shironeko@example.jp
166
+ next unless connheader['to'].empty?
167
+ connheader['to'] = cv[1]
168
+ connvalues += 1
169
+
170
+ elsif cv = e.match(/\A[ \t]+Subject:[ \t]+(.+)\z/)
171
+ # Subject: ...
172
+ next unless connheader['subject'].empty?
173
+ connheader['subject'] = cv[1]
174
+ connvalues += 1
175
+
176
+ elsif cv = e.match(%r|\A[ \t]+Sent:[ \t]+([A-Z][a-z]{2},.+[-+]\d{4})\z|) ||
177
+ e.match(%r|\A[ \t]+Sent:[ \t]+(\d+[/]\d+[/]\d+[ \t]+\d+:\d+:\d+[ \t].+)|)
178
+ # Sent: Thu, 29 Apr 2010 18:14:35 +0000
179
+ # Sent: 4/29/99 9:19:59 AM
180
+ next unless connheader['date'].empty?
181
+ connheader['date'] = cv[1]
182
+ connvalues += 1
183
+ end
184
+ end
185
+ end
186
+ return nil unless recipients > 0
187
+
188
+ dscontents.each do |e|
189
+ e.delete('msexch')
190
+ if cv = e['diagnosis'].match(/\AMSEXCH:.+[ \t]*[(]([0-9A-F]{8})[)][ \t]*(.*)\z/)
191
+ # MSEXCH:IMS:KIJITORA CAT:EXAMPLE:EXCHANGE 0 (000C05A6) Unknown Recipient
192
+ capturedcode = cv[1]
193
+ errormessage = cv[2]
194
+
195
+ ErrorCodes.each_key do |r|
196
+ # Find captured code from the error code table
197
+ next unless ErrorCodes[r].index(capturedcode)
198
+ e['reason'] = r
199
+ e['status'] = Sisimai::SMTP::Status.code(r.to_s) || ''
200
+ break
201
+ end
202
+ e['diagnosis'] = errormessage
203
+ end
204
+
205
+ unless e['reason']
206
+ # Could not detect the reason from the value of "diagnosis".
207
+ next unless e['alterrors']
208
+ next if e['alterrors'].empty?
209
+
210
+ # Copy alternative error message
211
+ e['diagnosis'] = e['alterrors'] + ' ' + e['diagnosis']
212
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
213
+ e.delete('alterrors')
214
+ end
215
+ end
216
+
217
+ if emailsteak[1].empty?
218
+ # When original message does not included in the bounce message
219
+ emailsteak[1] << ('From: ' << connheader['to'] << "\n")
220
+ emailsteak[1] << ('Date: ' << connheader['date'] << "\n")
221
+ emailsteak[1] << ('Subject: ' << connheader['subject'] << "\n")
222
+ end
223
+
224
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
225
+ end
226
+ def description; return 'Microsoft Exchange Server 2003'; end
227
+ end
228
+ end
229
+ end
230
+
@@ -0,0 +1,153 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Exchange2007 parses a bounce email which created by
3
+ # Microsoft Exchange Server 2007.
4
+ # Methods in the module are called from only Sisimai::Message.
5
+ module Exchange2007
6
+ class << self
7
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/Exchange2007.pm
8
+ require 'sisimai/lhost'
9
+
10
+ Indicators = Sisimai::Lhost.INDICATORS
11
+ ReBackbone = %r{^(?:
12
+ Original[ ]message[ ]headers: # en-US
13
+ |En-t.tes[ ]de[ ]message[ ]d'origine[ ]: # fr-FR/En-têtes de message d'origine
14
+ |Intestazioni[ ]originali[ ]del[ ]messaggio: # it-CH
15
+ )
16
+ }x.freeze
17
+ MarkingsOf = {
18
+ message: %r{\A(?:
19
+ Diagnostic[ ]information[ ]for[ ]administrators: # en-US
20
+ |Informations[ ]de[ ]diagnostic[ ]pour[ ]les[ ]administrateurs # fr-FR
21
+ |Informazioni[ ]di[ ]diagnostica[ ]per[ ]gli[ ]amministratori # it-CH
22
+ )
23
+ }x,
24
+ error: %r/ ((?:RESOLVER|QUEUE)[.][A-Za-z]+(?:[.]\w+)?);/,
25
+ rhost: %r{\A(?:
26
+ Generating[ ]server # en-US
27
+ |Serveur[ ]de[ ]g[^ ]+ration[ ] # fr-FR/Serveur de génération
28
+ |Server[ ]di[ ]generazione # it-CH
29
+ ):[ ]?(.*)
30
+ }x,
31
+ subject: %r/\A(?:Undeliverable|Non_remis_|Non[ ]recapitabile):/,
32
+ }.freeze
33
+ NDRSubject = {
34
+ 'SMTPSEND.DNS.NonExistentDomain' => 'hostunknown', # 554 5.4.4 SMTPSEND.DNS.NonExistentDomain
35
+ 'SMTPSEND.DNS.MxLoopback' => 'networkerror', # 554 5.4.4 SMTPSEND.DNS.MxLoopback
36
+ 'RESOLVER.ADR.BadPrimary' => 'systemerror', # 550 5.2.0 RESOLVER.ADR.BadPrimary
37
+ 'RESOLVER.ADR.RecipNotFound' => 'userunknown', # 550 5.1.1 RESOLVER.ADR.RecipNotFound
38
+ 'RESOLVER.ADR.ExRecipNotFound' => 'userunknown', # 550 5.1.1 RESOLVER.ADR.ExRecipNotFound
39
+ 'RESOLVER.ADR.RecipLimit' => 'toomanyconn', # 550 5.5.3 RESOLVER.ADR.RecipLimit
40
+ 'RESOLVER.ADR.InvalidInSmtp' => 'systemerror', # 550 5.1.0 RESOLVER.ADR.InvalidInSmtp
41
+ 'RESOLVER.ADR.Ambiguous' => 'systemerror', # 550 5.1.4 RESOLVER.ADR.Ambiguous, 420 4.2.0 RESOLVER.ADR.Ambiguous
42
+ 'RESOLVER.RST.AuthRequired' => 'securityerror', # 550 5.7.1 RESOLVER.RST.AuthRequired
43
+ 'RESOLVER.RST.NotAuthorized' => 'rejected', # 550 5.7.1 RESOLVER.RST.NotAuthorized
44
+ 'RESOLVER.RST.RecipSizeLimit' => 'mesgtoobig', # 550 5.2.3 RESOLVER.RST.RecipSizeLimit
45
+ 'QUEUE.Expired' => 'expired', # 550 4.4.7 QUEUE.Expired
46
+ }.freeze
47
+
48
+ # Parse bounce messages from Microsoft Exchange Server 2007
49
+ # @param [Hash] mhead Message headers of a bounce email
50
+ # @param [String] mbody Message body of a bounce email
51
+ # @return [Hash] Bounce data list and message/rfc822 part
52
+ # @return [Nil] it failed to parse or the arguments are missing
53
+ def make(mhead, mbody)
54
+ # Content-Language: en-US, fr-FR
55
+ return nil unless mhead['subject'] =~ MarkingsOf[:subject]
56
+ return nil unless mhead['content-language']
57
+ return nil unless mhead['content-language'] =~ /\A[a-z]{2}(?:[-][A-Z]{2})?\z/
58
+
59
+ # These headers exist only a bounce mail from Office365
60
+ return nil if mhead['x-ms-exchange-crosstenant-originalarrivaltime']
61
+ return nil if mhead['x-ms-exchange-crosstenant-fromentityheader']
62
+
63
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
64
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
65
+ bodyslices = emailsteak[0].split("\n")
66
+ readcursor = 0 # (Integer) Points the current cursor position
67
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
68
+ connvalues = 0 # (Integer) Flag, 1 if all the value of connheader have been set
69
+ connheader = {
70
+ 'rhost' => '', # The value of Reporting-MTA header or "Generating Server:"
71
+ }
72
+ v = nil
73
+
74
+ while e = bodyslices.shift do
75
+ # Read error messages and delivery status lines from the head of the email
76
+ # to the previous line of the beginning of the original message.
77
+ if readcursor == 0
78
+ # Beginning of the bounce message or delivery status part
79
+ readcursor |= Indicators[:deliverystatus] if e =~ MarkingsOf[:message]
80
+ next
81
+ end
82
+ next if (readcursor & Indicators[:deliverystatus]) == 0
83
+
84
+ if connvalues == connheader.keys.size
85
+ # Diagnostic information for administrators:
86
+ #
87
+ # Generating server: mta2.neko.example.jp
88
+ #
89
+ # kijitora@example.jp
90
+ # #550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
91
+ #
92
+ # Original message headers:
93
+ v = dscontents[-1]
94
+
95
+ if cv = e.match(/\A([^ @]+[@][^ @]+)\z/)
96
+ # kijitora@example.jp
97
+ if v['recipient']
98
+ # There are multiple recipient addresses in the message body.
99
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
100
+ v = dscontents[-1]
101
+ end
102
+ v['recipient'] = cv[1]
103
+ v['diagnosis'] = ''
104
+ recipients += 1
105
+
106
+ elsif cv = e.match(/([45]\d{2})[ ]([45][.]\d[.]\d+)[ ].+\z/)
107
+ # #550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
108
+ # #550 5.2.3 RESOLVER.RST.RecipSizeLimit; message too large for this recipient ##
109
+ # Remote Server returned '550 5.1.1 RESOLVER.ADR.RecipNotFound; not found'
110
+ # 3/09/2016 8:05:56 PM - Remote Server at mydomain.com (10.1.1.3) returned '550 4.4.7 QUEUE.Expired; message expired'
111
+ v['replycode'] = cv[1]
112
+ v['status'] = cv[2]
113
+ v['diagnosis'] = e
114
+ else
115
+ # Continued line of error messages
116
+ next if v['diagnosis'].to_s.empty?
117
+ next unless v['diagnosis'].end_with?('=')
118
+ v['diagnosis'] = v['diagnosis'].chomp('=')
119
+ v['diagnosis'] << e
120
+ end
121
+ else
122
+ # Diagnostic information for administrators:
123
+ #
124
+ # Generating server: mta22.neko.example.org
125
+ next unless cv = e.match(MarkingsOf[:rhost])
126
+ next unless connheader['rhost'].empty?
127
+ connheader['rhost'] = cv[1]
128
+ connvalues += 1
129
+ end
130
+ end
131
+ return nil unless recipients > 0
132
+
133
+ dscontents.each do |e|
134
+ if cv = e['diagnosis'].match(MarkingsOf[:error])
135
+ # #550 5.1.1 RESOLVER.ADR.RecipNotFound; not found ##
136
+ f = cv[1]
137
+ NDRSubject.each_key do |r|
138
+ # Try to match with error subject strings
139
+ next unless f == r
140
+ e['reason'] = NDRSubject[r]
141
+ break
142
+ end
143
+ end
144
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
145
+ end
146
+
147
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
148
+ end
149
+ def description; return 'Microsoft Exchange Server 2007'; end
150
+ end
151
+ end
152
+ end
153
+