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,92 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X3 parses a bounce email which created by Unknown MTA #3.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X3
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X3.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Content-Type:[ ]message/rfc822|.freeze
11
+ StartingOf = { message: [' This is an automatically generated Delivery Status Notification.'] }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #3
14
+ # @param [Hash] mhead Message headers of a bounce email
15
+ # @param [String] mbody Message body of a bounce email
16
+ # @return [Hash] Bounce data list and message/rfc822 part
17
+ # @return [Nil] it failed to parse or the arguments are missing
18
+ def make(mhead, mbody)
19
+ return nil unless mhead['subject'].start_with?('Delivery status notification')
20
+ return nil unless mhead['from'].start_with?('Mail Delivery System')
21
+
22
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
23
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
24
+ bodyslices = emailsteak[0].split("\n")
25
+ readcursor = 0 # (Integer) Points the current cursor position
26
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
27
+ v = nil
28
+
29
+ while e = bodyslices.shift do
30
+ # Read error messages and delivery status lines from the head of the email
31
+ # to the previous line of the beginning of the original message.
32
+ if readcursor == 0
33
+ # Beginning of the bounce message or delivery status part
34
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
35
+ next
36
+ end
37
+ next if (readcursor & Indicators[:deliverystatus]) == 0
38
+ next if e.empty?
39
+
40
+ # ============================================================================
41
+ # This is an automatically generated Delivery Status Notification.
42
+ #
43
+ # Delivery to the following recipients failed permanently:
44
+ #
45
+ # * kijitora@example.com
46
+ #
47
+ #
48
+ # ============================================================================
49
+ # Technical details:
50
+ #
51
+ # SMTP:RCPT host 192.0.2.8: 553 5.3.0 <kijitora@example.com>... No such user here
52
+ #
53
+ #
54
+ # ============================================================================
55
+ v = dscontents[-1]
56
+
57
+ if cv = e.match(/\A[ \t]+[*][ ]([^ ]+[@][^ ]+)\z/)
58
+ # * kijitora@example.com
59
+ if v['recipient']
60
+ # There are multiple recipient addresses in the message body.
61
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
62
+ v = dscontents[-1]
63
+ end
64
+ v['recipient'] = cv[1]
65
+ recipients += 1
66
+ else
67
+ # Detect error message
68
+ if cv = e.match(/\ASMTP:([^ ]+)[ ](.+)\z/)
69
+ # SMTP:RCPT host 192.0.2.8: 553 5.3.0 <kijitora@example.com>... No such user here
70
+ v['command'] = cv[1].upcase
71
+ v['diagnosis'] = cv[2]
72
+
73
+ elsif cv = e.match(/\ARouting: (.+)/)
74
+ # Routing: Could not find a gateway for kijitora@example.co.jp
75
+ v['diagnosis'] = cv[1]
76
+ end
77
+ end
78
+ end
79
+ return nil unless recipients > 0
80
+
81
+ dscontents.each do |e|
82
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
83
+ e['status'] = Sisimai::SMTP::Status.find(e['diagnosis']) || ''
84
+ end
85
+
86
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
87
+ end
88
+ def description; return 'Unknown MTA #3'; end
89
+ end
90
+ end
91
+ end
92
+
@@ -1,17 +1,15 @@
1
- module Sisimai::Bite::Email
2
- # Sisimai::Bite::Email::X4 parses a bounce email which created by some qmail
3
- # clone. Methods in the module are called from only Sisimai::Message.
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X4 parses a bounce email which created by some qmail clone.
3
+ # Methods in the module are called from only Sisimai::Message.
4
4
  module X4
5
5
  class << self
6
- # Imported from p5-Sisimail/lib/Sisimai/Bite/Email/X4.pm
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X4.pm
7
7
  # MTA module for qmail clones
8
- require 'sisimai/bite/email'
8
+ require 'sisimai/lhost'
9
9
 
10
- Indicators = Sisimai::Bite::Email.INDICATORS
11
- StartingOf = {
12
- error: ['Remote host said:'],
13
- rfc822: ['--- Below this line is a copy of the message.', '--- Original message follows.'],
14
- }.freeze
10
+ Indicators = Sisimai::Lhost.INDICATORS
11
+ ReBackbone = %r/^---[ ](?:Below this line is a copy of the message|Original message follows)[.]/.freeze
12
+ StartingOf = { error: ['Remote host said:'] }.freeze
15
13
  MarkingsOf = {
16
14
  # qmail-remote.c:248| if (code >= 500) {
17
15
  # qmail-remote.c:249| out("h"); outhost(); out(" does not like recipient.\n");
@@ -21,7 +19,7 @@ module Sisimai::Bite::Email
21
19
  # Characters: K,Z,D in qmail-qmqpc.c, qmail-send.c, qmail-rspawn.c
22
20
  # K = success, Z = temporary error, D = permanent error
23
21
  message: %r{\A(?>
24
- He/Her[ ]is[ ]not.+[ ]user
22
+ He/Her[ ]is[ ]not[ ].+[ ]user
25
23
  |Hi[.][ ].+[ ]unable[ ]to[ ]deliver[ ]your[ ]message[ ]to[ ]
26
24
  the[ ]following[ ]addresses
27
25
  |Su[ ]mensaje[ ]no[ ]pudo[ ]ser[ ]entregado
@@ -43,29 +41,29 @@ module Sisimai::Bite::Email
43
41
  ReSMTP = {
44
42
  # Error text regular expressions which defined in qmail-remote.c
45
43
  # qmail-remote.c:225| if (smtpcode() != 220) quit("ZConnected to "," but greeting failed");
46
- 'conn' => %r/(?:Error:)?Connected to .+ but greeting failed[.]/,
44
+ 'conn' => %r/(?:Error:)?Connected to [^ ]+ but greeting failed[.]/,
47
45
  # qmail-remote.c:231| if (smtpcode() != 250) quit("ZConnected to "," but my name was rejected");
48
- 'ehlo' => %r/(?:Error:)?Connected to .+ but my name was rejected[.]/,
46
+ 'ehlo' => %r/(?:Error:)?Connected to [^ ]+ but my name was rejected[.]/,
49
47
  # qmail-remote.c:238| if (code >= 500) quit("DConnected to "," but sender was rejected");
50
48
  # reason = rejected
51
- 'mail' => %r/(?:Error:)?Connected to .+ but sender was rejected[.]/,
49
+ 'mail' => %r/(?:Error:)?Connected to [^ ]+ but sender was rejected[.]/,
52
50
  # qmail-remote.c:249| out("h"); outhost(); out(" does not like recipient.\n");
53
51
  # qmail-remote.c:253| out("s"); outhost(); out(" does not like recipient.\n");
54
52
  # reason = userunknown
55
- 'rcpt' => %r/(?:Error:)?.+ does not like recipient[.]/,
53
+ 'rcpt' => %r/(?:Error:)?[^ ]+ does not like recipient[.]/,
56
54
  # qmail-remote.c:265| if (code >= 500) quit("D"," failed on DATA command");
57
55
  # qmail-remote.c:266| if (code >= 400) quit("Z"," failed on DATA command");
58
56
  # qmail-remote.c:271| if (code >= 500) quit("D"," failed after I sent the message");
59
57
  # qmail-remote.c:272| if (code >= 400) quit("Z"," failed after I sent the message");
60
58
  'data' => %r{(?:
61
- (?:Error:)?.+[ ]failed[ ]on[ ]DATA[ ]command[.]
62
- |(?:Error:)?.+[ ]failed[ ]after[ ]I[ ]sent[ ]the[ ]message[.]
59
+ (?:Error:)?[^ ]+[ ]failed[ ]on[ ]DATA[ ]command[.]
60
+ |(?:Error:)?[^ ]+[ ]failed[ ]after[ ]I[ ]sent[ ]the[ ]message[.]
63
61
  )
64
62
  }x,
65
63
  }.freeze
66
64
  # qmail-remote.c:261| if (!flagbother) quit("DGiving up on ","");
67
65
  ReHost = %r{(?:
68
- Giving[ ]up[ ]on[ ](.+[0-9a-zA-Z])[.]?\z
66
+ Giving[ ]up[ ]on[ ]([^ ]+[0-9a-zA-Z])[.]?\z
69
67
  |Connected[ ]to[ ]([-0-9a-zA-Z.]+[0-9a-zA-Z])[ ]
70
68
  |remote[ ]host[ ]([-0-9a-zA-Z.]+[0-9a-zA-Z])[ ]said:
71
69
  )
@@ -119,24 +117,14 @@ module Sisimai::Bite::Email
119
117
  ],
120
118
  }.freeze
121
119
 
122
- def description; return 'Unknown MTA #4'; end
123
- def smtpagent; return Sisimai::Bite.smtpagent(self); end
124
- def headerlist; return []; end
125
-
126
120
  # Parse bounce messages from Unknown MTA #4
127
- # @param [Hash] mhead Message headers of a bounce email
128
- # @options mhead [String] from From header
129
- # @options mhead [String] date Date header
130
- # @options mhead [String] subject Subject header
131
- # @options mhead [Array] received Received headers
132
- # @options mhead [String] others Other required headers
133
- # @param [String] mbody Message body of a bounce email
134
- # @return [Hash, Nil] Bounce data list and message/rfc822
135
- # part or nil if it failed to parse or
136
- # the arguments are missing
137
- def scan(mhead, mbody)
121
+ # @param [Hash] mhead Message headers of a bounce email
122
+ # @param [String] mbody Message body of a bounce email
123
+ # @return [Hash] Bounce data list and message/rfc822 part
124
+ # @return [Nil] it failed to parse or the arguments are missing
125
+ def make(mhead, mbody)
138
126
  # Pre process email headers and the body part of the message which generated
139
- # by qmail, see http://cr.yp.to/qmail.html
127
+ # by qmail, see https://cr.yp.to/qmail.html
140
128
  # e.g.) Received: (qmail 12345 invoked for bounce); 29 Apr 2009 12:34:56 -0000
141
129
  # Subject: failure notice
142
130
  tryto = %r/\A[(]qmail[ ]+\d+[ ]+invoked[ ]+for[ ]+bounce[)]/
@@ -145,77 +133,55 @@ module Sisimai::Bite::Email
145
133
  match += 1 if mhead['received'].any? { |a| a =~ tryto }
146
134
  return nil unless match > 0
147
135
 
148
- dscontents = [Sisimai::Bite.DELIVERYSTATUS]
149
- hasdivided = mbody.split("\n")
150
- rfc822list = [] # (Array) Each line in message/rfc822 part string
151
- blanklines = 0 # (Integer) The number of blank lines
136
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
137
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
138
+ bodyslices = emailsteak[0].split("\n")
152
139
  readcursor = 0 # (Integer) Points the current cursor position
153
140
  recipients = 0 # (Integer) The number of 'Final-Recipient' header
154
141
  v = nil
155
142
 
156
- while e = hasdivided.shift do
143
+ while e = bodyslices.shift do
144
+ # Read error messages and delivery status lines from the head of the email
145
+ # to the previous line of the beginning of the original message.
157
146
  if readcursor == 0
158
147
  # Beginning of the bounce message or delivery status part
159
- if e =~ MarkingsOf[:message]
160
- readcursor |= Indicators[:deliverystatus]
161
- next
162
- end
148
+ readcursor |= Indicators[:deliverystatus] if e =~ MarkingsOf[:message]
149
+ next
163
150
  end
151
+ next if (readcursor & Indicators[:deliverystatus]) == 0
152
+ next if e.empty?
164
153
 
165
- if (readcursor & Indicators[:'message-rfc822']) == 0
166
- # Beginning of the original message part
167
- if e.start_with?(StartingOf[:rfc822][0], StartingOf[:rfc822][1])
168
- readcursor |= Indicators[:'message-rfc822']
169
- next
170
- end
171
- end
172
-
173
- if readcursor & Indicators[:'message-rfc822'] > 0
174
- # Inside of the original message part
175
- if e.empty?
176
- blanklines += 1
177
- break if blanklines > 1
178
- next
179
- end
180
- rfc822list << e
181
- else
182
- # Error message part
183
- next if (readcursor & Indicators[:deliverystatus]) == 0
184
- next if e.empty?
154
+ # <kijitora@example.jp>:
155
+ # 192.0.2.153 does not like recipient.
156
+ # Remote host said: 550 5.1.1 <kijitora@example.jp>... User Unknown
157
+ # Giving up on 192.0.2.153.
158
+ v = dscontents[-1]
185
159
 
160
+ if cv = e.match(/\A(?:To[ ]*:)?[<](.+[@].+)[>]:[ ]*\z/)
186
161
  # <kijitora@example.jp>:
187
- # 192.0.2.153 does not like recipient.
188
- # Remote host said: 550 5.1.1 <kijitora@example.jp>... User Unknown
189
- # Giving up on 192.0.2.153.
190
- v = dscontents[-1]
191
-
192
- if cv = e.match(/\A(?:To[ ]*:)?[<](.+[@].+)[>]:[ ]*\z/)
193
- # <kijitora@example.jp>:
194
- if v['recipient']
195
- # There are multiple recipient addresses in the message body.
196
- dscontents << Sisimai::Bite.DELIVERYSTATUS
197
- v = dscontents[-1]
198
- end
199
- v['recipient'] = cv[1]
200
- recipients += 1
162
+ if v['recipient']
163
+ # There are multiple recipient addresses in the message body.
164
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
165
+ v = dscontents[-1]
166
+ end
167
+ v['recipient'] = cv[1]
168
+ recipients += 1
201
169
 
202
- elsif dscontents.size == recipients
203
- # Append error message
204
- next if e.empty?
205
- v['diagnosis'] ||= ''
206
- v['diagnosis'] << e + ' '
207
- v['alterrors'] = e if e.start_with?(StartingOf[:error][0])
170
+ elsif dscontents.size == recipients
171
+ # Append error message
172
+ next if e.empty?
173
+ v['diagnosis'] ||= ''
174
+ v['diagnosis'] << e + ' '
175
+ v['alterrors'] = e if e.start_with?(StartingOf[:error][0])
208
176
 
209
- next if v['rhost']
210
- next unless cv = e.match(ReHost)
211
- v['rhost'] = cv[1]
212
- end
177
+ next if v['rhost']
178
+ next unless cv = e.match(ReHost)
179
+ v['rhost'] = cv[1]
213
180
  end
214
181
  end
215
182
  return nil unless recipients > 0
216
183
 
217
184
  dscontents.each do |e|
218
- e['agent'] = self.smtpagent
219
185
  e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
220
186
 
221
187
  unless e['command']
@@ -277,13 +243,11 @@ module Sisimai::Bite::Email
277
243
  end
278
244
  end
279
245
  end
280
- e.each_key { |a| e[a] ||= '' }
281
246
  end
282
247
 
283
- rfc822part = Sisimai::RFC5322.weedout(rfc822list)
284
- return { 'ds' => dscontents, 'rfc822' => rfc822part }
248
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
285
249
  end
286
-
250
+ def description; return 'Unknown MTA #4'; end
287
251
  end
288
252
  end
289
253
  end
@@ -0,0 +1,114 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X5 parses a bounce email which created by Unknown MTA #5.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X5
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X5.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Content-Type:[ ]message/rfc822|.freeze
11
+ StartingOf = { message: ['Content-Type: message/delivery-status'] }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #5
14
+ # @param [Hash] mhead Message headers of a bounce email
15
+ # @param [String] mbody Message body of a bounce email
16
+ # @return [Hash] Bounce data list and message/rfc822 part
17
+ # @return [Nil] it failed to parse or the arguments are missing
18
+ def make(mhead, mbody)
19
+ match = 0
20
+ match += 1 if mhead['to'].to_s.include?('NotificationRecipients')
21
+ if mhead['from'].include?('TWFpbCBEZWxpdmVyeSBTdWJzeXN0ZW0')
22
+ # From: "=?iso-2022-jp?B?TWFpbCBEZWxpdmVyeSBTdWJzeXN0ZW0=?=" <...>
23
+ # Mail Delivery Subsystem
24
+ mhead['from'].split(' ').each do |f|
25
+ # Check each element of From: header
26
+ next unless Sisimai::MIME.is_mimeencoded(f)
27
+ match += 1 if Sisimai::MIME.mimedecode([f]).include?('Mail Delivery Subsystem')
28
+ break
29
+ end
30
+ end
31
+
32
+ if Sisimai::MIME.is_mimeencoded(mhead['subject'])
33
+ # Subject: =?iso-2022-jp?B?UmV0dXJuZWQgbWFpbDogVXNlciB1bmtub3du?=
34
+ plain = Sisimai::MIME.mimedecode([mhead['subject']])
35
+ match += 1 if plain.include?('Mail Delivery Subsystem')
36
+ end
37
+ return nil if match < 2
38
+
39
+ require 'sisimai/rfc1894'
40
+ fieldtable = Sisimai::RFC1894.FIELDTABLE
41
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
42
+ readslices = ['']
43
+ readcursor = 0 # (Integer) Points the current cursor position
44
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
45
+ v = nil
46
+
47
+ # Pick the second message/rfc822 part because the format of email-x5-*.eml is nested structure
48
+ prefillets = mbody.split(ReBackbone, 2)
49
+ prefillets[1].sub!(/\A.+?\n\n/s, '')
50
+ emailsteak = Sisimai::RFC5322.fillet(prefillets[1], ReBackbone)
51
+ bodyslices = emailsteak[0].split("\n")
52
+
53
+ while e = bodyslices.shift do
54
+ # Read error messages and delivery status lines from the head of the email
55
+ # to the previous line of the beginning of the original message.
56
+ readslices << e # Save the current line for the next loop
57
+
58
+ if readcursor == 0
59
+ # Beginning of the bounce message or message/delivery-status part
60
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
61
+ next
62
+ end
63
+ next if (readcursor & Indicators[:deliverystatus]) == 0
64
+ next if e.empty?
65
+
66
+ v = dscontents[-1]
67
+ if f = Sisimai::RFC1894.match(e)
68
+ # "e" matched with any field defined in RFC3464
69
+ next unless o = Sisimai::RFC1894.field(e)
70
+ v = dscontents[-1]
71
+
72
+ if o[-1] == 'addr'
73
+ # Final-Recipient: rfc822; kijitora@example.jp
74
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
75
+ if o[0] == 'final-recipient'
76
+ # Final-Recipient: rfc822; kijitora@example.jp
77
+ if v['recipient']
78
+ # There are multiple recipient addresses in the message body.
79
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
80
+ v = dscontents[-1]
81
+ end
82
+ v['recipient'] = o[2]
83
+ recipients += 1
84
+ else
85
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
86
+ v['alias'] = o[2]
87
+ end
88
+ elsif o[-1] == 'code'
89
+ # Diagnostic-Code: SMTP; 550 5.1.1 <userunknown@example.jp>... User Unknown
90
+ v['spec'] = o[1]
91
+ v['diagnosis'] = o[2]
92
+ else
93
+ # Other DSN fields defined in RFC3464
94
+ next unless fieldtable[o[0]]
95
+ v[fieldtable[o[0]]] = o[2]
96
+ end
97
+ else
98
+ # Continued line of the value of Diagnostic-Code field
99
+ next unless readslices[-2].start_with?('Diagnostic-Code:')
100
+ next unless cv = e.match(/\A[ \t]+(.+)\z/)
101
+ v['diagnosis'] << ' ' << cv[1]
102
+ readslices[-1] = 'Diagnostic-Code: ' << e
103
+ end
104
+ end
105
+ return nil unless recipients > 0
106
+
107
+ dscontents.each { |e| e['diagnosis'] ||= Sisimai::String.sweep(e['diagnosis']) }
108
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
109
+ end
110
+ def description; return 'Unknown MTA #5'; end
111
+ end
112
+ end
113
+ end
114
+
@@ -0,0 +1,74 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X6 parses a bounce email which created by Unknown MTA #6.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X6
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X6.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r/^The attachment contains the original mail headers.+$/.freeze
11
+ MarkingsOf = { message: %r/\A\d+[ ]*error[(]s[)]:/ }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #6
14
+ # @param [Hash] mhead Message headers of a bounce email
15
+ # @param [String] mbody Message body of a bounce email
16
+ # @return [Hash] Bounce data list and message/rfc822 part
17
+ # @return [Nil] it failed to parse or the arguments are missing
18
+ # @since v4.25.6
19
+ def make(mhead, mbody)
20
+ return nil unless mhead['subject'].start_with?('There was an error sending your mail')
21
+
22
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
23
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
24
+ bodyslices = emailsteak[0].split("\n")
25
+ readcursor = 0 # (Integer) Points the current cursor position
26
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
27
+ v = nil
28
+
29
+ while e = bodyslices.shift do
30
+ # Read error messages and delivery status lines from the head of the email
31
+ # to the previous line of the beginning of the original message.
32
+ if readcursor == 0
33
+ # Beginning of the bounce message or delivery status part
34
+ readcursor |= Indicators[:deliverystatus] if e =~ MarkingsOf[:message]
35
+ next
36
+ end
37
+ next if (readcursor & Indicators[:deliverystatus]) == 0
38
+ next if e.empty?
39
+
40
+ # 1 error(s):
41
+ #
42
+ # SMTP Server <mta2.example.jp> rejected recipient <kijitora@examplejp>
43
+ # (Error following RCPT command). It responded as follows: [550 5.1.1 User unknown]v = dscontents[-1]
44
+ v = dscontents[-1]
45
+ if cv = e.match(/<([^ @]+[@][^ @]+)>/) || e.match(/errors:[ ]*([^ ]+[@][^ ]+)/)
46
+ # SMTP Server <mta2.example.jp> rejected recipient <kijitora@examplejp>
47
+ # The following recipients returned permanent errors: neko@example.jp.
48
+ if v['recipient']
49
+ # There are multiple recipient addresses in the message body.
50
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
51
+ v = dscontents[-1]
52
+ end
53
+ v['recipient'] = Sisimai::Address.s3s4(cv[1])
54
+ v['diagnosis'] = e
55
+ recipients += 1
56
+ end
57
+ end
58
+ return nil unless recipients > 0
59
+
60
+ dscontents.each do |e|
61
+ if cv = e['diagnosis'].match(/\b(HELO|EHLO|MAIL|RCPT|DATA)\b/)
62
+ # ...(Error following RCPT command).
63
+ e['command'] = cv[1]
64
+ end
65
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
66
+ end
67
+
68
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
69
+ end
70
+ def description; return 'Unknown MTA #6'; end
71
+ end
72
+ end
73
+ end
74
+