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,114 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X5 parses a bounce email which created by Unknown MTA #5.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X5
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X5.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Content-Type:[ ]message/rfc822|.freeze
11
+ StartingOf = { message: ['Content-Type: message/delivery-status'] }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #5
14
+ # @param [Hash] mhead Message headers of a bounce email
15
+ # @param [String] mbody Message body of a bounce email
16
+ # @return [Hash] Bounce data list and message/rfc822 part
17
+ # @return [Nil] it failed to parse or the arguments are missing
18
+ def make(mhead, mbody)
19
+ match = 0
20
+ match += 1 if mhead['to'].to_s.include?('NotificationRecipients')
21
+ if mhead['from'].include?('TWFpbCBEZWxpdmVyeSBTdWJzeXN0ZW0')
22
+ # From: "=?iso-2022-jp?B?TWFpbCBEZWxpdmVyeSBTdWJzeXN0ZW0=?=" <...>
23
+ # Mail Delivery Subsystem
24
+ mhead['from'].split(' ').each do |f|
25
+ # Check each element of From: header
26
+ next unless Sisimai::MIME.is_mimeencoded(f)
27
+ match += 1 if Sisimai::MIME.mimedecode([f]).include?('Mail Delivery Subsystem')
28
+ break
29
+ end
30
+ end
31
+
32
+ if Sisimai::MIME.is_mimeencoded(mhead['subject'])
33
+ # Subject: =?iso-2022-jp?B?UmV0dXJuZWQgbWFpbDogVXNlciB1bmtub3du?=
34
+ plain = Sisimai::MIME.mimedecode([mhead['subject']])
35
+ match += 1 if plain.include?('Mail Delivery Subsystem')
36
+ end
37
+ return nil if match < 2
38
+
39
+ require 'sisimai/rfc1894'
40
+ fieldtable = Sisimai::RFC1894.FIELDTABLE
41
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
42
+ readslices = ['']
43
+ readcursor = 0 # (Integer) Points the current cursor position
44
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
45
+ v = nil
46
+
47
+ # Pick the second message/rfc822 part because the format of email-x5-*.eml is nested structure
48
+ prefillets = mbody.split(ReBackbone, 2)
49
+ prefillets[1].sub!(/\A.+?\n\n/s, '')
50
+ emailsteak = Sisimai::RFC5322.fillet(prefillets[1], ReBackbone)
51
+ bodyslices = emailsteak[0].split("\n")
52
+
53
+ while e = bodyslices.shift do
54
+ # Read error messages and delivery status lines from the head of the email
55
+ # to the previous line of the beginning of the original message.
56
+ readslices << e # Save the current line for the next loop
57
+
58
+ if readcursor == 0
59
+ # Beginning of the bounce message or message/delivery-status part
60
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
61
+ next
62
+ end
63
+ next if (readcursor & Indicators[:deliverystatus]) == 0
64
+ next if e.empty?
65
+
66
+ v = dscontents[-1]
67
+ if f = Sisimai::RFC1894.match(e)
68
+ # "e" matched with any field defined in RFC3464
69
+ next unless o = Sisimai::RFC1894.field(e)
70
+ v = dscontents[-1]
71
+
72
+ if o[-1] == 'addr'
73
+ # Final-Recipient: rfc822; kijitora@example.jp
74
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
75
+ if o[0] == 'final-recipient'
76
+ # Final-Recipient: rfc822; kijitora@example.jp
77
+ if v['recipient']
78
+ # There are multiple recipient addresses in the message body.
79
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
80
+ v = dscontents[-1]
81
+ end
82
+ v['recipient'] = o[2]
83
+ recipients += 1
84
+ else
85
+ # X-Actual-Recipient: rfc822; kijitora@example.co.jp
86
+ v['alias'] = o[2]
87
+ end
88
+ elsif o[-1] == 'code'
89
+ # Diagnostic-Code: SMTP; 550 5.1.1 <userunknown@example.jp>... User Unknown
90
+ v['spec'] = o[1]
91
+ v['diagnosis'] = o[2]
92
+ else
93
+ # Other DSN fields defined in RFC3464
94
+ next unless fieldtable[o[0]]
95
+ v[fieldtable[o[0]]] = o[2]
96
+ end
97
+ else
98
+ # Continued line of the value of Diagnostic-Code field
99
+ next unless readslices[-2].start_with?('Diagnostic-Code:')
100
+ next unless cv = e.match(/\A[ \t]+(.+)\z/)
101
+ v['diagnosis'] << ' ' << cv[1]
102
+ readslices[-1] = 'Diagnostic-Code: ' << e
103
+ end
104
+ end
105
+ return nil unless recipients > 0
106
+
107
+ dscontents.each { |e| e['diagnosis'] ||= Sisimai::String.sweep(e['diagnosis']) }
108
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
109
+ end
110
+ def description; return 'Unknown MTA #5'; end
111
+ end
112
+ end
113
+ end
114
+
@@ -0,0 +1,74 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::X6 parses a bounce email which created by Unknown MTA #6.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module X6
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/X6.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r/^The attachment contains the original mail headers.+$/.freeze
11
+ MarkingsOf = { message: %r/\A\d+[ ]*error[(]s[)]:/ }.freeze
12
+
13
+ # Parse bounce messages from Unknown MTA #6
14
+ # @param [Hash] mhead Message headers of a bounce email
15
+ # @param [String] mbody Message body of a bounce email
16
+ # @return [Hash] Bounce data list and message/rfc822 part
17
+ # @return [Nil] it failed to parse or the arguments are missing
18
+ # @since v4.25.6
19
+ def make(mhead, mbody)
20
+ return nil unless mhead['subject'].start_with?('There was an error sending your mail')
21
+
22
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
23
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
24
+ bodyslices = emailsteak[0].split("\n")
25
+ readcursor = 0 # (Integer) Points the current cursor position
26
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
27
+ v = nil
28
+
29
+ while e = bodyslices.shift do
30
+ # Read error messages and delivery status lines from the head of the email
31
+ # to the previous line of the beginning of the original message.
32
+ if readcursor == 0
33
+ # Beginning of the bounce message or delivery status part
34
+ readcursor |= Indicators[:deliverystatus] if e =~ MarkingsOf[:message]
35
+ next
36
+ end
37
+ next if (readcursor & Indicators[:deliverystatus]) == 0
38
+ next if e.empty?
39
+
40
+ # 1 error(s):
41
+ #
42
+ # SMTP Server <mta2.example.jp> rejected recipient <kijitora@examplejp>
43
+ # (Error following RCPT command). It responded as follows: [550 5.1.1 User unknown]v = dscontents[-1]
44
+ v = dscontents[-1]
45
+ if cv = e.match(/<([^ @]+[@][^ @]+)>/) || e.match(/errors:[ ]*([^ ]+[@][^ ]+)/)
46
+ # SMTP Server <mta2.example.jp> rejected recipient <kijitora@examplejp>
47
+ # The following recipients returned permanent errors: neko@example.jp.
48
+ if v['recipient']
49
+ # There are multiple recipient addresses in the message body.
50
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
51
+ v = dscontents[-1]
52
+ end
53
+ v['recipient'] = Sisimai::Address.s3s4(cv[1])
54
+ v['diagnosis'] = e
55
+ recipients += 1
56
+ end
57
+ end
58
+ return nil unless recipients > 0
59
+
60
+ dscontents.each do |e|
61
+ if cv = e['diagnosis'].match(/\b(HELO|EHLO|MAIL|RCPT|DATA)\b/)
62
+ # ...(Error following RCPT command).
63
+ e['command'] = cv[1]
64
+ end
65
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
66
+ end
67
+
68
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
69
+ end
70
+ def description; return 'Unknown MTA #6'; end
71
+ end
72
+ end
73
+ end
74
+
@@ -0,0 +1,101 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Yahoo parses a bounce email which created by Yahoo! MAIL.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module Yahoo
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/Yahoo.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^--- Below this line is a copy of the message[.]|.freeze
11
+ StartingOf = { message: ['Sorry, we were unable to deliver your message'] }.freeze
12
+
13
+ # Parse bounce messages from Yahoo! MAIL
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
+ # X-YMailISG: YtyUVyYWLDsbDh...
20
+ # X-YMail-JAS: Pb65aU4VM1mei...
21
+ # X-YMail-OSG: bTIbpDEVM1lHz...
22
+ # X-Originating-IP: [192.0.2.9]
23
+ return nil unless mhead['x-ymailisg']
24
+
25
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
26
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
27
+ bodyslices = emailsteak[0].split("\n")
28
+ readcursor = 0 # (Integer) Points the current cursor position
29
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
30
+ v = nil
31
+
32
+ while e = bodyslices.shift do
33
+ # Read error messages and delivery status lines from the head of the email
34
+ # to the previous line of the beginning of the original message.
35
+ if readcursor == 0
36
+ # Beginning of the bounce message or delivery status part
37
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
38
+ next
39
+ end
40
+ next if (readcursor & Indicators[:deliverystatus]) == 0
41
+ next if e.empty?
42
+
43
+ # Sorry, we were unable to deliver your message to the following address.
44
+ #
45
+ # <kijitora@example.org>:
46
+ # Remote host said: 550 5.1.1 <kijitora@example.org>... User Unknown [RCPT_TO]
47
+ v = dscontents[-1]
48
+
49
+ if cv = e.match(/\A[<](.+[@].+)[>]:[ \t]*\z/)
50
+ # <kijitora@example.org>:
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'] = ''
58
+ recipients += 1
59
+ else
60
+ if e.start_with?('Remote host said:')
61
+ # Remote host said: 550 5.1.1 <kijitora@example.org>... User Unknown [RCPT_TO]
62
+ v['diagnosis'] = e
63
+
64
+ # Get SMTP command from the value of "Remote host said:"
65
+ if cv = e.match(/\[([A-Z]{4}).*\]\z/) then v['command'] = cv[1] end
66
+ else
67
+ # <mailboxfull@example.jp>:
68
+ # Remote host said:
69
+ # 550 5.2.2 <mailboxfull@example.jp>... Mailbox Full
70
+ # [RCPT_TO]
71
+ if v['diagnosis'].start_with?('Remote host said:')
72
+ # Remote host said:
73
+ # 550 5.2.2 <mailboxfull@example.jp>... Mailbox Full
74
+ if cv = e.match(/\[([A-Z]{4}).*\]\z/)
75
+ # [RCPT_TO]
76
+ v['command'] = cv[1]
77
+ else
78
+ # 550 5.2.2 <mailboxfull@example.jp>... Mailbox Full
79
+ v['diagnosis'] = e
80
+ end
81
+ else
82
+ # Error message which does not start with 'Remote host said:'
83
+ v['diagnosis'] << ' ' << e
84
+ end
85
+ end
86
+ end
87
+ end
88
+ return nil unless recipients > 0
89
+
90
+ dscontents.each do |e|
91
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'].gsub(/\\n/, ' '))
92
+ e['command'] ||= 'RCPT' if e['diagnosis'] =~ /[<].+[@].+[>]/
93
+ end
94
+
95
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
96
+ end
97
+ def description; return 'Yahoo! MAIL: https://www.yahoo.com'; end
98
+ end
99
+ end
100
+ end
101
+
@@ -0,0 +1,123 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Yandex parses a bounce email which created by Yandex.Mail.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module Yandex
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/Yandex.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Content-Type:[ ]message/rfc822|.freeze
11
+ StartingOf = { message: ['This is the mail system at host yandex.ru.'] }.freeze
12
+
13
+ # Parse bounce messages from Yandex.Mail
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
+ # X-Yandex-Front: mxback1h.mail.yandex.net
20
+ # X-Yandex-TimeMark: 1417885948
21
+ # X-Yandex-Uniq: 92309766-f1c8-4bd4-92bc-657c75766587
22
+ # X-Yandex-Spam: 1
23
+ # X-Yandex-Forward: 10104c00ad0726da5f37374723b1e0c8
24
+ # X-Yandex-Queue-ID: 367D79E130D
25
+ # X-Yandex-Sender: rfc822; shironeko@yandex.example.com
26
+ return nil unless mhead['x-yandex-uniq']
27
+ return nil unless mhead['from'] == 'mailer-daemon@yandex.ru'
28
+
29
+ require 'sisimai/rfc1894'
30
+ fieldtable = Sisimai::RFC1894.FIELDTABLE
31
+ permessage = {} # (Hash) Store values of each Per-Message field
32
+
33
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
34
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
35
+ bodyslices = emailsteak[0].split("\n")
36
+ readslices = ['']
37
+ readcursor = 0 # (Integer) Points the current cursor position
38
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
39
+ commandset = [] # (Array) ``in reply to * command'' list
40
+ v = nil
41
+
42
+ while e = bodyslices.shift do
43
+ # Read error messages and delivery status lines from the head of the email
44
+ # to the previous line of the beginning of the original message.
45
+ readslices << e # Save the current line for the next loop
46
+
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
+ # The line does not begin with a DSN field defined in RFC3464
90
+ if cv = e.match(/[ \t][(]in reply to .*([A-Z]{4}).*/)
91
+ # 5.1.1 <userunknown@example.co.jp>... User Unknown (in reply to RCPT TO
92
+ commandset << cv[1]
93
+
94
+ elsif cv = e.match(/([A-Z]{4})[ \t]*.*command[)]\z/)
95
+ # to MAIL command)
96
+ commandset << cv[1]
97
+ else
98
+ # Continued line of the value of Diagnostic-Code field
99
+ next unless readslices[-2].start_with?('Diagnostic-Code:')
100
+ next unless cv = e.match(/\A[ \t]+(.+)\z/)
101
+ v['diagnosis'] << ' ' << cv[1]
102
+ readslices[-1] = 'Diagnostic-Code: ' << e
103
+ end
104
+ end
105
+ end
106
+ return nil unless recipients > 0
107
+
108
+ dscontents.each do |e|
109
+ # Set default values if each value is empty.
110
+ e['lhost'] ||= permessage['rhost']
111
+ permessage.each_key { |a| e[a] ||= permessage[a] || '' }
112
+
113
+ e['command'] = commandset.shift || ''
114
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'].tr("\n", ' '))
115
+ end
116
+
117
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
118
+ end
119
+ def description; return 'Yandex.Mail: https://www.yandex.ru'; end
120
+ end
121
+ end
122
+ end
123
+
@@ -0,0 +1,109 @@
1
+ module Sisimai::Lhost
2
+ # Sisimai::Lhost::Zoho parses a bounce email which created by Zoho Mail.
3
+ # Methods in the module are called from only Sisimai::Message.
4
+ module Zoho
5
+ class << self
6
+ # Imported from p5-Sisimail/lib/Sisimai/Lhost/Zoho.pm
7
+ require 'sisimai/lhost'
8
+
9
+ Indicators = Sisimai::Lhost.INDICATORS
10
+ ReBackbone = %r|^Received:[ ]*from[ ]mail[.]zoho[.]com[ ]by[ ]mx[.]zohomail[.]com|.freeze
11
+ StartingOf = { message: ['This message was created automatically by mail delivery'] }.freeze
12
+ MessagesOf = { 'expired' => ['Host not reachable'] }.freeze
13
+
14
+ # Parse bounce messages from Zoho Mail
15
+ # @param [Hash] mhead Message headers of a bounce email
16
+ # @param [String] mbody Message body of a bounce email
17
+ # @return [Hash] Bounce data list and message/rfc822 part
18
+ # @return [Nil] it failed to parse or the arguments are missing
19
+ def make(mhead, mbody)
20
+ # X-ZohoMail: Si CHF_MF_NL SS_10 UW48 UB48 FMWL UW48 UB48 SGR3_1_09124_42
21
+ # X-Zoho-Virus-Status: 2
22
+ # X-Mailer: Zoho Mail
23
+ return nil unless mhead['x-zohomail']
24
+
25
+ dscontents = [Sisimai::Lhost.DELIVERYSTATUS]
26
+ emailsteak = Sisimai::RFC5322.fillet(mbody, ReBackbone)
27
+ bodyslices = emailsteak[0].split("\n")
28
+ readcursor = 0 # (Integer) Points the current cursor position
29
+ recipients = 0 # (Integer) The number of 'Final-Recipient' header
30
+ qprintable = false
31
+ v = nil
32
+
33
+ while e = bodyslices.shift do
34
+ # Read error messages and delivery status lines from the head of the email
35
+ # to the previous line of the beginning of the original message.
36
+ if readcursor == 0
37
+ # Beginning of the bounce message or delivery status part
38
+ readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:message][0])
39
+ next
40
+ end
41
+ next if (readcursor & Indicators[:deliverystatus]) == 0
42
+ next if e.empty?
43
+
44
+ # This message was created automatically by mail delivery software.
45
+ # A message that you sent could not be delivered to one or more of its recip=
46
+ # ients. This is a permanent error.=20
47
+ #
48
+ # kijitora@example.co.jp Invalid Address, ERROR_CODE :550, ERROR_CODE :5.1.=
49
+ # 1 <kijitora@example.co.jp>... User Unknown
50
+
51
+ # This message was created automatically by mail delivery software.
52
+ # A message that you sent could not be delivered to one or more of its recipients. This is a permanent error.
53
+ #
54
+ # shironeko@example.org Invalid Address, ERROR_CODE :550, ERROR_CODE :Requested action not taken: mailbox unavailable
55
+ v = dscontents[-1]
56
+
57
+ if cv = e.match(/\A([^ ]+[@][^ ]+)[ \t]+(.+)\z/)
58
+ # kijitora@example.co.jp Invalid Address, ERROR_CODE :550, ERROR_CODE :5.1.=
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
+ v['diagnosis'] = cv[2]
66
+
67
+ if v['diagnosis'].end_with?('=')
68
+ # Quoted printable
69
+ v['diagnosis'] = v['diagnosis'].chomp('=')
70
+ qprintable = true
71
+ end
72
+ recipients += 1
73
+
74
+ elsif cv = e.match(/\A\[Status: .+[<]([^ ]+[@][^ ]+)[>],/)
75
+ # Expired
76
+ # [Status: Error, Address: <kijitora@6kaku.example.co.jp>, ResponseCode 421, , Host not reachable.]
77
+ if v['recipient']
78
+ # There are multiple recipient addresses in the message body.
79
+ dscontents << Sisimai::Lhost.DELIVERYSTATUS
80
+ v = dscontents[-1]
81
+ end
82
+ v['recipient'] = cv[1]
83
+ v['diagnosis'] = e
84
+ recipients += 1
85
+ else
86
+ # Continued line
87
+ next unless qprintable
88
+ v['diagnosis'] << e
89
+ end
90
+ end
91
+ return nil unless recipients > 0
92
+
93
+ dscontents.each do |e|
94
+ e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'].tr("\n", ' '))
95
+ MessagesOf.each_key do |r|
96
+ # Verify each regular expression of session errors
97
+ next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) }
98
+ e['reason'] = r
99
+ break
100
+ end
101
+ end
102
+
103
+ return { 'ds' => dscontents, 'rfc822' => emailsteak[1] }
104
+ end
105
+ def description; return 'Zoho Mail: https://www.zoho.com'; end
106
+ end
107
+ end
108
+ end
109
+