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,120 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::PowerMTA parses a bounce email which created by
3
+ # amavsid-new. Methods in the module are called from only Sisimai::Message.
4
+ module PowerMTA
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/PowerMTA.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Content-Type:[ ]text/rfc822-headers|.freeze
11
+ StartingOf = { message: ['Hello, this is the mail server on '] }.freeze
12
+ Categories = {
13
+ 'bad-domain' => 'hostunknown',
14
+ 'bad-mailbox' => 'userunknown',
15
+ 'inactive-mailbox' => 'disabled',
16
+ 'message-expired' => 'expired',
17
+ 'no-answer-from-host' => 'networkerror',
18
+ 'policy-related' => 'policyviolation',
19
+ 'quota-issues' => 'mailboxfull',
20
+ 'routing-errors' => 'systemerror',
21
+ 'spam-related' => 'spamdetected',
22
+ }.freeze
23
+
24
+ # Parse bounce messages from PowerMTA
25
+ # @param [Hash] mhead Message headers of a bounce email
26
+ # @param [String] mbody Message body of a bounce email
27
+ # @return [Hash] Bounce data list and message/rfc822 part
28
+ # @return [Nil] it failed to parse or the arguments are missing
29
+ # @since v4.25.6
30
+ def make(mhead, mbody)
31
+ return nil unless mhead['subject'].to_s.start_with?('Delivery report')
32
+
33
+ require 'sisimai/rfc1894'
34
+ fieldtable = Sisimai::RFC1894.FIELDTABLE
35
+ permessage = {} # (Hash) Store values of each Per-Message field
36
+
37
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
38
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
39
+ bodyslices = emailsteak[0].split("\n")
40
+ readcursor = 0 # (Integer) Points the current cursor position
41
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
42
+ v = nil
43
+
44
+ while e = bodyslices.shift do
45
+ # Read error messages and delivery status lines from the head of the email
46
+ # to the previous line of the beginning of the original message.
47
+ if readcursor == 0
48
+ # Beginning of the bounce message or message/delivery-status part
49
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
50
+ next
51
+ end
52
+ next if (readcursor & Indicators[:deliverystatus]) == 0
53
+ next if e.empty?
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
+ # Hello, this is the mail server on neko2.example.org.
90
+ #
91
+ # I am sending you this message to inform you on the delivery status of a
92
+ # message you previously sent. Immediately below you will find a list of
93
+ # the affected recipients; also attached is a Delivery Status Notification
94
+ # (DSN) report in standard format, as well as the headers of the original
95
+ # message.
96
+ #
97
+ # <kijitora@example.jp> delivery failed; will not continue trying
98
+ #
99
+ if cv = e.match(/\AX-PowerMTA-BounceCategory:[ ]*(.+)\z/)
100
+ # X-PowerMTA-BounceCategory: bad-mailbox
101
+ v['category'] = cv[1]
102
+ end
103
+ end
104
+ end
105
+ return nil unless recipients > 0
106
+
107
+ dscontents.each do |e|
108
+ # Set default values if each value is empty.
109
+ permessage.each_key { |a| e[a] ||= permessage[a] || '' }
110
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'].to_s.tr("\n", ' '))
111
+ e['reason'] = Categories[e['category']] || ''
112
+ end
113
+
114
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
115
+ end
116
+ def description; return 'PowerMTA: https://www.sparkpost.com/powermta/'; end
117
+ end
118
+ end
119
+ end
120
+
@@ -1,12 +1,13 @@
1
- module Sisimai::Bite::Email
2
- # Sisimai::Bite::Email::Qmail parses a bounce email which created by qmail.
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Qmail parses a bounce email which created by qmail.
3
3
  # Methods in the module are called from only Sisimai::Message.
4
4
  module Qmail
5
5
  class << self
6
- # Imported from p5-Sisimail/lib/Sisimai/Bite/Email/qmail.pm
7
- require 'sisimai/bite/email'
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/qmail.pm
7
+ require 'sisimai/lhost'
8
8
 
9
- Indicators = Sisimai::Bite::Email.INDICATORS
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^--- Below this line is a copy of the message[.]|.freeze
10
11
  StartingOf = {
11
12
  # qmail-remote.c:248| if (code >= 500) {
12
13
  # qmail-remote.c:249| out("h"); outhost(); out(" does not like recipient.\n");
@@ -16,36 +17,35 @@ module Sisimai::Bite::Email
16
17
  # Characters: K,Z,D in qmail-qmqpc.c, qmail-send.c, qmail-rspawn.c
17
18
  # K = success, Z = temporary error, D = permanent error
18
19
  message: ['Hi. This is the qmail'],
19
- rfc822: ['--- Below this line is a copy of the message.'],
20
20
  error: ['Remote host said:'],
21
21
  }.freeze
22
22
 
23
23
  ReSMTP = {
24
24
  # Error text regular expressions which defined in qmail-remote.c
25
25
  # qmail-remote.c:225| if (smtpcode() != 220) quit("ZConnected to "," but greeting failed");
26
- 'conn' => %r/(?:Error:)?Connected to .+ but greeting failed[.]/,
26
+ 'conn' => %r/(?:Error:)?Connected to [^ ]+ but greeting failed[.]/,
27
27
  # qmail-remote.c:231| if (smtpcode() != 250) quit("ZConnected to "," but my name was rejected");
28
- 'ehlo' => %r/(?:Error:)?Connected to .+ but my name was rejected[.]/,
28
+ 'ehlo' => %r/(?:Error:)?Connected to [^ ]+ but my name was rejected[.]/,
29
29
  # qmail-remote.c:238| if (code >= 500) quit("DConnected to "," but sender was rejected");
30
30
  # reason = rejected
31
- 'mail' => %r/(?:Error:)?Connected to .+ but sender was rejected[.]/,
31
+ 'mail' => %r/(?:Error:)?Connected to [^ ]+ but sender was rejected[.]/,
32
32
  # qmail-remote.c:249| out("h"); outhost(); out(" does not like recipient.\n");
33
33
  # qmail-remote.c:253| out("s"); outhost(); out(" does not like recipient.\n");
34
34
  # reason = userunknown
35
- 'rcpt' => %r/(?:Error:)?.+ does not like recipient[.]/,
35
+ 'rcpt' => %r/(?:Error:)?[^ ]+ does not like recipient[.]/,
36
36
  # qmail-remote.c:265| if (code >= 500) quit("D"," failed on DATA command");
37
37
  # qmail-remote.c:266| if (code >= 400) quit("Z"," failed on DATA command");
38
38
  # qmail-remote.c:271| if (code >= 500) quit("D"," failed after I sent the message");
39
39
  # qmail-remote.c:272| if (code >= 400) quit("Z"," failed after I sent the message");
40
40
  'data' => %r{(?:
41
- (?:Error:)?.+[ ]failed[ ]on[ ]DATA[ ]command[.]
42
- |(?:Error:)?.+[ ]failed[ ]after[ ]I[ ]sent[ ]the[ ]message[.]
41
+ (?:Error:)?[^ ]+[ ]failed[ ]on[ ]DATA[ ]command[.]
42
+ |(?:Error:)?[^ ]+[ ]failed[ ]after[ ]I[ ]sent[ ]the[ ]message[.]
43
43
  )
44
44
  }x,
45
45
  }.freeze
46
46
  # qmail-remote.c:261| if (!flagbother) quit("DGiving up on ","");
47
47
  ReHost = %r{(?:
48
- Giving[ ]up[ ]on[ ](.+[0-9a-zA-Z])[.]?\z
48
+ Giving[ ]up[ ]on[ ]([^ ]+[0-9a-zA-Z])[.]?\z
49
49
  |Connected[ ]to[ ]([-0-9a-zA-Z.]+[0-9a-zA-Z])[ ]
50
50
  |remote[ ]host[ ]([-0-9a-zA-Z.]+[0-9a-zA-Z])[ ]said:
51
51
  )
@@ -99,24 +99,14 @@ module Sisimai::Bite::Email
99
99
  ],
100
100
  }.freeze
101
101
 
102
- def description; return 'qmail'; end
103
- def smtpagent; return 'Email::qmail'; end
104
- def headerlist; return []; end
105
-
106
102
  # Parse bounce messages from qmail
107
- # @param [Hash] mhead Message headers of a bounce email
108
- # @options mhead [String] from From header
109
- # @options mhead [String] date Date header
110
- # @options mhead [String] subject Subject header
111
- # @options mhead [Array] received Received headers
112
- # @options mhead [String] others Other required headers
113
- # @param [String] mbody Message body of a bounce email
114
- # @return [Hash, Nil] Bounce data list and message/rfc822
115
- # part or nil if it failed to parse or
116
- # the arguments are missing
117
- def scan(mhead, mbody)
103
+ # @param [Hash] mhead Message headers of a bounce email
104
+ # @param [String] mbody Message body of a bounce email
105
+ # @return [Hash] Bounce data list and message/rfc822 part
106
+ # @return [Nil] it failed to parse or the arguments are missing
107
+ def make(mhead, mbody)
118
108
  # Pre process email headers and the body part of the message which generated
119
- # by qmail, see http://cr.yp.to/qmail.html
109
+ # by qmail, see https://cr.yp.to/qmail.html
120
110
  # e.g.) Received: (qmail 12345 invoked for bounce); 29 Apr 2009 12:34:56 -0000
121
111
  # Subject: failure notice
122
112
  tryto = /\A[(]qmail[ ]+\d+[ ]+invoked[ ]+(?:for[ ]+bounce|from[ ]+network)[)]/
@@ -125,77 +115,56 @@ module Sisimai::Bite::Email
125
115
  match += 1 if mhead['received'].any? { |a| a =~ tryto }
126
116
  return nil unless match > 0
127
117
 
128
- dscontents = [Sisimai::Bite.DELIVERYSTATUS]
129
- hasdivided = mbody.split("\n")
130
- rfc822list = [] # (Array) Each line in message/rfc822 part string
131
- blanklines = 0 # (Integer) The number of blank lines
118
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
119
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
120
+ bodyslices = emailsteak[0].split("\n")
132
121
  readcursor = 0 # (Integer) Points the current cursor position
133
122
  recipients = 0 # (Integer) The number of 'Final-Recipient' header
134
123
  v = nil
135
124
 
136
- while e = hasdivided.shift do
125
+ while e = bodyslices.shift do
126
+ # Read error messages and delivery status lines from the head of the email
127
+ # to the previous line of the beginning of the original message.
137
128
  if readcursor == 0
138
129
  # Beginning of the bounce message or delivery status part
139
- if e.start_with?(StartingOf[:message][0])
140
- readcursor |= Indicators[:deliverystatus]
141
- next
142
- end
143
- end
144
-
145
- if (readcursor & Indicators[:'message-rfc822']) == 0
146
- # Beginning of the original message part
147
- if e == StartingOf[:rfc822][0]
148
- readcursor |= Indicators[:'message-rfc822']
149
- next
150
- end
130
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
131
+ next
151
132
  end
133
+ next if (readcursor & Indicators[:deliverystatus]) == 0
134
+ next if e.empty?
152
135
 
153
- if readcursor & Indicators[:'message-rfc822'] > 0
154
- # Inside of the original message part
155
- if e.empty?
156
- blanklines += 1
157
- break if blanklines > 1
158
- next
159
- end
160
- rfc822list << e
161
- else
162
- # Error message part
163
- next if (readcursor & Indicators[:deliverystatus]) == 0
164
- next if e.empty?
136
+ # <kijitora@example.jp>:
137
+ # 192.0.2.153 does not like recipient.
138
+ # Remote host said: 550 5.1.1 <kijitora@example.jp>... User Unknown
139
+ # Giving up on 192.0.2.153.
140
+ v = dscontents[-1]
165
141
 
142
+ if cv = e.match(/\A(?:To[ ]*:)?[<](.+[@].+)[>]:[ \t]*\z/)
166
143
  # <kijitora@example.jp>:
167
- # 192.0.2.153 does not like recipient.
168
- # Remote host said: 550 5.1.1 <kijitora@example.jp>... User Unknown
169
- # Giving up on 192.0.2.153.
170
- v = dscontents[-1]
171
-
172
- if cv = e.match(/\A(?:To[ ]*:)?[<](.+[@].+)[>]:[ \t]*\z/)
173
- # <kijitora@example.jp>:
174
- if v['recipient']
175
- # There are multiple recipient addresses in the message body.
176
- dscontents << Sisimai::Bite.DELIVERYSTATUS
177
- v = dscontents[-1]
178
- end
179
- v['recipient'] = cv[1]
180
- recipients += 1
144
+ if v['recipient']
145
+ # There are multiple recipient addresses in the message body.
146
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
147
+ v = dscontents[-1]
148
+ end
149
+ v['recipient'] = cv[1]
150
+ recipients += 1
181
151
 
182
- elsif dscontents.size == recipients
183
- # Append error message
184
- next if e.empty?
185
- v['diagnosis'] ||= ''
186
- v['diagnosis'] << e + ' '
187
- v['alterrors'] = e if e.start_with?(StartingOf[:error][0])
152
+ elsif dscontents.size == recipients
153
+ # Append error message
154
+ next if e.empty?
155
+ v['diagnosis'] ||= ''
156
+ v['diagnosis'] << e + ' '
157
+ v['alterrors'] = e if e.start_with?(StartingOf[:error][0])
188
158
 
189
- next if v['rhost']
190
- next unless cv = e.match(ReHost)
191
- v['rhost'] = cv[1]
192
- end
159
+ next if v['rhost']
160
+ next unless cv = e.match(ReHost)
161
+ v['rhost'] = cv[1]
193
162
  end
194
163
  end
195
164
  return nil unless recipients > 0
196
165
 
197
166
  dscontents.each do |e|
198
- e['agent'] = self.smtpagent
167
+ e['agent'] = 'qmail'
199
168
  e['diagnosis'] = Sisimai::String.sweep(e['diagnosis']) || ''
200
169
 
201
170
  unless e['command']
@@ -259,13 +228,11 @@ module Sisimai::Bite::Email
259
228
  end
260
229
 
261
230
  e['status'] = Sisimai::SMTP::Status.find(e['diagnosis']) || ''
262
- e.each_key { |a| e[a] ||= '' }
263
231
  end
264
232
 
265
- rfc822part = Sisimai::RFC5322.weedout(rfc822list)
266
- return { 'ds' => dscontents, 'rfc822' => rfc822part }
233
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
267
234
  end
268
-
235
+ def description; return 'qmail'; end
269
236
  end
270
237
  end
271
238
  end
@@ -0,0 +1,132 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::ReceivingSES parses a bounce email which created
3
+ # by Amazon Simple Email Service. Methods in the module are called from
4
+ # only Sisimai::Message.
5
+ module ReceivingSES
6
+ class << self
7
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/ReceivingSES.pm
8
+ require 'sisimai/lhost'
9
+
10
+ # https://aws.amazon.com/ses/
11
+ Indicators = Sisimai::Lhost.INDICATORS
12
+ ReBackbone = %r|^content-type:[ ]text/rfc822-headers|.freeze
13
+ StartingOf = { message: ['This message could not be delivered.'] }.freeze
14
+ MessagesOf = {
15
+ # The followings are error messages in Rule sets/*/Actions/Template
16
+ 'filtered' => ['Mailbox does not exist'],
17
+ 'mesgtoobig' => ['Message too large'],
18
+ 'mailboxfull' => ['Mailbox full'],
19
+ 'contenterror' => ['Message content rejected'],
20
+ }.freeze
21
+
22
+ # Parse bounce messages from Amazon SES/Receiving
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
+ # X-SES-Outgoing: 2015.10.01-54.240.27.7
29
+ # Feedback-ID: 1.us-west-2.HX6/J9OVlHTadQhEu1+wdF9DBj6n6Pa9sW5Y/0pSOi8=:AmazonSES
30
+ return nil unless mhead['x-ses-outgoing']
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
+ readslices = ['']
40
+ readcursor = 0 # (Integer) Points the current cursor position
41
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
42
+ v = nil
43
+
44
+ while e = bodyslices.shift do
45
+ # Read error messages and delivery status lines from the head of the email
46
+ # to the previous line of the beginning of the original message.
47
+ readslices << e # Save the current line for the next loop
48
+
49
+ if readcursor == 0
50
+ # Beginning of the bounce message or message/delivery-status part
51
+ readcursor |= Indicators[:deliverystatus] if e == StartingOf[:message][0]
52
+ next
53
+ end
54
+ next if (readcursor & Indicators[:deliverystatus]) == 0
55
+ next if e.empty?
56
+
57
+ if f = Sisimai::RFC1894.match(e)
58
+ # "e" matched with any field defined in RFC3464
59
+ next unless o = Sisimai::RFC1894.field(e)
60
+ v = dscontents[-1]
61
+
62
+ if o[-1] == 'addr'
63
+ # Final-Recipient: rfc822; kijitora@example.jp
64
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
65
+ if o[0] == 'final-recipient'
66
+ # Final-Recipient: rfc822; kijitora@example.jp
67
+ if v['recipient']
68
+ # There are multiple recipient addresses in the message body.
69
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
70
+ v = dscontents[-1]
71
+ end
72
+ v['recipient'] = o[2]
73
+ recipients += 1
74
+ else
75
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
76
+ v['alias'] = o[2]
77
+ end
78
+ elsif o[-1] == 'code'
79
+ # Diagnostic-Code: SMTP; 550 5.1.1 <userunknown@example.jp>... User Unknown
80
+ v['spec'] = o[1]
81
+ v['diagnosis'] = o[2]
82
+ else
83
+ # Other DSN fields defined in RFC3464
84
+ next unless fieldtable[o[0]]
85
+ v[fieldtable[o[0]]] = o[2]
86
+
87
+ next unless f == 1
88
+ permessage[fieldtable[o[0]]] = o[2]
89
+ end
90
+ else
91
+ # Continued line of the value of Diagnostic-Code field
92
+ next unless readslices[-2].start_with?('Diagnostic-Code:')
93
+ next unless cv = e.match(/\A[ \t]+(.+)\z/)
94
+ v['diagnosis'] << ' ' << cv[1]
95
+ readslices[-1] = 'Diagnostic-Code: ' << e
96
+ end
97
+ end
98
+ return nil unless recipients > 0
99
+
100
+ dscontents.each do |e|
101
+ # Set default values if each value is empty.
102
+ e['lhost'] ||= permessage['rhost']
103
+ permessage.each_key { |a| e[a] ||= permessage[a] || '' }
104
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'].tr("\n", ' '))
105
+
106
+ if e['status'].to_s.start_with?('5.0.0', '5.1.0', '4.0.0', '4.1.0')
107
+ # Get other D.S.N. value from the error message
108
+ errormessage = e['diagnosis']
109
+
110
+ if cv = e['diagnosis'].match(/["'](\d[.]\d[.]\d.+)['"]/)
111
+ # 5.1.0 - Unknown address error 550-'5.7.1 ...
112
+ errormessage = cv[1]
113
+ end
114
+ e['status'] = Sisimai::SMTP::Status.find(errormessage) || e['status']
115
+ end
116
+
117
+ MessagesOf.each_key do |r|
118
+ # Verify each regular expression of session errors
119
+ next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) }
120
+ e['reason'] = r
121
+ break
122
+ end
123
+ e['reason'] ||= Sisimai::SMTP::Status.name(e['status']) || ''
124
+ end
125
+
126
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
127
+ end
128
+ def description; return 'Amazon SES(Receiving): https://aws.amazon.com/ses/'; end
129
+ end
130
+ end
131
+ end
132
+