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,114 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::GMX parses a bounce email which created by GMX.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module GMX
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/GMX.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 = { message: ['This message was created automatically by mail delivery software'] }.freeze
12
+ MessagesOf = { 'expired' => ['delivery retry timeout exceeded'] }.freeze
13
+
14
+ # Parse bounce messages from GMX
15
+ # @param [Hash] mhead Message headers of a bounce email
16
+ # @param [String] mbody Message body of a bounce email
17
+ # @return [Hash] Bounce data list and message/rfc822 part
18
+ # @return [Nil] it failed to parse or the arguments are missing
19
+ def make(mhead, mbody)
20
+ # Envelope-To: <kijitora@mail.example.com>
21
+ # X-GMX-Antispam: 0 (Mail was not recognized as spam); Detail=V3;
22
+ # X-GMX-Antivirus: 0 (no virus found)
23
+ # X-UI-Out-Filterresults: unknown:0;
24
+ return nil unless mhead['x-gmx-antispam']
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
+ if readcursor == 0
37
+ # Beginning of the bounce message or delivery status part
38
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
39
+ next
40
+ end
41
+ next if (readcursor & Indicators[:deliverystatus]) == 0
42
+ next if e.empty?
43
+
44
+ # This message was created automatically by mail delivery software.
45
+ #
46
+ # A message that you sent could not be delivered to one or more of
47
+ # its recipients. This is a permanent error. The following address
48
+ # failed:
49
+ #
50
+ # "shironeko@example.jp":
51
+ # SMTP error from remote server after RCPT command:
52
+ # host: mx.example.jp
53
+ # 5.1.1 <shironeko@example.jp>... User Unknown
54
+ v = dscontents[-1]
55
+
56
+ if cv = e.match(/\A["]([^ ]+[@][^ ]+)["]:\z/) || e.match(/\A[<]([^ ]+[@][^ ]+)[>]\z/)
57
+ # "shironeko@example.jp":
58
+ # ---- OR ----
59
+ # <kijitora@6jo.example.co.jp>
60
+ #
61
+ # Reason:
62
+ # delivery retry timeout exceeded
63
+ if v['recipient']
64
+ # There are multiple recipient addresses in the message body.
65
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
66
+ v = dscontents[-1]
67
+ end
68
+ v['recipient'] = cv[1]
69
+ recipients += 1
70
+
71
+ elsif cv = e.match(/\ASMTP error .+ ([A-Z]{4}) command:\z/)
72
+ # SMTP error from remote server after RCPT command:
73
+ v['command'] = cv[1]
74
+
75
+ elsif cv = e.match(/\Ahost:[ \t]*(.+)\z/)
76
+ # host: mx.example.jp
77
+ v['rhost'] = cv[1]
78
+ else
79
+ # Get error message
80
+ if e =~ /\b[45][.]\d[.]\d\b/ || e =~ /[<][^ ]+[@][^ ]+[>]/ || e =~ /\b[45]\d{2}\b/
81
+ v['diagnosis'] ||= e
82
+ else
83
+ next if e.empty?
84
+ if e.start_with?('Reason:')
85
+ # Reason:
86
+ # delivery retry timeout exceeded
87
+ v['diagnosis'] = e
88
+
89
+ elsif v['diagnosis'] == 'Reason:'
90
+ v['diagnosis'] = e
91
+ end
92
+ end
93
+ end
94
+ end
95
+ return nil unless recipients > 0
96
+
97
+ dscontents.each do |e|
98
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'].tr("\n", ' '))
99
+
100
+ MessagesOf.each_key do |r|
101
+ # Verify each regular expression of session errors
102
+ next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) }
103
+ e['reason'] = r
104
+ break
105
+ end
106
+ end
107
+
108
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
109
+ end
110
+ def description; return 'GMX: https://www.gmx.net'; end
111
+ end
112
+ end
113
+ end
114
+
@@ -0,0 +1,77 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::GoogleGroups parses a bounce email which created by Google
3
+ # Groups. Methods in the module are called from only Sisimai::Message.
4
+ module GoogleGroups
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/GoogleGroups.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r/^-----[ ]Original[ ]message[ ]-----$/.freeze
11
+
12
+ # Parse bounce messages from Google Groups
13
+ # @param [Hash] mhead Message headers of a bounce email
14
+ # @param [String] mbody Message body of a bounce email
15
+ # @return [Hash] Bounce data list and message/rfc822 part
16
+ # @return [Nil] it failed to parse or the arguments are missing
17
+ # @since v4.25.6
18
+ def make(mhead, mbody)
19
+ return nil unless mhead['from'].end_with?('<mailer-daemon@googlemail.com>')
20
+ return nil unless mhead['subject'].start_with?('Delivery Status Notification')
21
+ return nil unless mhead['x-failed-recipients']
22
+ return nil unless mhead['x-failed-recipients'].include?('@googlegroups.com')
23
+
24
+ # Hello kijitora@libsisimai.org,
25
+ #
26
+ # We're writing to let you know that the group you tried to contact (group-name)
27
+ # may not exist, or you may not have permission to post messages to the group.
28
+ # A few more details on why you weren't able to post:
29
+ #
30
+ # * You might have spelled or formatted the group name incorrectly.
31
+ # * The owner of the group may have removed this group.
32
+ # * You may need to join the group before receiving permission to post.
33
+ # * This group may not be open to posting.
34
+ #
35
+ # If you have questions related to this or any other Google Group,
36
+ # visit the Help Center at https://groups.google.com/support/.
37
+ #
38
+ # Thanks,
39
+ #
40
+ # Google Groups
41
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
42
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
43
+ recordwide = { 'rhost' => '', 'reason' => '', 'diagnosis' => '' }
44
+ recipients = 0
45
+ v = dscontents[-1]
46
+
47
+ # * You might have spelled or formatted the group name incorrectly.
48
+ # * The owner of the group may have removed this group.
49
+ # * You may need to join the group before receiving permission to post.
50
+ # * This group may not be open to posting.
51
+ entiremesg = emailsteak[0].split(/\n\n/, 5).slice(0, 4).join(' ').tr("\n", ' ');
52
+ recordwide['diagnosis'] = Sisimai::String.sweep(entiremesg)
53
+ recordwide['reason'] = emailsteak[0].scan(/^[ ]?[*][ ]?/).size == 4 ? 'rejected' : 'onhold'
54
+ recordwide['rhost'] = Sisimai::RFC5322.received(mhead['received'][0]).shift
55
+
56
+ mhead['x-failed-recipients'].split(',').each do |e|
57
+ # X-Failed-Recipients: neko@example.jp, nyaan@example.org, ...
58
+ next unless e.end_with?('@googlegroups.com')
59
+ next unless Sisimai::RFC5322.is_emailaddress(e)
60
+
61
+ if v['recipient']
62
+ # There are multiple recipient addresses in the message body.
63
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
64
+ v = dscontents[-1]
65
+ end
66
+ v['recipient'] = Sisimai::Address.s3s4(e)
67
+ recipients += 1
68
+ recordwide.each_key { |r| v[r] = recordwide[r] }
69
+ end
70
+ return nil unless recipients > 0
71
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
72
+ end
73
+ def description; return 'Google Groups: https://groups.google.com'; end
74
+ end
75
+ end
76
+ end
77
+
@@ -0,0 +1,196 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::GSuite parses a bounce email which created by G Suite.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module GSuite
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/GSuite.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r<^Content-Type:[ ](?:message/rfc822|text/rfc822-headers)>.freeze
11
+ MarkingsOf = {
12
+ message: %r/\A[*][*][ ].+[ ][*][*]\z/,
13
+ error: %r/\AThe[ ]response([ ]from[ ]the[ ]remote[ ]server)?[ ]was:\z/,
14
+ html: %r{\AContent-Type:[ ]*text/html;[ ]*charset=['"]?(?:UTF|utf)[-]8['"]?\z},
15
+ }.freeze
16
+ MessagesOf = {
17
+ 'userunknown' => ["because the address couldn't be found. Check for typos or unnecessary spaces and try again."],
18
+ 'notaccept' => ['Null MX'],
19
+ 'networkerror' => [' had no relevant answers.', ' responded with code NXDOMAIN'],
20
+ }.freeze
21
+
22
+ # Parse bounce messages from G Suite (Transfer from G Suite to a destinaion host)
23
+ # @param [Hash] mhead Message headers of a bounce email
24
+ # @param [String] mbody Message body of a bounce email
25
+ # @return [Hash] Bounce data list and message/rfc822 part
26
+ # @return [Nil] it failed to parse or the arguments are missing
27
+ def make(mhead, mbody)
28
+ return nil unless mhead['from'].end_with?('<mailer-daemon@googlemail.com>')
29
+ return nil unless mhead['subject'].start_with?('Delivery Status Notification')
30
+ return nil unless mhead['x-gm-message-state']
31
+
32
+ require 'sisimai/rfc1894'
33
+ fieldtable = Sisimai::RFC1894.FIELDTABLE
34
+ permessage = {} # (Hash) Store values of each Per-Message field
35
+
36
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
37
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
38
+ bodyslices = emailsteak[0].split("\n")
39
+ readcursor = 0 # (Integer) Points the current cursor position
40
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
41
+ endoferror = false # (Integer) Flag for a blank line after error messages
42
+ anotherset = {} # (Hash) Another error information
43
+ emptylines = 0 # (Integer) The number of empty lines
44
+ v = nil
45
+
46
+ while e = bodyslices.shift do
47
+ # Read error messages and delivery status lines from the head of the email
48
+ # to the previous line of the beginning of the original message.
49
+ if readcursor == 0
50
+ # Beginning of the bounce message or message/delivery-status part
51
+ readcursor |= Indicators[:deliverystatus] if e =~ MarkingsOf[:message]
52
+ end
53
+ next if (readcursor & Indicators[:deliverystatus]) == 0
54
+
55
+ if f = Sisimai::RFC1894.match(e)
56
+ # "e" matched with any field defined in RFC3464
57
+ next unless o = Sisimai::RFC1894.field(e)
58
+ v = dscontents[-1]
59
+
60
+ if o[-1] == 'addr'
61
+ # Final-Recipient: rfc822; kijitora@example.jp
62
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
63
+ if o[0] == 'final-recipient'
64
+ # Final-Recipient: rfc822; kijitora@example.jp
65
+ if v['recipient']
66
+ # There are multiple recipient addresses in the message body.
67
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
68
+ v = dscontents[-1]
69
+ end
70
+ v['recipient'] = o[2]
71
+ recipients += 1
72
+ else
73
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
74
+ v['alias'] = o[2]
75
+ end
76
+ elsif o[-1] == 'code'
77
+ # Diagnostic-Code: SMTP; 550 5.1.1 <userunknown@example.jp>... User Unknown
78
+ v['spec'] = o[1]
79
+ v['diagnosis'] = o[2]
80
+ else
81
+ # Other DSN fields defined in RFC3464
82
+ next unless fieldtable[o[0]]
83
+ v[fieldtable[o[0]]] = o[2]
84
+
85
+ next unless f == 1
86
+ permessage[fieldtable[o[0]]] = o[2]
87
+ end
88
+ else
89
+ # The line does not begin with a DSN field defined in RFC3464
90
+ # Append error messages continued from the previous line
91
+ if endoferror == false && v && ! v['diagnosis'].to_s.empty?
92
+ endoferror ||= true if e.empty?
93
+
94
+ next if endoferror
95
+ next unless e.start_with?(' ')
96
+ v['diagnosis'] << e
97
+
98
+ elsif e =~ MarkingsOf[:error]
99
+ # Detect SMTP session error or connection error
100
+ # The response from the remote server was:
101
+ anotherset['diagnosis'] << e
102
+ else
103
+ # ** Address not found **
104
+ #
105
+ # Your message wasn't delivered to * because the address couldn't be found.
106
+ # Check for typos or unnecessary spaces and try again.
107
+ #
108
+ # The response from the remote server was:
109
+ # 550 #5.1.0 Address rejected.
110
+ next if e =~ MarkingsOf[:html]
111
+
112
+ if anotherset['diagnosis']
113
+ # Continued error messages from the previous line like
114
+ # "550 #5.1.0 Address rejected."
115
+ next if e =~ /\AContent-Type:/
116
+ next if emptylines > 5
117
+ if e.empty?
118
+ # Count and next()
119
+ emptylines += 1
120
+ next
121
+ end
122
+ anotherset['diagnosis'] << ' ' << e
123
+ else
124
+ # ** Address not found **
125
+ #
126
+ # Your message wasn't delivered to * because the address couldn't be found.
127
+ # Check for typos or unnecessary spaces and try again.
128
+ next if e.empty?
129
+ next unless e =~ MarkingsOf[:message]
130
+ anotherset['diagnosis'] = e
131
+ end
132
+ end
133
+ end
134
+ end
135
+ return nil unless recipients > 0
136
+
137
+ dscontents.each do |e|
138
+ # Set default values if each value is empty.
139
+ e['lhost'] ||= permessage['rhost']
140
+ permessage.each_key { |a| e[a] ||= permessage[a] || '' }
141
+
142
+ if anotherset['diagnosis']
143
+ # Copy alternative error message
144
+ e['diagnosis'] = anotherset['diagnosis'] unless e['diagnosis']
145
+
146
+ if e['diagnosis'] =~ /\A\d+\z/
147
+ e['diagnosis'] = anotherset['diagnosis']
148
+ else
149
+ # More detailed error message is in "anotherset"
150
+ as = nil # status
151
+ ar = nil # replycode
152
+
153
+ e['status'] ||= ''
154
+ e['replycode'] ||= ''
155
+
156
+ if e['status'] == '' || e['status'].start_with?('4.0.0', '5.0.0')
157
+ # Check the value of D.S.N. in anotherset
158
+ as = Sisimai::SMTP::Status.find(anotherset['diagnosis'])
159
+ if as && as[-3, 3] != '0.0'
160
+ # The D.S.N. is neither an empty nor *.0.0
161
+ e['status'] = as
162
+ end
163
+ end
164
+
165
+ if e['replycode'].empty? || e['replycode'].start_with?('400', '500')
166
+ # Check the value of SMTP reply code in anotherset
167
+ ar = Sisimai::SMTP::Reply.find(anotherset['diagnosis'])
168
+ if ar && ar[-2, 2].to_i != 0
169
+ # The SMTP reply code is neither an empty nor *00
170
+ e['replycode'] = ar
171
+ end
172
+ end
173
+
174
+ if (as || ar) && (anotherset['diagnosis'].size > e['diagnosis'].size)
175
+ # Update the error message in e['diagnosis']
176
+ e['diagnosis'] = anotherset['diagnosis']
177
+ end
178
+ end
179
+ end
180
+
181
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
182
+ MessagesOf.each_key do |r|
183
+ # Guess an reason of the bounce
184
+ next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) }
185
+ e['reason'] = r
186
+ break
187
+ end
188
+ end
189
+
190
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
191
+ end
192
+ def description; return 'G Suite: https://gsuite.google.com'; end
193
+ end
194
+ end
195
+ end
196
+
@@ -0,0 +1,118 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::IMailServer parses a bounce email which created by
3
+ # Ipswitch IMail Server.
4
+ # Methods in the module are called from only Sisimai::Message.
5
+ module IMailServer
6
+ class << self
7
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/IMailServer.pm
8
+ require 'sisimai/lhost'
9
+
10
+ ReBackbone = %r|^Original[ ]message[ ]follows[.]|.freeze
11
+ StartingOf = { error: ['Body of message generated response:'] }.freeze
12
+
13
+ ReSMTP = {
14
+ 'conn' => %r/(?:SMTP connection failed,|Unexpected connection response from server:)/,
15
+ 'ehlo' => %r|Unexpected response to EHLO/HELO:|,
16
+ 'mail' => %r|Server response to MAIL FROM:|,
17
+ 'rcpt' => %r|Additional RCPT TO generated following response:|,
18
+ 'data' => %r|DATA command generated response:|,
19
+ }.freeze
20
+ ReFailures = {
21
+ 'hostunknown' => %r/Unknown host/,
22
+ 'userunknown' => %r/\A(?:Unknown user|Invalid final delivery userid)/,
23
+ 'mailboxfull' => %r/\AUser mailbox exceeds allowed size/,
24
+ 'securityerror' => %r/\ARequested action not taken: virus detected/,
25
+ 'undefined' => %r/\Aundeliverable to /,
26
+ 'expired' => %r/\ADelivery failed \d+ attempts/,
27
+ }.freeze
28
+
29
+ # Parse bounce messages from IMailServer
30
+ # @param [Hash] mhead Message headers of a bounce email
31
+ # @param [String] mbody Message body of a bounce email
32
+ # @return [Hash] Bounce data list and message/rfc822 part
33
+ # @return [Nil] it failed to parse or the arguments are missing
34
+ def make(mhead, mbody)
35
+ # X-Mailer: <SMTP32 v8.22>
36
+ match = 0
37
+ match += 1 if mhead['subject'] =~ /\AUndeliverable Mail[ ]*\z/
38
+ match += 1 if mhead['x-mailer'].to_s.start_with?('<SMTP32 v')
39
+ return nil unless match > 0
40
+
41
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
42
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
43
+ bodyslices = emailsteak[0].split("\n")
44
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
45
+ v = nil
46
+
47
+ while e = bodyslices.shift do
48
+ # Read error messages and delivery status lines from the head of the email
49
+ # to the previous line of the beginning of the original message.
50
+
51
+ # Unknown user: kijitora@example.com
52
+ #
53
+ # Original message follows.
54
+ v = dscontents[-1]
55
+
56
+ if cv = e.match(/\A([^ ]+)[ ](.+)[:][ \t]*([^ ]+[@][^ ]+)/)
57
+ # Unknown user: kijitora@example.com
58
+ if v['recipient']
59
+ # There are multiple recipient addresses in the message body.
60
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
61
+ v = dscontents[-1]
62
+ end
63
+ v['diagnosis'] = cv[1] + ' ' + cv[2]
64
+ v['recipient'] = cv[3]
65
+ recipients += 1
66
+
67
+ elsif cv = e.match(/\Aundeliverable[ ]+to[ ]+(.+)\z/)
68
+ # undeliverable to kijitora@example.com
69
+ if v['recipient']
70
+ # There are multiple recipient addresses in the message body.
71
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
72
+ v = dscontents[-1]
73
+ end
74
+ v['recipient'] = cv[1]
75
+ recipients += 1
76
+ else
77
+ # Other error message text
78
+ v['alterrors'] << ' ' << e if v['alterrors']
79
+ v['alterrors'] = e if e.include?(StartingOf[:error][0])
80
+ end
81
+ end
82
+ return nil unless recipients > 0
83
+
84
+ dscontents.each do |e|
85
+ unless e['alterrors'].to_s.empty?
86
+ # Copy alternative error message
87
+ e['diagnosis'] = if e['diagnosis']
88
+ e['alterrors'] + ' ' + e['diagnosis']
89
+ else
90
+ e['alterrors']
91
+ end
92
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
93
+ e.delete('alterrors')
94
+ end
95
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
96
+
97
+ ReSMTP.each_key do |r|
98
+ # Detect SMTP command from the message
99
+ next unless e['diagnosis'] =~ ReSMTP[r]
100
+ e['command'] = r.upcase
101
+ break
102
+ end
103
+
104
+ ReFailures.each_key do |r|
105
+ # Verify each regular expression of session errors
106
+ next unless e['diagnosis'] =~ ReFailures[r]
107
+ e['reason'] = r
108
+ break
109
+ end
110
+ end
111
+
112
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
113
+ end
114
+ def description; return 'IPSWITCH IMail Server'; end
115
+ end
116
+ end
117
+ end
118
+