sisimai 4.25.3 → 4.25.8

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sisimai might be problematic. Click here for more details.

Files changed (731) hide show
  1. checksums.yaml +5 -5
  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 +195 -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 +19 -73
  14. data/lib/sisimai/address.rb +13 -17
  15. data/lib/sisimai/arf.rb +26 -32
  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 +136 -175
  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 +54 -92
  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 +47 -80
  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 +48 -84
  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 +7 -13
  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/norelaying.rb +1 -1
  85. data/lib/sisimai/reason/rejected.rb +1 -0
  86. data/lib/sisimai/reason/userunknown.rb +13 -6
  87. data/lib/sisimai/reason/virusdetected.rb +1 -0
  88. data/lib/sisimai/rfc1894.rb +3 -3
  89. data/lib/sisimai/rfc3464.rb +49 -67
  90. data/lib/sisimai/rfc3834.rb +14 -26
  91. data/lib/sisimai/rfc5322.rb +21 -33
  92. data/lib/sisimai/rhost.rb +10 -12
  93. data/lib/sisimai/rhost/cox.rb +112 -0
  94. data/lib/sisimai/rhost/exchangeonline.rb +26 -23
  95. data/lib/sisimai/rhost/franceptt.rb +120 -24
  96. data/lib/sisimai/rhost/godaddy.rb +1 -1
  97. data/lib/sisimai/rhost/iua.rb +39 -0
  98. data/lib/sisimai/rhost/spectrum.rb +73 -0
  99. data/lib/sisimai/smtp.rb +0 -13
  100. data/lib/sisimai/smtp/error.rb +7 -7
  101. data/lib/sisimai/string.rb +3 -11
  102. data/lib/sisimai/version.rb +1 -1
  103. data/set-of-emails/README.md +5 -5
  104. data/set-of-emails/maildir/bsd/arf-24.eml +50 -0
  105. data/set-of-emails/maildir/bsd/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  106. data/set-of-emails/maildir/bsd/{email-activehunter-02.eml → lhost-activehunter-02.eml} +0 -0
  107. data/set-of-emails/maildir/bsd/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  108. data/set-of-emails/maildir/bsd/{email-amavis-02.eml → lhost-amavis-02.eml} +0 -0
  109. data/set-of-emails/maildir/bsd/lhost-amavis-03.eml +90 -0
  110. data/set-of-emails/maildir/bsd/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  111. data/set-of-emails/maildir/bsd/{email-amazonses-02.eml → lhost-amazonses-02.eml} +0 -0
  112. data/set-of-emails/maildir/bsd/{email-amazonses-03.eml → lhost-amazonses-03.eml} +0 -0
  113. data/set-of-emails/maildir/bsd/{email-amazonses-05.eml → lhost-amazonses-05.eml} +0 -0
  114. data/set-of-emails/maildir/bsd/{email-amazonses-06.eml → lhost-amazonses-06.eml} +0 -0
  115. data/set-of-emails/maildir/bsd/{email-amazonses-07.eml → lhost-amazonses-07.eml} +0 -0
  116. data/set-of-emails/maildir/bsd/{email-amazonses-08.eml → lhost-amazonses-08.eml} +0 -0
  117. data/set-of-emails/maildir/bsd/{email-amazonses-09.eml → lhost-amazonses-09.eml} +0 -0
  118. data/set-of-emails/maildir/bsd/{email-amazonses-10.eml → lhost-amazonses-10.eml} +0 -0
  119. data/set-of-emails/maildir/bsd/{email-amazonses-11.eml → lhost-amazonses-11.eml} +0 -0
  120. data/set-of-emails/maildir/bsd/{email-amazonses-12.eml → lhost-amazonses-12.eml} +0 -0
  121. data/set-of-emails/maildir/bsd/{email-amazonses-13.eml → lhost-amazonses-13.eml} +0 -0
  122. data/set-of-emails/maildir/bsd/{email-amazonses-14.eml → lhost-amazonses-14.eml} +0 -0
  123. data/set-of-emails/maildir/bsd/{email-amazonses-15.eml → lhost-amazonses-15.eml} +0 -0
  124. data/set-of-emails/maildir/bsd/{email-amazonses-16.eml → lhost-amazonses-16.eml} +0 -0
  125. data/set-of-emails/maildir/bsd/{email-amazonses-17.eml → lhost-amazonses-17.eml} +0 -0
  126. data/set-of-emails/maildir/bsd/{email-amazonses-18.eml → lhost-amazonses-18.eml} +0 -0
  127. data/set-of-emails/maildir/bsd/{email-amazonses-19.eml → lhost-amazonses-19.eml} +0 -0
  128. data/set-of-emails/maildir/bsd/{email-amazonses-20.eml → lhost-amazonses-20.eml} +0 -0
  129. data/set-of-emails/maildir/bsd/{email-amazonses-21.eml → lhost-amazonses-21.eml} +0 -0
  130. data/set-of-emails/maildir/bsd/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  131. data/set-of-emails/maildir/bsd/{email-amazonworkmail-02.eml → lhost-amazonworkmail-02.eml} +0 -0
  132. data/set-of-emails/maildir/bsd/{email-amazonworkmail-03.eml → lhost-amazonworkmail-03.eml} +0 -0
  133. data/set-of-emails/maildir/bsd/{email-amazonworkmail-04.eml → lhost-amazonworkmail-04.eml} +0 -0
  134. data/set-of-emails/maildir/bsd/{email-amazonworkmail-05.eml → lhost-amazonworkmail-05.eml} +0 -0
  135. data/set-of-emails/maildir/bsd/{email-amazonworkmail-07.eml → lhost-amazonworkmail-07.eml} +0 -0
  136. data/set-of-emails/maildir/bsd/{email-amazonworkmail-08.eml → lhost-amazonworkmail-08.eml} +0 -0
  137. data/set-of-emails/maildir/bsd/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  138. data/set-of-emails/maildir/bsd/{email-aol-02.eml → lhost-aol-02.eml} +0 -0
  139. data/set-of-emails/maildir/bsd/{email-aol-03.eml → lhost-aol-03.eml} +0 -0
  140. data/set-of-emails/maildir/bsd/{email-aol-04.eml → lhost-aol-04.eml} +0 -0
  141. data/set-of-emails/maildir/bsd/{email-aol-05.eml → lhost-aol-05.eml} +0 -0
  142. data/set-of-emails/maildir/bsd/{email-aol-06.eml → lhost-aol-06.eml} +0 -0
  143. data/set-of-emails/maildir/bsd/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  144. data/set-of-emails/maildir/bsd/lhost-barracuda-01.eml +67 -0
  145. data/set-of-emails/maildir/bsd/lhost-barracuda-02.eml +71 -0
  146. data/set-of-emails/maildir/bsd/{email-bigfoot-02.eml → lhost-bigfoot-02.eml} +0 -0
  147. data/set-of-emails/maildir/bsd/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  148. data/set-of-emails/maildir/bsd/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  149. data/set-of-emails/maildir/bsd/{email-courier-02.eml → lhost-courier-02.eml} +0 -0
  150. data/set-of-emails/maildir/bsd/{email-courier-03.eml → lhost-courier-03.eml} +0 -0
  151. data/set-of-emails/maildir/bsd/{email-courier-04.eml → lhost-courier-04.eml} +0 -0
  152. data/set-of-emails/maildir/bsd/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  153. data/set-of-emails/maildir/bsd/{email-domino-02.eml → lhost-domino-02.eml} +0 -0
  154. data/set-of-emails/maildir/bsd/{email-domino-03.eml → lhost-domino-03.eml} +0 -0
  155. data/set-of-emails/maildir/bsd/{email-einsundeins-02.eml → lhost-einsundeins-02.eml} +0 -0
  156. data/set-of-emails/maildir/bsd/lhost-einsundeins-03.eml +66 -0
  157. data/set-of-emails/maildir/bsd/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  158. data/set-of-emails/maildir/bsd/{email-exchange2003-02.eml → lhost-exchange2003-02.eml} +0 -0
  159. data/set-of-emails/maildir/bsd/{email-exchange2003-03.eml → lhost-exchange2003-03.eml} +0 -0
  160. data/set-of-emails/maildir/bsd/{email-exchange2003-04.eml → lhost-exchange2003-04.eml} +0 -0
  161. data/set-of-emails/maildir/bsd/{email-exchange2003-05.eml → lhost-exchange2003-05.eml} +0 -0
  162. data/set-of-emails/maildir/bsd/{email-exchange2003-07.eml → lhost-exchange2003-07.eml} +0 -0
  163. data/set-of-emails/maildir/bsd/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  164. data/set-of-emails/maildir/bsd/{email-exchange2007-02.eml → lhost-exchange2007-02.eml} +0 -0
  165. data/set-of-emails/maildir/bsd/{email-exchange2007-03.eml → lhost-exchange2007-03.eml} +0 -0
  166. data/set-of-emails/maildir/bsd/{email-exchange2007-04.eml → lhost-exchange2007-04.eml} +0 -0
  167. data/set-of-emails/maildir/bsd/lhost-exchange2007-05.eml +1469 -0
  168. data/set-of-emails/maildir/bsd/lhost-exchange2007-06.eml +764 -0
  169. data/set-of-emails/maildir/bsd/lhost-exchange2007-07.eml +128 -0
  170. data/set-of-emails/maildir/bsd/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  171. data/set-of-emails/maildir/bsd/{email-exim-02.eml → lhost-exim-02.eml} +0 -0
  172. data/set-of-emails/maildir/bsd/{email-exim-03.eml → lhost-exim-03.eml} +0 -0
  173. data/set-of-emails/maildir/bsd/{email-exim-04.eml → lhost-exim-04.eml} +0 -0
  174. data/set-of-emails/maildir/bsd/{email-exim-05.eml → lhost-exim-05.eml} +0 -0
  175. data/set-of-emails/maildir/bsd/{email-exim-06.eml → lhost-exim-06.eml} +0 -0
  176. data/set-of-emails/maildir/bsd/{email-exim-07.eml → lhost-exim-07.eml} +0 -0
  177. data/set-of-emails/maildir/bsd/{email-exim-08.eml → lhost-exim-08.eml} +0 -0
  178. data/set-of-emails/maildir/bsd/{email-exim-29.eml → lhost-exim-29.eml} +0 -0
  179. data/set-of-emails/maildir/bsd/{email-exim-30.eml → lhost-exim-30.eml} +0 -0
  180. data/set-of-emails/maildir/bsd/{email-exim-31.eml → lhost-exim-31.eml} +0 -0
  181. data/set-of-emails/maildir/bsd/{email-exim-32.eml → lhost-exim-32.eml} +0 -0
  182. data/set-of-emails/maildir/bsd/{email-exim-33.eml → lhost-exim-33.eml} +0 -0
  183. data/set-of-emails/maildir/bsd/{email-exim-34.eml → lhost-exim-34.eml} +0 -0
  184. data/set-of-emails/maildir/bsd/{email-exim-35.eml → lhost-exim-35.eml} +0 -0
  185. data/set-of-emails/maildir/bsd/{email-exim-36.eml → lhost-exim-36.eml} +0 -0
  186. data/set-of-emails/maildir/bsd/{email-exim-37.eml → lhost-exim-37.eml} +0 -0
  187. data/set-of-emails/maildir/bsd/{email-exim-38.eml → lhost-exim-38.eml} +0 -0
  188. data/set-of-emails/maildir/bsd/{email-exim-39.eml → lhost-exim-39.eml} +0 -0
  189. data/set-of-emails/maildir/bsd/{email-exim-40.eml → lhost-exim-40.eml} +0 -0
  190. data/set-of-emails/maildir/bsd/{email-exim-41.eml → lhost-exim-41.eml} +0 -0
  191. data/set-of-emails/maildir/bsd/{email-exim-42.eml → lhost-exim-42.eml} +0 -0
  192. data/set-of-emails/maildir/bsd/{email-exim-43.eml → lhost-exim-43.eml} +0 -0
  193. data/set-of-emails/maildir/bsd/{email-exim-44.eml → lhost-exim-44.eml} +0 -0
  194. data/set-of-emails/maildir/bsd/{email-exim-45.eml → lhost-exim-45.eml} +0 -0
  195. data/set-of-emails/maildir/bsd/{email-exim-46.eml → lhost-exim-46.eml} +0 -0
  196. data/set-of-emails/maildir/bsd/{email-exim-47.eml → lhost-exim-47.eml} +0 -0
  197. data/set-of-emails/maildir/bsd/{email-exim-48.eml → lhost-exim-48.eml} +0 -0
  198. data/set-of-emails/maildir/bsd/{email-exim-49.eml → lhost-exim-49.eml} +0 -0
  199. data/set-of-emails/maildir/bsd/{email-exim-50.eml → lhost-exim-50.eml} +0 -0
  200. data/set-of-emails/maildir/bsd/{email-exim-51.eml → lhost-exim-51.eml} +0 -0
  201. data/set-of-emails/maildir/bsd/{email-exim-52.eml → lhost-exim-52.eml} +0 -0
  202. data/set-of-emails/maildir/bsd/{email-exim-53.eml → lhost-exim-53.eml} +0 -0
  203. data/set-of-emails/maildir/bsd/{email-exim-54.eml → lhost-exim-54.eml} +0 -0
  204. data/set-of-emails/maildir/bsd/{email-exim-55.eml → lhost-exim-55.eml} +0 -0
  205. data/set-of-emails/maildir/bsd/{email-exim-56.eml → lhost-exim-56.eml} +0 -0
  206. data/set-of-emails/maildir/bsd/{email-exim-57.eml → lhost-exim-57.eml} +0 -0
  207. data/set-of-emails/maildir/bsd/{email-exim-58.eml → lhost-exim-58.eml} +0 -0
  208. data/set-of-emails/maildir/bsd/{email-exim-59.eml → lhost-exim-59.eml} +0 -0
  209. data/set-of-emails/maildir/bsd/{email-exim-60.eml → lhost-exim-60.eml} +0 -0
  210. data/set-of-emails/maildir/bsd/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  211. data/set-of-emails/maildir/bsd/{email-ezweb-02.eml → lhost-ezweb-02.eml} +0 -0
  212. data/set-of-emails/maildir/bsd/{email-ezweb-03.eml → lhost-ezweb-03.eml} +0 -0
  213. data/set-of-emails/maildir/bsd/{email-ezweb-04.eml → lhost-ezweb-04.eml} +0 -0
  214. data/set-of-emails/maildir/bsd/{email-ezweb-05.eml → lhost-ezweb-05.eml} +0 -0
  215. data/set-of-emails/maildir/bsd/{email-ezweb-07.eml → lhost-ezweb-07.eml} +0 -0
  216. data/set-of-emails/maildir/bsd/{email-ezweb-08.eml → lhost-ezweb-08.eml} +0 -0
  217. data/set-of-emails/maildir/bsd/{email-facebook-03.eml → lhost-facebook-03.eml} +0 -0
  218. data/set-of-emails/maildir/bsd/{email-facebook-04.eml → lhost-facebook-04.eml} +0 -0
  219. data/set-of-emails/maildir/bsd/{email-fml-02.eml → lhost-fml-02.eml} +0 -0
  220. data/set-of-emails/maildir/bsd/{email-fml-03.eml → lhost-fml-03.eml} +0 -0
  221. data/set-of-emails/maildir/bsd/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  222. data/set-of-emails/maildir/bsd/{email-google-03.eml → lhost-gmail-03.eml} +0 -0
  223. data/set-of-emails/maildir/bsd/{email-google-04.eml → lhost-gmail-04.eml} +0 -0
  224. data/set-of-emails/maildir/bsd/{email-google-05.eml → lhost-gmail-05.eml} +0 -0
  225. data/set-of-emails/maildir/bsd/{email-google-06.eml → lhost-gmail-06.eml} +0 -0
  226. data/set-of-emails/maildir/bsd/{email-google-07.eml → lhost-gmail-07.eml} +0 -0
  227. data/set-of-emails/maildir/bsd/{email-google-08.eml → lhost-gmail-08.eml} +0 -0
  228. data/set-of-emails/maildir/bsd/{email-google-09.eml → lhost-gmail-09.eml} +0 -0
  229. data/set-of-emails/maildir/bsd/{email-google-10.eml → lhost-gmail-10.eml} +0 -0
  230. data/set-of-emails/maildir/bsd/{email-google-11.eml → lhost-gmail-11.eml} +0 -0
  231. data/set-of-emails/maildir/bsd/{email-google-15.eml → lhost-gmail-15.eml} +0 -0
  232. data/set-of-emails/maildir/bsd/{email-google-16.eml → lhost-gmail-16.eml} +0 -0
  233. data/set-of-emails/maildir/bsd/{email-google-17.eml → lhost-gmail-17.eml} +0 -0
  234. data/set-of-emails/maildir/bsd/{email-google-18.eml → lhost-gmail-18.eml} +0 -0
  235. data/set-of-emails/maildir/bsd/{email-google-19.eml → lhost-gmail-19.eml} +0 -0
  236. data/set-of-emails/maildir/bsd/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  237. data/set-of-emails/maildir/bsd/{email-gmx-02.eml → lhost-gmx-02.eml} +0 -0
  238. data/set-of-emails/maildir/bsd/{email-gmx-03.eml → lhost-gmx-03.eml} +0 -0
  239. data/set-of-emails/maildir/bsd/{email-gmx-04.eml → lhost-gmx-04.eml} +0 -0
  240. data/set-of-emails/maildir/bsd/lhost-googlegroups-01.eml +116 -0
  241. data/set-of-emails/maildir/bsd/lhost-googlegroups-02.eml +114 -0
  242. data/set-of-emails/maildir/bsd/lhost-googlegroups-03.eml +116 -0
  243. data/set-of-emails/maildir/bsd/lhost-googlegroups-04.eml +116 -0
  244. data/set-of-emails/maildir/bsd/lhost-googlegroups-05.eml +116 -0
  245. data/set-of-emails/maildir/bsd/lhost-googlegroups-06.eml +116 -0
  246. data/set-of-emails/maildir/bsd/lhost-googlegroups-07.eml +116 -0
  247. data/set-of-emails/maildir/bsd/lhost-googlegroups-08.eml +115 -0
  248. data/set-of-emails/maildir/bsd/lhost-googlegroups-09.eml +116 -0
  249. data/set-of-emails/maildir/bsd/lhost-googlegroups-10.eml +116 -0
  250. data/set-of-emails/maildir/bsd/lhost-googlegroups-11.eml +116 -0
  251. data/set-of-emails/maildir/bsd/lhost-googlegroups-12.eml +116 -0
  252. data/set-of-emails/maildir/bsd/lhost-googlegroups-13.eml +115 -0
  253. data/set-of-emails/maildir/bsd/lhost-googlegroups-14.eml +127 -0
  254. data/set-of-emails/maildir/bsd/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  255. data/set-of-emails/maildir/bsd/{email-gsuite-02.eml → lhost-gsuite-02.eml} +0 -0
  256. data/set-of-emails/maildir/bsd/{email-gsuite-03.eml → lhost-gsuite-03.eml} +0 -0
  257. data/set-of-emails/maildir/bsd/{email-gsuite-04.eml → lhost-gsuite-04.eml} +0 -0
  258. data/set-of-emails/maildir/bsd/{email-gsuite-05.eml → lhost-gsuite-05.eml} +0 -0
  259. data/set-of-emails/maildir/bsd/{email-gsuite-06.eml → lhost-gsuite-06.eml} +0 -0
  260. data/set-of-emails/maildir/bsd/{email-gsuite-07.eml → lhost-gsuite-07.eml} +0 -0
  261. data/set-of-emails/maildir/bsd/{email-gsuite-08.eml → lhost-gsuite-08.eml} +0 -0
  262. data/set-of-emails/maildir/bsd/{email-gsuite-09.eml → lhost-gsuite-09.eml} +0 -0
  263. data/set-of-emails/maildir/bsd/{email-gsuite-10.eml → lhost-gsuite-10.eml} +0 -0
  264. data/set-of-emails/maildir/bsd/{email-gsuite-11.eml → lhost-gsuite-11.eml} +0 -0
  265. data/set-of-emails/maildir/bsd/{email-gsuite-12.eml → lhost-gsuite-12.eml} +0 -0
  266. data/set-of-emails/maildir/bsd/lhost-gsuite-13.eml +261 -0
  267. data/set-of-emails/maildir/bsd/lhost-gsuite-14.eml +273 -0
  268. data/set-of-emails/maildir/bsd/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  269. data/set-of-emails/maildir/bsd/{email-imailserver-02.eml → lhost-imailserver-02.eml} +0 -0
  270. data/set-of-emails/maildir/bsd/{email-imailserver-03.eml → lhost-imailserver-03.eml} +0 -0
  271. data/set-of-emails/maildir/bsd/{email-imailserver-04.eml → lhost-imailserver-04.eml} +0 -0
  272. data/set-of-emails/maildir/bsd/{email-imailserver-06.eml → lhost-imailserver-06.eml} +0 -0
  273. data/set-of-emails/maildir/bsd/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  274. data/set-of-emails/maildir/bsd/lhost-interscanmss-02.eml +70 -0
  275. data/set-of-emails/maildir/bsd/lhost-interscanmss-03.eml +73 -0
  276. data/set-of-emails/maildir/bsd/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  277. data/set-of-emails/maildir/bsd/{email-kddi-02.eml → lhost-kddi-02.eml} +0 -0
  278. data/set-of-emails/maildir/bsd/{email-kddi-03.eml → lhost-kddi-03.eml} +0 -0
  279. data/set-of-emails/maildir/bsd/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  280. data/set-of-emails/maildir/bsd/{email-mailfoundry-02.eml → lhost-mailfoundry-02.eml} +0 -0
  281. data/set-of-emails/maildir/bsd/{email-mailmarshalsmtp-02.eml → lhost-mailmarshalsmtp-02.eml} +0 -0
  282. data/set-of-emails/maildir/bsd/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  283. data/set-of-emails/maildir/bsd/{email-mailru-02.eml → lhost-mailru-02.eml} +0 -0
  284. data/set-of-emails/maildir/bsd/{email-mailru-03.eml → lhost-mailru-03.eml} +0 -0
  285. data/set-of-emails/maildir/bsd/{email-mailru-04.eml → lhost-mailru-04.eml} +0 -0
  286. data/set-of-emails/maildir/bsd/{email-mailru-05.eml → lhost-mailru-05.eml} +0 -0
  287. data/set-of-emails/maildir/bsd/{email-mailru-06.eml → lhost-mailru-06.eml} +0 -0
  288. data/set-of-emails/maildir/bsd/{email-mailru-07.eml → lhost-mailru-07.eml} +0 -0
  289. data/set-of-emails/maildir/bsd/{email-mailru-08.eml → lhost-mailru-08.eml} +0 -0
  290. data/set-of-emails/maildir/bsd/{email-mailru-09.eml → lhost-mailru-09.eml} +0 -0
  291. data/set-of-emails/maildir/bsd/{email-mailru-10.eml → lhost-mailru-10.eml} +0 -0
  292. data/set-of-emails/maildir/bsd/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  293. data/set-of-emails/maildir/bsd/{email-mcafee-02.eml → lhost-mcafee-02.eml} +0 -0
  294. data/set-of-emails/maildir/bsd/{email-mcafee-03.eml → lhost-mcafee-03.eml} +0 -0
  295. data/set-of-emails/maildir/bsd/{email-mcafee-04.eml → lhost-mcafee-04.eml} +0 -0
  296. data/set-of-emails/maildir/bsd/{email-mcafee-05.eml → lhost-mcafee-05.eml} +0 -0
  297. data/set-of-emails/maildir/bsd/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  298. data/set-of-emails/maildir/bsd/{email-messagelabs-02.eml → lhost-messagelabs-02.eml} +0 -0
  299. data/set-of-emails/maildir/bsd/{email-messagelabs-03.eml → lhost-messagelabs-03.eml} +0 -0
  300. data/set-of-emails/maildir/bsd/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  301. data/set-of-emails/maildir/bsd/{email-messagingserver-02.eml → lhost-messagingserver-02.eml} +0 -0
  302. data/set-of-emails/maildir/bsd/{email-messagingserver-03.eml → lhost-messagingserver-03.eml} +0 -0
  303. data/set-of-emails/maildir/bsd/{email-messagingserver-04.eml → lhost-messagingserver-04.eml} +0 -0
  304. data/set-of-emails/maildir/bsd/{email-messagingserver-05.eml → lhost-messagingserver-05.eml} +0 -0
  305. data/set-of-emails/maildir/bsd/{email-messagingserver-06.eml → lhost-messagingserver-06.eml} +0 -0
  306. data/set-of-emails/maildir/bsd/{email-messagingserver-07.eml → lhost-messagingserver-07.eml} +0 -0
  307. data/set-of-emails/maildir/bsd/{email-messagingserver-08.eml → lhost-messagingserver-08.eml} +0 -0
  308. data/set-of-emails/maildir/bsd/{email-messagingserver-09.eml → lhost-messagingserver-09.eml} +0 -0
  309. data/set-of-emails/maildir/bsd/{email-messagingserver-10.eml → lhost-messagingserver-10.eml} +0 -0
  310. data/set-of-emails/maildir/bsd/{email-messagingserver-11.eml → lhost-messagingserver-11.eml} +0 -0
  311. data/set-of-emails/maildir/bsd/{email-messagingserver-12.eml → lhost-messagingserver-12.eml} +0 -0
  312. data/set-of-emails/maildir/bsd/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  313. data/set-of-emails/maildir/bsd/{email-mfilter-02.eml → lhost-mfilter-02.eml} +0 -0
  314. data/set-of-emails/maildir/bsd/{email-mfilter-03.eml → lhost-mfilter-03.eml} +0 -0
  315. data/set-of-emails/maildir/bsd/{email-mfilter-04.eml → lhost-mfilter-04.eml} +0 -0
  316. data/set-of-emails/maildir/bsd/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  317. data/set-of-emails/maildir/bsd/{email-mxlogic-02.eml → lhost-mxlogic-02.eml} +0 -0
  318. data/set-of-emails/maildir/bsd/{email-mxlogic-03.eml → lhost-mxlogic-03.eml} +0 -0
  319. data/set-of-emails/maildir/bsd/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  320. data/set-of-emails/maildir/bsd/{email-notes-02.eml → lhost-notes-02.eml} +0 -0
  321. data/set-of-emails/maildir/bsd/{email-notes-03.eml → lhost-notes-03.eml} +0 -0
  322. data/set-of-emails/maildir/bsd/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  323. data/set-of-emails/maildir/bsd/{email-office365-02.eml → lhost-office365-02.eml} +0 -0
  324. data/set-of-emails/maildir/bsd/{email-office365-03.eml → lhost-office365-03.eml} +0 -0
  325. data/set-of-emails/maildir/bsd/{email-office365-04.eml → lhost-office365-04.eml} +0 -0
  326. data/set-of-emails/maildir/bsd/{email-office365-05.eml → lhost-office365-05.eml} +0 -0
  327. data/set-of-emails/maildir/bsd/{email-office365-06.eml → lhost-office365-06.eml} +0 -0
  328. data/set-of-emails/maildir/bsd/{email-office365-07.eml → lhost-office365-07.eml} +0 -0
  329. data/set-of-emails/maildir/bsd/{email-office365-08.eml → lhost-office365-08.eml} +0 -0
  330. data/set-of-emails/maildir/bsd/{email-office365-09.eml → lhost-office365-09.eml} +0 -0
  331. data/set-of-emails/maildir/bsd/{email-office365-10.eml → lhost-office365-10.eml} +0 -0
  332. data/set-of-emails/maildir/bsd/{email-office365-11.eml → lhost-office365-11.eml} +0 -0
  333. data/set-of-emails/maildir/bsd/{email-office365-12.eml → lhost-office365-12.eml} +0 -0
  334. data/set-of-emails/maildir/bsd/lhost-office365-13.eml +259 -0
  335. data/set-of-emails/maildir/bsd/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  336. data/set-of-emails/maildir/bsd/{email-opensmtpd-02.eml → lhost-opensmtpd-02.eml} +0 -0
  337. data/set-of-emails/maildir/bsd/{email-opensmtpd-03.eml → lhost-opensmtpd-03.eml} +0 -0
  338. data/set-of-emails/maildir/bsd/{email-opensmtpd-04.eml → lhost-opensmtpd-04.eml} +0 -0
  339. data/set-of-emails/maildir/bsd/{email-opensmtpd-05.eml → lhost-opensmtpd-05.eml} +0 -0
  340. data/set-of-emails/maildir/bsd/{email-opensmtpd-06.eml → lhost-opensmtpd-06.eml} +0 -0
  341. data/set-of-emails/maildir/bsd/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  342. data/set-of-emails/maildir/bsd/{email-outlook-02.eml → lhost-outlook-02.eml} +0 -0
  343. data/set-of-emails/maildir/bsd/{email-outlook-03.eml → lhost-outlook-03.eml} +0 -0
  344. data/set-of-emails/maildir/bsd/{email-outlook-04.eml → lhost-outlook-04.eml} +0 -0
  345. data/set-of-emails/maildir/bsd/{email-outlook-06.eml → lhost-outlook-06.eml} +0 -0
  346. data/set-of-emails/maildir/bsd/{email-outlook-07.eml → lhost-outlook-07.eml} +0 -0
  347. data/set-of-emails/maildir/bsd/{email-outlook-08.eml → lhost-outlook-08.eml} +0 -0
  348. data/set-of-emails/maildir/bsd/{email-outlook-09.eml → lhost-outlook-09.eml} +0 -0
  349. data/set-of-emails/maildir/bsd/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  350. data/set-of-emails/maildir/bsd/{email-postfix-02.eml → lhost-postfix-02.eml} +0 -0
  351. data/set-of-emails/maildir/bsd/{email-postfix-03.eml → lhost-postfix-03.eml} +0 -0
  352. data/set-of-emails/maildir/bsd/{email-postfix-04.eml → lhost-postfix-04.eml} +0 -0
  353. data/set-of-emails/maildir/bsd/{email-postfix-05.eml → lhost-postfix-05.eml} +0 -0
  354. data/set-of-emails/maildir/bsd/{email-postfix-06.eml → lhost-postfix-06.eml} +0 -0
  355. data/set-of-emails/maildir/bsd/{email-postfix-07.eml → lhost-postfix-07.eml} +0 -0
  356. data/set-of-emails/maildir/bsd/{email-postfix-08.eml → lhost-postfix-08.eml} +0 -0
  357. data/set-of-emails/maildir/bsd/{email-postfix-09.eml → lhost-postfix-09.eml} +0 -0
  358. data/set-of-emails/maildir/bsd/{email-postfix-10.eml → lhost-postfix-10.eml} +0 -0
  359. data/set-of-emails/maildir/bsd/{email-postfix-11.eml → lhost-postfix-11.eml} +0 -0
  360. data/set-of-emails/maildir/bsd/{email-postfix-13.eml → lhost-postfix-13.eml} +0 -0
  361. data/set-of-emails/maildir/bsd/{email-postfix-14.eml → lhost-postfix-14.eml} +0 -0
  362. data/set-of-emails/maildir/bsd/{email-postfix-15.eml → lhost-postfix-15.eml} +0 -0
  363. data/set-of-emails/maildir/bsd/{email-postfix-16.eml → lhost-postfix-16.eml} +0 -0
  364. data/set-of-emails/maildir/bsd/{email-postfix-17.eml → lhost-postfix-17.eml} +0 -0
  365. data/set-of-emails/maildir/bsd/{email-postfix-28.eml → lhost-postfix-28.eml} +0 -0
  366. data/set-of-emails/maildir/bsd/{email-postfix-29.eml → lhost-postfix-29.eml} +0 -0
  367. data/set-of-emails/maildir/bsd/{email-postfix-30.eml → lhost-postfix-30.eml} +0 -0
  368. data/set-of-emails/maildir/bsd/{email-postfix-31.eml → lhost-postfix-31.eml} +0 -0
  369. data/set-of-emails/maildir/bsd/{email-postfix-32.eml → lhost-postfix-32.eml} +0 -0
  370. data/set-of-emails/maildir/bsd/{email-postfix-33.eml → lhost-postfix-33.eml} +0 -0
  371. data/set-of-emails/maildir/bsd/{email-postfix-34.eml → lhost-postfix-34.eml} +0 -0
  372. data/set-of-emails/maildir/bsd/{email-postfix-35.eml → lhost-postfix-35.eml} +0 -0
  373. data/set-of-emails/maildir/bsd/{email-postfix-36.eml → lhost-postfix-36.eml} +0 -0
  374. data/set-of-emails/maildir/bsd/{email-postfix-37.eml → lhost-postfix-37.eml} +0 -0
  375. data/set-of-emails/maildir/bsd/{email-postfix-38.eml → lhost-postfix-38.eml} +1 -1
  376. data/set-of-emails/maildir/bsd/{email-postfix-39.eml → lhost-postfix-39.eml} +0 -0
  377. data/set-of-emails/maildir/bsd/{email-postfix-40.eml → lhost-postfix-40.eml} +0 -0
  378. data/set-of-emails/maildir/bsd/{email-postfix-41.eml → lhost-postfix-41.eml} +0 -0
  379. data/set-of-emails/maildir/bsd/{email-postfix-42.eml → lhost-postfix-42.eml} +0 -0
  380. data/set-of-emails/maildir/bsd/{email-postfix-43.eml → lhost-postfix-43.eml} +0 -0
  381. data/set-of-emails/maildir/bsd/{email-postfix-44.eml → lhost-postfix-44.eml} +0 -0
  382. data/set-of-emails/maildir/bsd/{email-postfix-45.eml → lhost-postfix-45.eml} +0 -0
  383. data/set-of-emails/maildir/bsd/{email-postfix-46.eml → lhost-postfix-46.eml} +0 -0
  384. data/set-of-emails/maildir/bsd/{email-postfix-47.eml → lhost-postfix-47.eml} +0 -0
  385. data/set-of-emails/maildir/bsd/{email-postfix-48.eml → lhost-postfix-48.eml} +0 -0
  386. data/set-of-emails/maildir/bsd/{email-postfix-49.eml → lhost-postfix-49.eml} +0 -0
  387. data/set-of-emails/maildir/bsd/{email-postfix-50.eml → lhost-postfix-50.eml} +0 -0
  388. data/set-of-emails/maildir/bsd/{email-postfix-51.eml → lhost-postfix-51.eml} +0 -0
  389. data/set-of-emails/maildir/bsd/{email-postfix-52.eml → lhost-postfix-52.eml} +0 -0
  390. data/set-of-emails/maildir/bsd/{email-postfix-53.eml → lhost-postfix-53.eml} +0 -0
  391. data/set-of-emails/maildir/bsd/{email-postfix-54.eml → lhost-postfix-54.eml} +0 -0
  392. data/set-of-emails/maildir/bsd/{email-postfix-55.eml → lhost-postfix-55.eml} +0 -0
  393. data/set-of-emails/maildir/bsd/{email-postfix-56.eml → lhost-postfix-56.eml} +0 -0
  394. data/set-of-emails/maildir/bsd/{email-postfix-57.eml → lhost-postfix-57.eml} +0 -0
  395. data/set-of-emails/maildir/bsd/{email-postfix-58.eml → lhost-postfix-58.eml} +0 -0
  396. data/set-of-emails/maildir/bsd/{email-postfix-59.eml → lhost-postfix-59.eml} +0 -0
  397. data/set-of-emails/maildir/bsd/{email-postfix-60.eml → lhost-postfix-60.eml} +0 -0
  398. data/set-of-emails/maildir/bsd/{email-postfix-61.eml → lhost-postfix-61.eml} +0 -0
  399. data/set-of-emails/maildir/bsd/lhost-postfix-62.eml +105 -0
  400. data/set-of-emails/maildir/bsd/lhost-postfix-63.eml +85 -0
  401. data/set-of-emails/maildir/bsd/lhost-postfix-64.eml +96 -0
  402. data/set-of-emails/maildir/bsd/lhost-postfix-65.eml +69 -0
  403. data/set-of-emails/maildir/bsd/{rfc3464-05.eml → lhost-powermta-01.eml} +19 -18
  404. data/set-of-emails/maildir/bsd/lhost-powermta-02.eml +58 -0
  405. data/set-of-emails/maildir/bsd/lhost-powermta-03.eml +71 -0
  406. data/set-of-emails/maildir/bsd/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  407. data/set-of-emails/maildir/bsd/{email-qmail-02.eml → lhost-qmail-02.eml} +0 -0
  408. data/set-of-emails/maildir/bsd/{email-qmail-03.eml → lhost-qmail-03.eml} +0 -0
  409. data/set-of-emails/maildir/bsd/{email-qmail-04.eml → lhost-qmail-04.eml} +0 -0
  410. data/set-of-emails/maildir/bsd/{email-qmail-05.eml → lhost-qmail-05.eml} +0 -0
  411. data/set-of-emails/maildir/bsd/{email-qmail-06.eml → lhost-qmail-06.eml} +0 -0
  412. data/set-of-emails/maildir/bsd/{email-qmail-07.eml → lhost-qmail-07.eml} +0 -0
  413. data/set-of-emails/maildir/bsd/{email-qmail-08.eml → lhost-qmail-08.eml} +0 -0
  414. data/set-of-emails/maildir/bsd/{email-qmail-09.eml → lhost-qmail-09.eml} +0 -0
  415. data/set-of-emails/maildir/bsd/{email-qmail-10.eml → lhost-qmail-10.eml} +0 -0
  416. data/set-of-emails/maildir/bsd/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  417. data/set-of-emails/maildir/bsd/{email-receivingses-02.eml → lhost-receivingses-02.eml} +0 -0
  418. data/set-of-emails/maildir/bsd/{email-receivingses-03.eml → lhost-receivingses-03.eml} +0 -0
  419. data/set-of-emails/maildir/bsd/{email-receivingses-04.eml → lhost-receivingses-04.eml} +0 -0
  420. data/set-of-emails/maildir/bsd/{email-receivingses-05.eml → lhost-receivingses-05.eml} +0 -0
  421. data/set-of-emails/maildir/bsd/{email-receivingses-06.eml → lhost-receivingses-06.eml} +0 -0
  422. data/set-of-emails/maildir/bsd/{email-receivingses-07.eml → lhost-receivingses-07.eml} +0 -0
  423. data/set-of-emails/maildir/bsd/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  424. data/set-of-emails/maildir/bsd/{email-sendgrid-02.eml → lhost-sendgrid-02.eml} +0 -0
  425. data/set-of-emails/maildir/bsd/{email-sendgrid-03.eml → lhost-sendgrid-03.eml} +0 -0
  426. data/set-of-emails/maildir/bsd/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  427. data/set-of-emails/maildir/bsd/{email-sendmail-02.eml → lhost-sendmail-02.eml} +0 -0
  428. data/set-of-emails/maildir/bsd/{email-sendmail-03.eml → lhost-sendmail-03.eml} +0 -0
  429. data/set-of-emails/maildir/bsd/{email-sendmail-04.eml → lhost-sendmail-04.eml} +0 -0
  430. data/set-of-emails/maildir/bsd/{email-sendmail-05.eml → lhost-sendmail-05.eml} +0 -0
  431. data/set-of-emails/maildir/bsd/{email-sendmail-06.eml → lhost-sendmail-06.eml} +0 -0
  432. data/set-of-emails/maildir/bsd/{email-sendmail-07.eml → lhost-sendmail-07.eml} +0 -0
  433. data/set-of-emails/maildir/bsd/{email-sendmail-08.eml → lhost-sendmail-08.eml} +0 -0
  434. data/set-of-emails/maildir/bsd/{email-sendmail-09.eml → lhost-sendmail-09.eml} +0 -0
  435. data/set-of-emails/maildir/bsd/{email-sendmail-10.eml → lhost-sendmail-10.eml} +0 -0
  436. data/set-of-emails/maildir/bsd/{email-sendmail-11.eml → lhost-sendmail-11.eml} +0 -0
  437. data/set-of-emails/maildir/bsd/{email-sendmail-12.eml → lhost-sendmail-12.eml} +0 -0
  438. data/set-of-emails/maildir/bsd/{email-sendmail-13.eml → lhost-sendmail-13.eml} +0 -0
  439. data/set-of-emails/maildir/bsd/{email-sendmail-14.eml → lhost-sendmail-14.eml} +0 -0
  440. data/set-of-emails/maildir/bsd/{email-sendmail-15.eml → lhost-sendmail-15.eml} +0 -0
  441. data/set-of-emails/maildir/bsd/{email-sendmail-16.eml → lhost-sendmail-16.eml} +0 -0
  442. data/set-of-emails/maildir/bsd/{email-sendmail-17.eml → lhost-sendmail-17.eml} +0 -0
  443. data/set-of-emails/maildir/bsd/{email-sendmail-18.eml → lhost-sendmail-18.eml} +0 -0
  444. data/set-of-emails/maildir/bsd/{email-sendmail-19.eml → lhost-sendmail-19.eml} +0 -0
  445. data/set-of-emails/maildir/bsd/{email-sendmail-20.eml → lhost-sendmail-20.eml} +0 -0
  446. data/set-of-emails/maildir/bsd/{email-sendmail-21.eml → lhost-sendmail-21.eml} +0 -0
  447. data/set-of-emails/maildir/bsd/{email-sendmail-22.eml → lhost-sendmail-22.eml} +0 -0
  448. data/set-of-emails/maildir/bsd/{email-sendmail-24.eml → lhost-sendmail-24.eml} +0 -0
  449. data/set-of-emails/maildir/bsd/{email-sendmail-25.eml → lhost-sendmail-25.eml} +0 -0
  450. data/set-of-emails/maildir/bsd/{email-sendmail-26.eml → lhost-sendmail-26.eml} +0 -0
  451. data/set-of-emails/maildir/bsd/{email-sendmail-27.eml → lhost-sendmail-27.eml} +0 -0
  452. data/set-of-emails/maildir/bsd/{email-sendmail-28.eml → lhost-sendmail-28.eml} +0 -0
  453. data/set-of-emails/maildir/bsd/{email-sendmail-29.eml → lhost-sendmail-29.eml} +0 -0
  454. data/set-of-emails/maildir/bsd/{email-sendmail-30.eml → lhost-sendmail-30.eml} +0 -0
  455. data/set-of-emails/maildir/bsd/{email-sendmail-31.eml → lhost-sendmail-31.eml} +0 -0
  456. data/set-of-emails/maildir/bsd/{email-sendmail-32.eml → lhost-sendmail-32.eml} +0 -0
  457. data/set-of-emails/maildir/bsd/{email-sendmail-33.eml → lhost-sendmail-33.eml} +0 -0
  458. data/set-of-emails/maildir/bsd/{email-sendmail-34.eml → lhost-sendmail-34.eml} +0 -0
  459. data/set-of-emails/maildir/bsd/{email-sendmail-35.eml → lhost-sendmail-35.eml} +0 -0
  460. data/set-of-emails/maildir/bsd/{email-sendmail-36.eml → lhost-sendmail-36.eml} +0 -0
  461. data/set-of-emails/maildir/bsd/{email-sendmail-37.eml → lhost-sendmail-37.eml} +0 -0
  462. data/set-of-emails/maildir/bsd/{email-sendmail-38.eml → lhost-sendmail-38.eml} +0 -0
  463. data/set-of-emails/maildir/bsd/{email-sendmail-39.eml → lhost-sendmail-39.eml} +0 -0
  464. data/set-of-emails/maildir/bsd/{email-sendmail-40.eml → lhost-sendmail-40.eml} +0 -0
  465. data/set-of-emails/maildir/bsd/{email-sendmail-41.eml → lhost-sendmail-41.eml} +0 -0
  466. data/set-of-emails/maildir/bsd/{email-sendmail-42.eml → lhost-sendmail-42.eml} +0 -0
  467. data/set-of-emails/maildir/bsd/{email-sendmail-43.eml → lhost-sendmail-43.eml} +0 -0
  468. data/set-of-emails/maildir/bsd/{email-sendmail-44.eml → lhost-sendmail-44.eml} +0 -0
  469. data/set-of-emails/maildir/bsd/{email-sendmail-45.eml → lhost-sendmail-45.eml} +0 -0
  470. data/set-of-emails/maildir/bsd/{email-sendmail-46.eml → lhost-sendmail-46.eml} +0 -0
  471. data/set-of-emails/maildir/bsd/{email-sendmail-47.eml → lhost-sendmail-47.eml} +0 -0
  472. data/set-of-emails/maildir/bsd/{email-sendmail-48.eml → lhost-sendmail-48.eml} +0 -0
  473. data/set-of-emails/maildir/bsd/{email-sendmail-49.eml → lhost-sendmail-49.eml} +0 -0
  474. data/set-of-emails/maildir/bsd/{email-sendmail-50.eml → lhost-sendmail-50.eml} +0 -0
  475. data/set-of-emails/maildir/bsd/{email-sendmail-51.eml → lhost-sendmail-51.eml} +0 -0
  476. data/set-of-emails/maildir/bsd/{email-sendmail-52.eml → lhost-sendmail-52.eml} +0 -0
  477. data/set-of-emails/maildir/bsd/{email-sendmail-53.eml → lhost-sendmail-53.eml} +0 -0
  478. data/set-of-emails/maildir/bsd/{email-sendmail-54.eml → lhost-sendmail-54.eml} +0 -0
  479. data/set-of-emails/maildir/bsd/{email-sendmail-55.eml → lhost-sendmail-55.eml} +0 -0
  480. data/set-of-emails/maildir/bsd/{email-sendmail-56.eml → lhost-sendmail-56.eml} +0 -0
  481. data/set-of-emails/maildir/bsd/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  482. data/set-of-emails/maildir/bsd/{email-surfcontrol-02.eml → lhost-surfcontrol-02.eml} +0 -0
  483. data/set-of-emails/maildir/bsd/{email-surfcontrol-03.eml → lhost-surfcontrol-03.eml} +0 -0
  484. data/set-of-emails/maildir/bsd/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  485. data/set-of-emails/maildir/bsd/{email-v5sendmail-02.eml → lhost-v5sendmail-02.eml} +0 -0
  486. data/set-of-emails/maildir/bsd/{email-v5sendmail-03.eml → lhost-v5sendmail-03.eml} +0 -0
  487. data/set-of-emails/maildir/bsd/{email-v5sendmail-04.eml → lhost-v5sendmail-04.eml} +0 -0
  488. data/set-of-emails/maildir/bsd/{email-v5sendmail-05.eml → lhost-v5sendmail-05.eml} +0 -0
  489. data/set-of-emails/maildir/bsd/{email-v5sendmail-06.eml → lhost-v5sendmail-06.eml} +0 -0
  490. data/set-of-emails/maildir/bsd/{email-v5sendmail-07.eml → lhost-v5sendmail-07.eml} +0 -0
  491. data/set-of-emails/maildir/bsd/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  492. data/set-of-emails/maildir/bsd/{email-verizon-02.eml → lhost-verizon-02.eml} +0 -0
  493. data/set-of-emails/maildir/bsd/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  494. data/set-of-emails/maildir/bsd/{email-x1-02.eml → lhost-x1-02.eml} +0 -0
  495. data/set-of-emails/maildir/bsd/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  496. data/set-of-emails/maildir/bsd/{email-x2-02.eml → lhost-x2-02.eml} +0 -0
  497. data/set-of-emails/maildir/bsd/{email-x2-03.eml → lhost-x2-03.eml} +0 -0
  498. data/set-of-emails/maildir/bsd/{email-x2-04.eml → lhost-x2-04.eml} +0 -0
  499. data/set-of-emails/maildir/bsd/{email-x2-05.eml → lhost-x2-05.eml} +0 -0
  500. data/set-of-emails/maildir/bsd/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  501. data/set-of-emails/maildir/bsd/{email-x3-02.eml → lhost-x3-02.eml} +0 -0
  502. data/set-of-emails/maildir/bsd/{email-x3-03.eml → lhost-x3-03.eml} +0 -0
  503. data/set-of-emails/maildir/bsd/{email-x3-05.eml → lhost-x3-05.eml} +0 -0
  504. data/set-of-emails/maildir/bsd/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  505. data/set-of-emails/maildir/bsd/{email-x4-08.eml → lhost-x4-08.eml} +0 -0
  506. data/set-of-emails/maildir/bsd/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  507. data/set-of-emails/maildir/bsd/lhost-x6-01.eml +71 -0
  508. data/set-of-emails/maildir/bsd/lhost-x6-02.eml +68 -0
  509. data/set-of-emails/maildir/bsd/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  510. data/set-of-emails/maildir/bsd/{email-yahoo-02.eml → lhost-yahoo-02.eml} +0 -0
  511. data/set-of-emails/maildir/bsd/{email-yahoo-03.eml → lhost-yahoo-03.eml} +0 -0
  512. data/set-of-emails/maildir/bsd/{email-yahoo-04.eml → lhost-yahoo-04.eml} +0 -0
  513. data/set-of-emails/maildir/bsd/{email-yahoo-05.eml → lhost-yahoo-05.eml} +0 -0
  514. data/set-of-emails/maildir/bsd/{email-yahoo-06.eml → lhost-yahoo-06.eml} +0 -0
  515. data/set-of-emails/maildir/bsd/{email-yahoo-07.eml → lhost-yahoo-07.eml} +0 -0
  516. data/set-of-emails/maildir/bsd/{email-yahoo-08.eml → lhost-yahoo-08.eml} +0 -0
  517. data/set-of-emails/maildir/bsd/{email-yahoo-09.eml → lhost-yahoo-09.eml} +0 -0
  518. data/set-of-emails/maildir/bsd/{email-yahoo-10.eml → lhost-yahoo-10.eml} +0 -0
  519. data/set-of-emails/maildir/bsd/{email-yahoo-11.eml → lhost-yahoo-11.eml} +0 -0
  520. data/set-of-emails/maildir/bsd/{email-yahoo-12.eml → lhost-yahoo-12.eml} +0 -0
  521. data/set-of-emails/maildir/bsd/{email-yahoo-13.eml → lhost-yahoo-13.eml} +0 -0
  522. data/set-of-emails/maildir/bsd/{email-yahoo-14.eml → lhost-yahoo-14.eml} +0 -0
  523. data/set-of-emails/maildir/bsd/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  524. data/set-of-emails/maildir/bsd/{email-yandex-02.eml → lhost-yandex-02.eml} +0 -0
  525. data/set-of-emails/maildir/bsd/{email-yandex-03.eml → lhost-yandex-03.eml} +0 -0
  526. data/set-of-emails/maildir/bsd/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  527. data/set-of-emails/maildir/bsd/{email-zoho-02.eml → lhost-zoho-02.eml} +0 -0
  528. data/set-of-emails/maildir/bsd/{email-zoho-03.eml → lhost-zoho-03.eml} +0 -0
  529. data/set-of-emails/maildir/bsd/{email-zoho-04.eml → lhost-zoho-04.eml} +0 -0
  530. data/set-of-emails/maildir/bsd/{email-zoho-05.eml → lhost-zoho-05.eml} +0 -0
  531. data/set-of-emails/maildir/bsd/rfc3834-03.eml +26 -0
  532. data/set-of-emails/maildir/bsd/{rfc3464-41.eml → rfc3834-04.eml} +0 -0
  533. data/set-of-emails/maildir/bsd/rhost-cox-01.eml +192 -0
  534. data/set-of-emails/maildir/bsd/rhost-franceptt-04.eml +66 -0
  535. data/set-of-emails/maildir/bsd/rhost-franceptt-05.eml +96 -0
  536. data/set-of-emails/maildir/bsd/rhost-franceptt-06.eml +100 -0
  537. data/set-of-emails/maildir/bsd/rhost-franceptt-07.eml +97 -0
  538. data/set-of-emails/maildir/bsd/rhost-franceptt-08.eml +78 -0
  539. data/set-of-emails/maildir/bsd/rhost-franceptt-10.eml +79 -0
  540. data/set-of-emails/maildir/bsd/rhost-franceptt-11.eml +96 -0
  541. data/set-of-emails/maildir/bsd/rhost-iua-01.eml +70 -0
  542. data/set-of-emails/maildir/bsd/rhost-spectrum-01.eml +111 -0
  543. data/set-of-emails/maildir/dos/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  544. data/set-of-emails/maildir/dos/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  545. data/set-of-emails/maildir/dos/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  546. data/set-of-emails/maildir/dos/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  547. data/set-of-emails/maildir/dos/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  548. data/set-of-emails/maildir/dos/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  549. data/set-of-emails/maildir/dos/lhost-barracuda-01.eml +67 -0
  550. data/set-of-emails/maildir/dos/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
  551. data/set-of-emails/maildir/dos/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  552. data/set-of-emails/maildir/dos/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  553. data/set-of-emails/maildir/dos/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  554. data/set-of-emails/maildir/dos/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
  555. data/set-of-emails/maildir/dos/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
  556. data/set-of-emails/maildir/dos/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  557. data/set-of-emails/maildir/dos/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  558. data/set-of-emails/maildir/dos/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  559. data/set-of-emails/maildir/dos/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  560. data/set-of-emails/maildir/dos/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
  561. data/set-of-emails/maildir/dos/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  562. data/set-of-emails/maildir/dos/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  563. data/set-of-emails/maildir/dos/lhost-googlegroups-01.eml +116 -0
  564. data/set-of-emails/maildir/dos/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  565. data/set-of-emails/maildir/dos/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  566. data/set-of-emails/maildir/dos/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  567. data/set-of-emails/maildir/dos/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  568. data/set-of-emails/maildir/dos/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  569. data/set-of-emails/maildir/dos/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
  570. data/set-of-emails/maildir/dos/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  571. data/set-of-emails/maildir/dos/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  572. data/set-of-emails/maildir/dos/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  573. data/set-of-emails/maildir/dos/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  574. data/set-of-emails/maildir/dos/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  575. data/set-of-emails/maildir/dos/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  576. data/set-of-emails/maildir/dos/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  577. data/set-of-emails/maildir/dos/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  578. data/set-of-emails/maildir/dos/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  579. data/set-of-emails/maildir/dos/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  580. data/set-of-emails/maildir/dos/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  581. data/set-of-emails/maildir/dos/lhost-powermta-01.eml +64 -0
  582. data/set-of-emails/maildir/dos/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  583. data/set-of-emails/maildir/dos/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  584. data/set-of-emails/maildir/dos/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  585. data/set-of-emails/maildir/dos/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  586. data/set-of-emails/maildir/dos/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  587. data/set-of-emails/maildir/dos/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  588. data/set-of-emails/maildir/dos/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  589. data/set-of-emails/maildir/dos/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  590. data/set-of-emails/maildir/dos/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  591. data/set-of-emails/maildir/dos/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  592. data/set-of-emails/maildir/dos/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  593. data/set-of-emails/maildir/dos/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  594. data/set-of-emails/maildir/dos/lhost-x6-01.eml +71 -0
  595. data/set-of-emails/maildir/dos/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  596. data/set-of-emails/maildir/dos/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  597. data/set-of-emails/maildir/dos/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  598. data/set-of-emails/maildir/dos/rhost-iua-01.eml +70 -0
  599. data/set-of-emails/maildir/mac/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  600. data/set-of-emails/maildir/mac/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  601. data/set-of-emails/maildir/mac/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  602. data/set-of-emails/maildir/mac/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  603. data/set-of-emails/maildir/mac/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  604. data/set-of-emails/maildir/mac/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  605. data/set-of-emails/maildir/mac/lhost-barracuda-01.eml +1 -4
  606. data/set-of-emails/maildir/mac/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
  607. data/set-of-emails/maildir/mac/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  608. data/set-of-emails/maildir/mac/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  609. data/set-of-emails/maildir/mac/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  610. data/set-of-emails/maildir/mac/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
  611. data/set-of-emails/maildir/mac/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
  612. data/set-of-emails/maildir/mac/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  613. data/set-of-emails/maildir/mac/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  614. data/set-of-emails/maildir/mac/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  615. data/set-of-emails/maildir/mac/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  616. data/set-of-emails/maildir/mac/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
  617. data/set-of-emails/maildir/mac/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  618. data/set-of-emails/maildir/mac/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  619. data/set-of-emails/maildir/mac/lhost-googlegroups-01.eml +1 -1
  620. data/set-of-emails/maildir/mac/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  621. data/set-of-emails/maildir/mac/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  622. data/set-of-emails/maildir/mac/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  623. data/set-of-emails/maildir/mac/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  624. data/set-of-emails/maildir/mac/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  625. data/set-of-emails/maildir/mac/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
  626. data/set-of-emails/maildir/mac/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  627. data/set-of-emails/maildir/mac/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  628. data/set-of-emails/maildir/mac/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  629. data/set-of-emails/maildir/mac/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  630. data/set-of-emails/maildir/mac/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  631. data/set-of-emails/maildir/mac/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  632. data/set-of-emails/maildir/mac/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  633. data/set-of-emails/maildir/mac/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  634. data/set-of-emails/maildir/mac/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  635. data/set-of-emails/maildir/mac/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  636. data/set-of-emails/maildir/mac/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  637. data/set-of-emails/maildir/mac/lhost-powermta-01.eml +1 -4
  638. data/set-of-emails/maildir/mac/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  639. data/set-of-emails/maildir/mac/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  640. data/set-of-emails/maildir/mac/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  641. data/set-of-emails/maildir/mac/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  642. data/set-of-emails/maildir/mac/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  643. data/set-of-emails/maildir/mac/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  644. data/set-of-emails/maildir/mac/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  645. data/set-of-emails/maildir/mac/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  646. data/set-of-emails/maildir/mac/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  647. data/set-of-emails/maildir/mac/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  648. data/set-of-emails/maildir/mac/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  649. data/set-of-emails/maildir/mac/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  650. data/set-of-emails/maildir/mac/lhost-x6-01.eml +1 -3
  651. data/set-of-emails/maildir/mac/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  652. data/set-of-emails/maildir/mac/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  653. data/set-of-emails/maildir/mac/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  654. data/set-of-emails/maildir/mac/rhost-iua-01.eml +1 -4
  655. metadata +614 -584
  656. data/fig/sisimai-architecture.png +0 -0
  657. data/lib/sisimai/bite.rb +0 -37
  658. data/lib/sisimai/bite/email.rb +0 -61
  659. data/lib/sisimai/bite/email/activehunter.rb +0 -117
  660. data/lib/sisimai/bite/email/amavis.rb +0 -133
  661. data/lib/sisimai/bite/email/amazonses.rb +0 -186
  662. data/lib/sisimai/bite/email/amazonworkmail.rb +0 -170
  663. data/lib/sisimai/bite/email/aol.rb +0 -168
  664. data/lib/sisimai/bite/email/apachejames.rb +0 -158
  665. data/lib/sisimai/bite/email/bigfoot.rb +0 -162
  666. data/lib/sisimai/bite/email/biglobe.rb +0 -134
  667. data/lib/sisimai/bite/email/courier.rb +0 -181
  668. data/lib/sisimai/bite/email/domino.rb +0 -156
  669. data/lib/sisimai/bite/email/einsundeins.rb +0 -124
  670. data/lib/sisimai/bite/email/exchange2003.rb +0 -261
  671. data/lib/sisimai/bite/email/exchange2007.rb +0 -164
  672. data/lib/sisimai/bite/email/fml.rb +0 -158
  673. data/lib/sisimai/bite/email/gmx.rb +0 -152
  674. data/lib/sisimai/bite/email/gsuite.rb +0 -228
  675. data/lib/sisimai/bite/email/imailserver.rb +0 -163
  676. data/lib/sisimai/bite/email/interscanmss.rb +0 -133
  677. data/lib/sisimai/bite/email/kddi.rb +0 -146
  678. data/lib/sisimai/bite/email/mailfoundry.rb +0 -120
  679. data/lib/sisimai/bite/email/mailmarshalsmtp.rb +0 -165
  680. data/lib/sisimai/bite/email/mcafee.rb +0 -157
  681. data/lib/sisimai/bite/email/messagelabs.rb +0 -161
  682. data/lib/sisimai/bite/email/messagingserver.rb +0 -187
  683. data/lib/sisimai/bite/email/mfilter.rb +0 -152
  684. data/lib/sisimai/bite/email/notes.rb +0 -167
  685. data/lib/sisimai/bite/email/office365.rb +0 -243
  686. data/lib/sisimai/bite/email/outlook.rb +0 -173
  687. data/lib/sisimai/bite/email/postfix.rb +0 -261
  688. data/lib/sisimai/bite/email/receivingses.rb +0 -173
  689. data/lib/sisimai/bite/email/sendgrid.rb +0 -189
  690. data/lib/sisimai/bite/email/sendmail.rb +0 -247
  691. data/lib/sisimai/bite/email/surfcontrol.rb +0 -147
  692. data/lib/sisimai/bite/email/userdefined.rb +0 -115
  693. data/lib/sisimai/bite/email/v5sendmail.rb +0 -193
  694. data/lib/sisimai/bite/email/verizon.rb +0 -225
  695. data/lib/sisimai/bite/email/x1.rb +0 -114
  696. data/lib/sisimai/bite/email/x2.rb +0 -110
  697. data/lib/sisimai/bite/email/x3.rb +0 -128
  698. data/lib/sisimai/bite/email/x5.rb +0 -153
  699. data/lib/sisimai/bite/email/yahoo.rb +0 -138
  700. data/lib/sisimai/bite/email/yandex.rb +0 -161
  701. data/lib/sisimai/bite/email/zoho.rb +0 -153
  702. data/lib/sisimai/bite/json.rb +0 -36
  703. data/lib/sisimai/bite/json/amazonses.rb +0 -242
  704. data/lib/sisimai/bite/json/sendgrid.rb +0 -123
  705. data/lib/sisimai/message/email.rb +0 -477
  706. data/lib/sisimai/message/json.rb +0 -198
  707. data/lib/sisimai/order/email.rb +0 -205
  708. data/lib/sisimai/order/json.rb +0 -52
  709. data/set-of-emails/jsonobj/json-amazonses-01.json +0 -1
  710. data/set-of-emails/jsonobj/json-amazonses-02.json +0 -11
  711. data/set-of-emails/jsonobj/json-amazonses-03.json +0 -1
  712. data/set-of-emails/jsonobj/json-amazonses-04.json +0 -1
  713. data/set-of-emails/jsonobj/json-amazonses-05.json +0 -1
  714. data/set-of-emails/jsonobj/json-amazonses-06.json +0 -1
  715. data/set-of-emails/jsonobj/json-sendgrid-01.json +0 -1
  716. data/set-of-emails/jsonobj/json-sendgrid-02.json +0 -1
  717. data/set-of-emails/jsonobj/json-sendgrid-03.json +0 -1
  718. data/set-of-emails/jsonobj/json-sendgrid-04.json +0 -1
  719. data/set-of-emails/jsonobj/json-sendgrid-05.json +0 -1
  720. data/set-of-emails/jsonobj/json-sendgrid-06.json +0 -1
  721. data/set-of-emails/jsonobj/json-sendgrid-07.json +0 -1
  722. data/set-of-emails/jsonobj/json-sendgrid-08.json +0 -1
  723. data/set-of-emails/jsonobj/json-sendgrid-09.json +0 -1
  724. data/set-of-emails/jsonobj/json-sendgrid-10.json +0 -1
  725. data/set-of-emails/jsonobj/json-sendgrid-11.json +0 -1
  726. data/set-of-emails/jsonobj/json-sendgrid-12.json +0 -1
  727. data/set-of-emails/jsonobj/json-sendgrid-13.json +0 -1
  728. data/set-of-emails/jsonobj/json-sendgrid-14.json +0 -1
  729. data/set-of-emails/jsonobj/json-sendgrid-15.json +0 -1
  730. data/set-of-emails/jsonobj/json-sendgrid-16.json +0 -1
  731. data/set-of-emails/jsonobj/json-sendgrid-17.json +0 -1
@@ -0,0 +1,164 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Verizon parses a bounce email which created by
3
+ # Verizon Wireless.
4
+ # Methods in the module are called from only Sisimai::Message.
5
+ module Verizon
6
+ class << self
7
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/Verizon.pm
8
+ require 'sisimai/lhost'
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+
11
+ # Parse bounce messages from Verizon
12
+ # @param [Hash] mhead Message headers of a bounce email
13
+ # @param [String] mbody Message body of a bounce email
14
+ # @return [Hash] Bounce data list and message/rfc822 part
15
+ # @return [Nil] it failed to parse or the arguments are missing
16
+ def make(mhead, mbody)
17
+ match = -1
18
+ while true
19
+ # Check the value of "From" header
20
+ # :'subject' => %r/Undeliverable Message/,
21
+ break unless mhead['received'].any? { |a| a.include?('.vtext.com (') }
22
+ match = 1 if mhead['from'] == 'post_master@vtext.com'
23
+ match = 0 if mhead['from'] =~ /[<]?sysadmin[@].+[.]vzwpix[.]com[>]?\z/
24
+ break
25
+ end
26
+ return nil if match < 0
27
+
28
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
29
+ rebackbone = /^__BOUNDARY_STRING_HERE__/
30
+ readcursor = 0 # (Integer) Points the current cursor position
31
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
32
+ senderaddr = '' # (String) Sender address in the message body
33
+ subjecttxt = '' # (String) Subject of the original message
34
+
35
+ markingsof = {} # (Hash) Delimiter patterns
36
+ startingof = {} # (Hash) Delimiter strings
37
+ messagesof = {} # (Hash) Error message patterns
38
+ v = nil
39
+
40
+ if match == 1
41
+ # vtext.com
42
+ markingsof = { message: %r/\AError:[ \t]/ }
43
+ messagesof = {
44
+ # The attempted recipient address does not exist.
45
+ 'userunknown' => ['550 - Requested action not taken: no such user here'],
46
+ }
47
+ boundary00 = Sisimai::MIME.boundary(mhead['content-type']) || ''
48
+ rebackbone = Regexp.new('^' << Regexp.escape('--' << boundary00 << '--')) unless boundary00.empty?
49
+ emailsteak = Sisimai::RFC5322.fillet(mbody, rebackbone)
50
+ bodyslices = emailsteak[0].split("\n")
51
+
52
+ while e = bodyslices.shift do
53
+ # Read error messages and delivery status lines from the head of the email
54
+ # to the previous line of the beginning of the original message.
55
+ if readcursor == 0
56
+ # Beginning of the bounce message or delivery status part
57
+ readcursor |= Indicators[:deliverystatus] if e =~ markingsof[:message]
58
+ next
59
+ end
60
+ next if (readcursor & Indicators[:deliverystatus]) == 0
61
+ next if e.empty?
62
+
63
+ # Message details:
64
+ # Subject: Test message
65
+ # Sent date: Wed Jun 12 02:21:53 GMT 2013
66
+ # MAIL FROM: *******@hg.example.com
67
+ # RCPT TO: *****@vtext.com
68
+ v = dscontents[-1]
69
+ if cv = e.match(/\A[ \t]+RCPT TO: (.*)\z/)
70
+ if v['recipient']
71
+ # There are multiple recipient addresses in the message body.
72
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
73
+ v = dscontents[-1]
74
+ end
75
+
76
+ v['recipient'] = cv[1]
77
+ recipients += 1
78
+ next
79
+
80
+ elsif cv = e.match(/\A[ \t]+MAIL FROM:[ \t](.+)\z/)
81
+ # MAIL FROM: *******@hg.example.com
82
+ senderaddr = cv[1] if senderaddr.empty?
83
+
84
+ elsif cv = e.match(/\A[ \t]+Subject:[ \t](.+)\z/)
85
+ # Subject:
86
+ subjecttxt = cv[1] if subjecttxt.empty?
87
+ else
88
+ # 550 - Requested action not taken: no such user here
89
+ v['diagnosis'] = e if e =~ /\A(\d{3})[ \t][-][ \t](.*)\z/
90
+ end
91
+ end
92
+ else
93
+ # vzwpix.com
94
+ startingof = { message: ['Message could not be delivered to mobile'] }
95
+ messagesof = { 'userunknown' => ['No valid recipients for this MM'] }
96
+ boundary00 = Sisimai::MIME.boundary(mhead['content-type'])
97
+ rebackbone = Regexp.new('^' << Regexp.escape('--' << boundary00 << '--')) unless boundary00.empty?
98
+ emailsteak = Sisimai::RFC5322.fillet(mbody, rebackbone)
99
+ bodyslices = emailsteak[0].split("\n")
100
+
101
+ while e = bodyslices.shift do
102
+ # Read error messages and delivery status lines from the head of the email
103
+ # to the previous line of the beginning of the original message.
104
+ if readcursor == 0
105
+ # Beginning of the bounce message or delivery status part
106
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(startingof[:message][0])
107
+ next
108
+ end
109
+ next if (readcursor & Indicators[:deliverystatus]) == 0
110
+ next if e.empty?
111
+
112
+ # Original Message:
113
+ # From: kijitora <kijitora@example.jp>
114
+ # To: 0000000000@vzwpix.com
115
+ # Subject: test for bounce
116
+ # Date: Wed, 20 Jun 2013 10:29:52 +0000
117
+ v = dscontents[-1]
118
+ if cv = e.match(/\ATo:[ \t]+(.*)\z/)
119
+ if v['recipient']
120
+ # There are multiple recipient addresses in the message body.
121
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
122
+ v = dscontents[-1]
123
+ end
124
+ v['recipient'] = Sisimai::Address.s3s4(cv[1])
125
+ recipients += 1
126
+ next
127
+
128
+ elsif cv = e.match(/\AFrom:[ \t](.+)\z/)
129
+ # From: kijitora <kijitora@example.jp>
130
+ senderaddr = Sisimai::Address.s3s4(cv[1]) if senderaddr.empty?
131
+
132
+ elsif cv = e.match(/\ASubject:[ \t](.+)\z/)
133
+ # Subject:
134
+ subjecttxt = cv[1] if subjecttxt.empty?
135
+ else
136
+ # Message could not be delivered to mobile.
137
+ # Error: No valid recipients for this MM
138
+ v['diagnosis'] = e if e =~ /\AError:[ \t]+(.+)\z/
139
+ end
140
+ end
141
+ end
142
+ return nil unless recipients > 0
143
+
144
+ # Set the value of "MAIL FROM:" and "From:"
145
+ emailsteak[1] << ('From: ' << senderaddr << "\n") unless emailsteak[1] =~ /^From: /
146
+ emailsteak[1] << ('Subject: ' << subjecttxt << "\n") unless emailsteak[1] =~ /^Subject: /
147
+
148
+ dscontents.each do |e|
149
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
150
+ messagesof.each_key do |r|
151
+ # Verify each regular expression of session errors
152
+ next unless messagesof[r].any? { |a| e['diagnosis'].include?(a) }
153
+ e['reason'] = r
154
+ break
155
+ end
156
+ end
157
+
158
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
159
+ end
160
+ def description; return 'Verizon Wireless: https://www.verizonwireless.com'; end
161
+ end
162
+ end
163
+ end
164
+
@@ -0,0 +1,78 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X1 parses a bounce email which created by Unknown MTA #1.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X1
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X1.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Received: from \d+[.]\d+[.]\d+[.]\d|.freeze
11
+ MarkingsOf = { message: %r/\AThe original message was received at (.+)\z/ }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #1
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?('Returned Mail: ')
20
+ return nil unless mhead['from'].start_with?('"Mail Deliver 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
+ datestring = '' # (String) Date string
28
+ v = nil
29
+
30
+ while e = bodyslices.shift do
31
+ # Read error messages and delivery status lines from the head of the email
32
+ # to the previous line of the beginning of the original message.
33
+ if readcursor == 0
34
+ # Beginning of the bounce message or delivery status part
35
+ readcursor |= Indicators[:deliverystatus] if e =~ MarkingsOf[:message]
36
+ next
37
+ end
38
+ next if (readcursor & Indicators[:deliverystatus]) == 0
39
+ next if e.empty?
40
+
41
+ # The original message was received at Thu, 29 Apr 2010 23:34:45 +0900 (JST)
42
+ # from shironeko@example.jp
43
+ #
44
+ # ---The following addresses had delivery errors---
45
+ #
46
+ # kijitora@example.co.jp [User unknown]
47
+ v = dscontents[-1]
48
+
49
+ if cv = e.match(/\A([^ ]+?[@][^ ]+?)[ ]+\[(.+)\]\z/)
50
+ # kijitora@example.co.jp [User unknown]
51
+ if v['recipient']
52
+ # There are multiple recipient addresses in the message body.
53
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
54
+ v = dscontents[-1]
55
+ end
56
+ v['recipient'] = cv[1]
57
+ v['diagnosis'] = cv[2]
58
+ recipients += 1
59
+
60
+ elsif cv = e.match(MarkingsOf[:message])
61
+ # The original message was received at Thu, 29 Apr 2010 23:34:45 +0900 (JST)
62
+ datestring = cv[1]
63
+ end
64
+ end
65
+ return nil unless recipients > 0
66
+
67
+ dscontents.each do |e|
68
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
69
+ e['date'] = datestring || ''
70
+ end
71
+
72
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
73
+ end
74
+ def description; return 'Unknown MTA #1'; end
75
+ end
76
+ end
77
+ end
78
+
@@ -0,0 +1,71 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X2 parses a bounce email which created by Unknown MTA #2.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X2
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X2.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^--- Original message follows[.]|.freeze
11
+ StartingOf = { message: ['Unable to deliver message to the following address'] }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #2
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['from'].include?('MAILER-DAEMON@')
20
+ return nil unless mhead['subject'] =~ %r/\A(?>Delivery failure|fail(?:ure|ed) delivery)/
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
+ # Message from example.com.
41
+ # Unable to deliver message to the following address(es).
42
+ #
43
+ # <kijitora@example.com>:
44
+ # This user doesn't have a example.com account (kijitora@example.com) [0]
45
+ v = dscontents[-1]
46
+
47
+ if cv = e.match(/\A[<]([^ ]+[@][^ ]+)[>]:\z/)
48
+ # <kijitora@example.com>:
49
+ if v['recipient']
50
+ # There are multiple recipient addresses in the message body.
51
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
52
+ v = dscontents[-1]
53
+ end
54
+ v['recipient'] = cv[1]
55
+ recipients += 1
56
+ else
57
+ # This user doesn't have a example.com account (kijitora@example.com) [0]
58
+ v['diagnosis'] ||= ''
59
+ v['diagnosis'] << ' ' << e
60
+ end
61
+ end
62
+ return nil unless recipients > 0
63
+
64
+ dscontents.each { |e| e['diagnosis'] = Sisimai::String.sweep(e['diagnosis']) }
65
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
66
+ end
67
+ def description; return 'Unknown MTA #2'; end
68
+ end
69
+ end
70
+ end
71
+
@@ -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");
@@ -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