sisimai 4.25.2-java → 4.25.8-java

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 (734) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.travis.yml +3 -2
  4. data/ANALYTICAL-PRECISION +60 -58
  5. data/Benchmarks.mk +5 -3
  6. data/CONTRIBUTING +4 -0
  7. data/ChangeLog.md +215 -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 +35 -35
  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 +29 -34
  82. data/lib/sisimai/order.rb +179 -4
  83. data/lib/sisimai/reason.rb +32 -23
  84. data/lib/sisimai/reason/blocked.rb +1 -1
  85. data/lib/sisimai/reason/norelaying.rb +1 -1
  86. data/lib/sisimai/reason/rejected.rb +2 -0
  87. data/lib/sisimai/reason/suspend.rb +1 -0
  88. data/lib/sisimai/reason/userunknown.rb +13 -6
  89. data/lib/sisimai/reason/virusdetected.rb +1 -0
  90. data/lib/sisimai/rfc1894.rb +3 -3
  91. data/lib/sisimai/rfc3464.rb +69 -77
  92. data/lib/sisimai/rfc3834.rb +14 -26
  93. data/lib/sisimai/rfc5322.rb +21 -33
  94. data/lib/sisimai/rhost.rb +10 -12
  95. data/lib/sisimai/rhost/cox.rb +112 -0
  96. data/lib/sisimai/rhost/exchangeonline.rb +26 -23
  97. data/lib/sisimai/rhost/franceptt.rb +120 -24
  98. data/lib/sisimai/rhost/godaddy.rb +1 -1
  99. data/lib/sisimai/rhost/googleapps.rb +2 -2
  100. data/lib/sisimai/rhost/iua.rb +39 -0
  101. data/lib/sisimai/rhost/spectrum.rb +73 -0
  102. data/lib/sisimai/smtp.rb +0 -13
  103. data/lib/sisimai/smtp/error.rb +7 -7
  104. data/lib/sisimai/string.rb +3 -11
  105. data/lib/sisimai/version.rb +1 -1
  106. data/set-of-emails/README.md +5 -5
  107. data/set-of-emails/maildir/bsd/arf-24.eml +50 -0
  108. data/set-of-emails/maildir/bsd/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  109. data/set-of-emails/maildir/bsd/{email-activehunter-02.eml → lhost-activehunter-02.eml} +0 -0
  110. data/set-of-emails/maildir/bsd/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  111. data/set-of-emails/maildir/bsd/{email-amavis-02.eml → lhost-amavis-02.eml} +0 -0
  112. data/set-of-emails/maildir/bsd/lhost-amavis-03.eml +90 -0
  113. data/set-of-emails/maildir/bsd/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  114. data/set-of-emails/maildir/bsd/{email-amazonses-02.eml → lhost-amazonses-02.eml} +0 -0
  115. data/set-of-emails/maildir/bsd/{email-amazonses-03.eml → lhost-amazonses-03.eml} +0 -0
  116. data/set-of-emails/maildir/bsd/{email-amazonses-05.eml → lhost-amazonses-05.eml} +0 -0
  117. data/set-of-emails/maildir/bsd/{email-amazonses-06.eml → lhost-amazonses-06.eml} +0 -0
  118. data/set-of-emails/maildir/bsd/{email-amazonses-07.eml → lhost-amazonses-07.eml} +0 -0
  119. data/set-of-emails/maildir/bsd/{email-amazonses-08.eml → lhost-amazonses-08.eml} +0 -0
  120. data/set-of-emails/maildir/bsd/{email-amazonses-09.eml → lhost-amazonses-09.eml} +0 -0
  121. data/set-of-emails/maildir/bsd/{email-amazonses-10.eml → lhost-amazonses-10.eml} +0 -0
  122. data/set-of-emails/maildir/bsd/{email-amazonses-11.eml → lhost-amazonses-11.eml} +0 -0
  123. data/set-of-emails/maildir/bsd/{email-amazonses-12.eml → lhost-amazonses-12.eml} +0 -0
  124. data/set-of-emails/maildir/bsd/{email-amazonses-13.eml → lhost-amazonses-13.eml} +0 -0
  125. data/set-of-emails/maildir/bsd/{email-amazonses-14.eml → lhost-amazonses-14.eml} +0 -0
  126. data/set-of-emails/maildir/bsd/{email-amazonses-15.eml → lhost-amazonses-15.eml} +0 -0
  127. data/set-of-emails/maildir/bsd/{email-amazonses-16.eml → lhost-amazonses-16.eml} +0 -0
  128. data/set-of-emails/maildir/bsd/{email-amazonses-17.eml → lhost-amazonses-17.eml} +0 -0
  129. data/set-of-emails/maildir/bsd/{email-amazonses-18.eml → lhost-amazonses-18.eml} +0 -0
  130. data/set-of-emails/maildir/bsd/{email-amazonses-19.eml → lhost-amazonses-19.eml} +0 -0
  131. data/set-of-emails/maildir/bsd/{email-amazonses-20.eml → lhost-amazonses-20.eml} +0 -0
  132. data/set-of-emails/maildir/bsd/{email-amazonses-21.eml → lhost-amazonses-21.eml} +0 -0
  133. data/set-of-emails/maildir/bsd/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  134. data/set-of-emails/maildir/bsd/{email-amazonworkmail-02.eml → lhost-amazonworkmail-02.eml} +0 -0
  135. data/set-of-emails/maildir/bsd/{email-amazonworkmail-03.eml → lhost-amazonworkmail-03.eml} +0 -0
  136. data/set-of-emails/maildir/bsd/{email-amazonworkmail-04.eml → lhost-amazonworkmail-04.eml} +0 -0
  137. data/set-of-emails/maildir/bsd/{email-amazonworkmail-05.eml → lhost-amazonworkmail-05.eml} +0 -0
  138. data/set-of-emails/maildir/bsd/{email-amazonworkmail-07.eml → lhost-amazonworkmail-07.eml} +0 -0
  139. data/set-of-emails/maildir/bsd/{email-amazonworkmail-08.eml → lhost-amazonworkmail-08.eml} +0 -0
  140. data/set-of-emails/maildir/bsd/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  141. data/set-of-emails/maildir/bsd/{email-aol-02.eml → lhost-aol-02.eml} +0 -0
  142. data/set-of-emails/maildir/bsd/{email-aol-03.eml → lhost-aol-03.eml} +0 -0
  143. data/set-of-emails/maildir/bsd/{email-aol-04.eml → lhost-aol-04.eml} +0 -0
  144. data/set-of-emails/maildir/bsd/{email-aol-05.eml → lhost-aol-05.eml} +0 -0
  145. data/set-of-emails/maildir/bsd/{email-aol-06.eml → lhost-aol-06.eml} +0 -0
  146. data/set-of-emails/maildir/bsd/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  147. data/set-of-emails/maildir/bsd/lhost-barracuda-01.eml +67 -0
  148. data/set-of-emails/maildir/bsd/lhost-barracuda-02.eml +71 -0
  149. data/set-of-emails/maildir/bsd/{email-bigfoot-02.eml → lhost-bigfoot-02.eml} +0 -0
  150. data/set-of-emails/maildir/bsd/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  151. data/set-of-emails/maildir/bsd/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  152. data/set-of-emails/maildir/bsd/{email-courier-02.eml → lhost-courier-02.eml} +0 -0
  153. data/set-of-emails/maildir/bsd/{email-courier-03.eml → lhost-courier-03.eml} +0 -0
  154. data/set-of-emails/maildir/bsd/{email-courier-04.eml → lhost-courier-04.eml} +0 -0
  155. data/set-of-emails/maildir/bsd/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  156. data/set-of-emails/maildir/bsd/{email-domino-02.eml → lhost-domino-02.eml} +0 -0
  157. data/set-of-emails/maildir/bsd/{email-domino-03.eml → lhost-domino-03.eml} +0 -0
  158. data/set-of-emails/maildir/bsd/{email-einsundeins-02.eml → lhost-einsundeins-02.eml} +0 -0
  159. data/set-of-emails/maildir/bsd/lhost-einsundeins-03.eml +66 -0
  160. data/set-of-emails/maildir/bsd/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  161. data/set-of-emails/maildir/bsd/{email-exchange2003-02.eml → lhost-exchange2003-02.eml} +0 -0
  162. data/set-of-emails/maildir/bsd/{email-exchange2003-03.eml → lhost-exchange2003-03.eml} +0 -0
  163. data/set-of-emails/maildir/bsd/{email-exchange2003-04.eml → lhost-exchange2003-04.eml} +0 -0
  164. data/set-of-emails/maildir/bsd/{email-exchange2003-05.eml → lhost-exchange2003-05.eml} +0 -0
  165. data/set-of-emails/maildir/bsd/{email-exchange2003-07.eml → lhost-exchange2003-07.eml} +0 -0
  166. data/set-of-emails/maildir/bsd/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  167. data/set-of-emails/maildir/bsd/{email-exchange2007-02.eml → lhost-exchange2007-02.eml} +0 -0
  168. data/set-of-emails/maildir/bsd/{email-exchange2007-03.eml → lhost-exchange2007-03.eml} +0 -0
  169. data/set-of-emails/maildir/bsd/{email-exchange2007-04.eml → lhost-exchange2007-04.eml} +0 -0
  170. data/set-of-emails/maildir/bsd/lhost-exchange2007-05.eml +1469 -0
  171. data/set-of-emails/maildir/bsd/lhost-exchange2007-06.eml +764 -0
  172. data/set-of-emails/maildir/bsd/lhost-exchange2007-07.eml +128 -0
  173. data/set-of-emails/maildir/bsd/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  174. data/set-of-emails/maildir/bsd/{email-exim-02.eml → lhost-exim-02.eml} +0 -0
  175. data/set-of-emails/maildir/bsd/{email-exim-03.eml → lhost-exim-03.eml} +0 -0
  176. data/set-of-emails/maildir/bsd/{email-exim-04.eml → lhost-exim-04.eml} +0 -0
  177. data/set-of-emails/maildir/bsd/{email-exim-05.eml → lhost-exim-05.eml} +0 -0
  178. data/set-of-emails/maildir/bsd/{email-exim-06.eml → lhost-exim-06.eml} +0 -0
  179. data/set-of-emails/maildir/bsd/{email-exim-07.eml → lhost-exim-07.eml} +0 -0
  180. data/set-of-emails/maildir/bsd/{email-exim-08.eml → lhost-exim-08.eml} +0 -0
  181. data/set-of-emails/maildir/bsd/{email-exim-29.eml → lhost-exim-29.eml} +0 -0
  182. data/set-of-emails/maildir/bsd/{email-exim-30.eml → lhost-exim-30.eml} +0 -0
  183. data/set-of-emails/maildir/bsd/{email-exim-31.eml → lhost-exim-31.eml} +0 -0
  184. data/set-of-emails/maildir/bsd/{email-exim-32.eml → lhost-exim-32.eml} +0 -0
  185. data/set-of-emails/maildir/bsd/{email-exim-33.eml → lhost-exim-33.eml} +0 -0
  186. data/set-of-emails/maildir/bsd/{email-exim-34.eml → lhost-exim-34.eml} +0 -0
  187. data/set-of-emails/maildir/bsd/{email-exim-35.eml → lhost-exim-35.eml} +0 -0
  188. data/set-of-emails/maildir/bsd/{email-exim-36.eml → lhost-exim-36.eml} +0 -0
  189. data/set-of-emails/maildir/bsd/{email-exim-37.eml → lhost-exim-37.eml} +0 -0
  190. data/set-of-emails/maildir/bsd/{email-exim-38.eml → lhost-exim-38.eml} +0 -0
  191. data/set-of-emails/maildir/bsd/{email-exim-39.eml → lhost-exim-39.eml} +0 -0
  192. data/set-of-emails/maildir/bsd/{email-exim-40.eml → lhost-exim-40.eml} +0 -0
  193. data/set-of-emails/maildir/bsd/{email-exim-41.eml → lhost-exim-41.eml} +0 -0
  194. data/set-of-emails/maildir/bsd/{email-exim-42.eml → lhost-exim-42.eml} +0 -0
  195. data/set-of-emails/maildir/bsd/{email-exim-43.eml → lhost-exim-43.eml} +0 -0
  196. data/set-of-emails/maildir/bsd/{email-exim-44.eml → lhost-exim-44.eml} +0 -0
  197. data/set-of-emails/maildir/bsd/{email-exim-45.eml → lhost-exim-45.eml} +0 -0
  198. data/set-of-emails/maildir/bsd/{email-exim-46.eml → lhost-exim-46.eml} +0 -0
  199. data/set-of-emails/maildir/bsd/{email-exim-47.eml → lhost-exim-47.eml} +0 -0
  200. data/set-of-emails/maildir/bsd/{email-exim-48.eml → lhost-exim-48.eml} +0 -0
  201. data/set-of-emails/maildir/bsd/{email-exim-49.eml → lhost-exim-49.eml} +0 -0
  202. data/set-of-emails/maildir/bsd/{email-exim-50.eml → lhost-exim-50.eml} +0 -0
  203. data/set-of-emails/maildir/bsd/{email-exim-51.eml → lhost-exim-51.eml} +0 -0
  204. data/set-of-emails/maildir/bsd/{email-exim-52.eml → lhost-exim-52.eml} +0 -0
  205. data/set-of-emails/maildir/bsd/{email-exim-53.eml → lhost-exim-53.eml} +0 -0
  206. data/set-of-emails/maildir/bsd/{email-exim-54.eml → lhost-exim-54.eml} +0 -0
  207. data/set-of-emails/maildir/bsd/{email-exim-55.eml → lhost-exim-55.eml} +0 -0
  208. data/set-of-emails/maildir/bsd/{email-exim-56.eml → lhost-exim-56.eml} +0 -0
  209. data/set-of-emails/maildir/bsd/{email-exim-57.eml → lhost-exim-57.eml} +0 -0
  210. data/set-of-emails/maildir/bsd/{email-exim-58.eml → lhost-exim-58.eml} +0 -0
  211. data/set-of-emails/maildir/bsd/{email-exim-59.eml → lhost-exim-59.eml} +0 -0
  212. data/set-of-emails/maildir/bsd/{email-exim-60.eml → lhost-exim-60.eml} +0 -0
  213. data/set-of-emails/maildir/bsd/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  214. data/set-of-emails/maildir/bsd/{email-ezweb-02.eml → lhost-ezweb-02.eml} +0 -0
  215. data/set-of-emails/maildir/bsd/{email-ezweb-03.eml → lhost-ezweb-03.eml} +0 -0
  216. data/set-of-emails/maildir/bsd/{email-ezweb-04.eml → lhost-ezweb-04.eml} +0 -0
  217. data/set-of-emails/maildir/bsd/{email-ezweb-05.eml → lhost-ezweb-05.eml} +0 -0
  218. data/set-of-emails/maildir/bsd/{email-ezweb-07.eml → lhost-ezweb-07.eml} +0 -0
  219. data/set-of-emails/maildir/bsd/{email-ezweb-08.eml → lhost-ezweb-08.eml} +0 -0
  220. data/set-of-emails/maildir/bsd/{email-facebook-03.eml → lhost-facebook-03.eml} +0 -0
  221. data/set-of-emails/maildir/bsd/{email-facebook-04.eml → lhost-facebook-04.eml} +0 -0
  222. data/set-of-emails/maildir/bsd/{email-fml-02.eml → lhost-fml-02.eml} +0 -0
  223. data/set-of-emails/maildir/bsd/{email-fml-03.eml → lhost-fml-03.eml} +0 -0
  224. data/set-of-emails/maildir/bsd/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  225. data/set-of-emails/maildir/bsd/{email-google-03.eml → lhost-gmail-03.eml} +0 -0
  226. data/set-of-emails/maildir/bsd/{email-google-04.eml → lhost-gmail-04.eml} +0 -0
  227. data/set-of-emails/maildir/bsd/{email-google-05.eml → lhost-gmail-05.eml} +0 -0
  228. data/set-of-emails/maildir/bsd/{email-google-06.eml → lhost-gmail-06.eml} +0 -0
  229. data/set-of-emails/maildir/bsd/{email-google-07.eml → lhost-gmail-07.eml} +0 -0
  230. data/set-of-emails/maildir/bsd/{email-google-08.eml → lhost-gmail-08.eml} +0 -0
  231. data/set-of-emails/maildir/bsd/{email-google-09.eml → lhost-gmail-09.eml} +0 -0
  232. data/set-of-emails/maildir/bsd/{email-google-10.eml → lhost-gmail-10.eml} +0 -0
  233. data/set-of-emails/maildir/bsd/{email-google-11.eml → lhost-gmail-11.eml} +0 -0
  234. data/set-of-emails/maildir/bsd/{email-google-15.eml → lhost-gmail-15.eml} +0 -0
  235. data/set-of-emails/maildir/bsd/{email-google-16.eml → lhost-gmail-16.eml} +0 -0
  236. data/set-of-emails/maildir/bsd/{email-google-17.eml → lhost-gmail-17.eml} +0 -0
  237. data/set-of-emails/maildir/bsd/{email-google-18.eml → lhost-gmail-18.eml} +0 -0
  238. data/set-of-emails/maildir/bsd/{email-google-19.eml → lhost-gmail-19.eml} +0 -0
  239. data/set-of-emails/maildir/bsd/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  240. data/set-of-emails/maildir/bsd/{email-gmx-02.eml → lhost-gmx-02.eml} +0 -0
  241. data/set-of-emails/maildir/bsd/{email-gmx-03.eml → lhost-gmx-03.eml} +0 -0
  242. data/set-of-emails/maildir/bsd/{email-gmx-04.eml → lhost-gmx-04.eml} +0 -0
  243. data/set-of-emails/maildir/bsd/lhost-googlegroups-01.eml +116 -0
  244. data/set-of-emails/maildir/bsd/lhost-googlegroups-02.eml +114 -0
  245. data/set-of-emails/maildir/bsd/lhost-googlegroups-03.eml +116 -0
  246. data/set-of-emails/maildir/bsd/lhost-googlegroups-04.eml +116 -0
  247. data/set-of-emails/maildir/bsd/lhost-googlegroups-05.eml +116 -0
  248. data/set-of-emails/maildir/bsd/lhost-googlegroups-06.eml +116 -0
  249. data/set-of-emails/maildir/bsd/lhost-googlegroups-07.eml +116 -0
  250. data/set-of-emails/maildir/bsd/lhost-googlegroups-08.eml +115 -0
  251. data/set-of-emails/maildir/bsd/lhost-googlegroups-09.eml +116 -0
  252. data/set-of-emails/maildir/bsd/lhost-googlegroups-10.eml +116 -0
  253. data/set-of-emails/maildir/bsd/lhost-googlegroups-11.eml +116 -0
  254. data/set-of-emails/maildir/bsd/lhost-googlegroups-12.eml +116 -0
  255. data/set-of-emails/maildir/bsd/lhost-googlegroups-13.eml +115 -0
  256. data/set-of-emails/maildir/bsd/lhost-googlegroups-14.eml +127 -0
  257. data/set-of-emails/maildir/bsd/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  258. data/set-of-emails/maildir/bsd/{email-gsuite-02.eml → lhost-gsuite-02.eml} +0 -0
  259. data/set-of-emails/maildir/bsd/{email-gsuite-03.eml → lhost-gsuite-03.eml} +0 -0
  260. data/set-of-emails/maildir/bsd/{email-gsuite-04.eml → lhost-gsuite-04.eml} +0 -0
  261. data/set-of-emails/maildir/bsd/{email-gsuite-05.eml → lhost-gsuite-05.eml} +0 -0
  262. data/set-of-emails/maildir/bsd/{email-gsuite-06.eml → lhost-gsuite-06.eml} +0 -0
  263. data/set-of-emails/maildir/bsd/{email-gsuite-07.eml → lhost-gsuite-07.eml} +0 -0
  264. data/set-of-emails/maildir/bsd/{email-gsuite-08.eml → lhost-gsuite-08.eml} +0 -0
  265. data/set-of-emails/maildir/bsd/{email-gsuite-09.eml → lhost-gsuite-09.eml} +0 -0
  266. data/set-of-emails/maildir/bsd/{email-gsuite-10.eml → lhost-gsuite-10.eml} +0 -0
  267. data/set-of-emails/maildir/bsd/{email-gsuite-11.eml → lhost-gsuite-11.eml} +0 -0
  268. data/set-of-emails/maildir/bsd/{email-gsuite-12.eml → lhost-gsuite-12.eml} +0 -0
  269. data/set-of-emails/maildir/bsd/lhost-gsuite-13.eml +261 -0
  270. data/set-of-emails/maildir/bsd/lhost-gsuite-14.eml +273 -0
  271. data/set-of-emails/maildir/bsd/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  272. data/set-of-emails/maildir/bsd/{email-imailserver-02.eml → lhost-imailserver-02.eml} +0 -0
  273. data/set-of-emails/maildir/bsd/{email-imailserver-03.eml → lhost-imailserver-03.eml} +0 -0
  274. data/set-of-emails/maildir/bsd/{email-imailserver-04.eml → lhost-imailserver-04.eml} +0 -0
  275. data/set-of-emails/maildir/bsd/{email-imailserver-06.eml → lhost-imailserver-06.eml} +0 -0
  276. data/set-of-emails/maildir/bsd/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  277. data/set-of-emails/maildir/bsd/lhost-interscanmss-02.eml +70 -0
  278. data/set-of-emails/maildir/bsd/lhost-interscanmss-03.eml +73 -0
  279. data/set-of-emails/maildir/bsd/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  280. data/set-of-emails/maildir/bsd/{email-kddi-02.eml → lhost-kddi-02.eml} +0 -0
  281. data/set-of-emails/maildir/bsd/{email-kddi-03.eml → lhost-kddi-03.eml} +0 -0
  282. data/set-of-emails/maildir/bsd/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  283. data/set-of-emails/maildir/bsd/{email-mailfoundry-02.eml → lhost-mailfoundry-02.eml} +0 -0
  284. data/set-of-emails/maildir/bsd/{email-mailmarshalsmtp-02.eml → lhost-mailmarshalsmtp-02.eml} +0 -0
  285. data/set-of-emails/maildir/bsd/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  286. data/set-of-emails/maildir/bsd/{email-mailru-02.eml → lhost-mailru-02.eml} +0 -0
  287. data/set-of-emails/maildir/bsd/{email-mailru-03.eml → lhost-mailru-03.eml} +0 -0
  288. data/set-of-emails/maildir/bsd/{email-mailru-04.eml → lhost-mailru-04.eml} +0 -0
  289. data/set-of-emails/maildir/bsd/{email-mailru-05.eml → lhost-mailru-05.eml} +0 -0
  290. data/set-of-emails/maildir/bsd/{email-mailru-06.eml → lhost-mailru-06.eml} +0 -0
  291. data/set-of-emails/maildir/bsd/{email-mailru-07.eml → lhost-mailru-07.eml} +0 -0
  292. data/set-of-emails/maildir/bsd/{email-mailru-08.eml → lhost-mailru-08.eml} +0 -0
  293. data/set-of-emails/maildir/bsd/{email-mailru-09.eml → lhost-mailru-09.eml} +0 -0
  294. data/set-of-emails/maildir/bsd/{email-mailru-10.eml → lhost-mailru-10.eml} +0 -0
  295. data/set-of-emails/maildir/bsd/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  296. data/set-of-emails/maildir/bsd/{email-mcafee-02.eml → lhost-mcafee-02.eml} +0 -0
  297. data/set-of-emails/maildir/bsd/{email-mcafee-03.eml → lhost-mcafee-03.eml} +0 -0
  298. data/set-of-emails/maildir/bsd/{email-mcafee-04.eml → lhost-mcafee-04.eml} +0 -0
  299. data/set-of-emails/maildir/bsd/{email-mcafee-05.eml → lhost-mcafee-05.eml} +0 -0
  300. data/set-of-emails/maildir/bsd/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  301. data/set-of-emails/maildir/bsd/{email-messagelabs-02.eml → lhost-messagelabs-02.eml} +0 -0
  302. data/set-of-emails/maildir/bsd/{email-messagelabs-03.eml → lhost-messagelabs-03.eml} +0 -0
  303. data/set-of-emails/maildir/bsd/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  304. data/set-of-emails/maildir/bsd/{email-messagingserver-02.eml → lhost-messagingserver-02.eml} +0 -0
  305. data/set-of-emails/maildir/bsd/{email-messagingserver-03.eml → lhost-messagingserver-03.eml} +0 -0
  306. data/set-of-emails/maildir/bsd/{email-messagingserver-04.eml → lhost-messagingserver-04.eml} +0 -0
  307. data/set-of-emails/maildir/bsd/{email-messagingserver-05.eml → lhost-messagingserver-05.eml} +0 -0
  308. data/set-of-emails/maildir/bsd/{email-messagingserver-06.eml → lhost-messagingserver-06.eml} +0 -0
  309. data/set-of-emails/maildir/bsd/{email-messagingserver-07.eml → lhost-messagingserver-07.eml} +0 -0
  310. data/set-of-emails/maildir/bsd/{email-messagingserver-08.eml → lhost-messagingserver-08.eml} +0 -0
  311. data/set-of-emails/maildir/bsd/{email-messagingserver-09.eml → lhost-messagingserver-09.eml} +0 -0
  312. data/set-of-emails/maildir/bsd/{email-messagingserver-10.eml → lhost-messagingserver-10.eml} +0 -0
  313. data/set-of-emails/maildir/bsd/{email-messagingserver-11.eml → lhost-messagingserver-11.eml} +0 -0
  314. data/set-of-emails/maildir/bsd/{email-messagingserver-12.eml → lhost-messagingserver-12.eml} +0 -0
  315. data/set-of-emails/maildir/bsd/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  316. data/set-of-emails/maildir/bsd/{email-mfilter-02.eml → lhost-mfilter-02.eml} +0 -0
  317. data/set-of-emails/maildir/bsd/{email-mfilter-03.eml → lhost-mfilter-03.eml} +0 -0
  318. data/set-of-emails/maildir/bsd/{email-mfilter-04.eml → lhost-mfilter-04.eml} +0 -0
  319. data/set-of-emails/maildir/bsd/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  320. data/set-of-emails/maildir/bsd/{email-mxlogic-02.eml → lhost-mxlogic-02.eml} +0 -0
  321. data/set-of-emails/maildir/bsd/{email-mxlogic-03.eml → lhost-mxlogic-03.eml} +0 -0
  322. data/set-of-emails/maildir/bsd/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  323. data/set-of-emails/maildir/bsd/{email-notes-02.eml → lhost-notes-02.eml} +0 -0
  324. data/set-of-emails/maildir/bsd/{email-notes-03.eml → lhost-notes-03.eml} +0 -0
  325. data/set-of-emails/maildir/bsd/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  326. data/set-of-emails/maildir/bsd/{email-office365-02.eml → lhost-office365-02.eml} +0 -0
  327. data/set-of-emails/maildir/bsd/{email-office365-03.eml → lhost-office365-03.eml} +0 -0
  328. data/set-of-emails/maildir/bsd/{email-office365-04.eml → lhost-office365-04.eml} +0 -0
  329. data/set-of-emails/maildir/bsd/{email-office365-05.eml → lhost-office365-05.eml} +0 -0
  330. data/set-of-emails/maildir/bsd/{email-office365-06.eml → lhost-office365-06.eml} +0 -0
  331. data/set-of-emails/maildir/bsd/{email-office365-07.eml → lhost-office365-07.eml} +0 -0
  332. data/set-of-emails/maildir/bsd/{email-office365-08.eml → lhost-office365-08.eml} +0 -0
  333. data/set-of-emails/maildir/bsd/{email-office365-09.eml → lhost-office365-09.eml} +0 -0
  334. data/set-of-emails/maildir/bsd/{email-office365-10.eml → lhost-office365-10.eml} +0 -0
  335. data/set-of-emails/maildir/bsd/{email-office365-11.eml → lhost-office365-11.eml} +0 -0
  336. data/set-of-emails/maildir/bsd/{email-office365-12.eml → lhost-office365-12.eml} +0 -0
  337. data/set-of-emails/maildir/bsd/lhost-office365-13.eml +259 -0
  338. data/set-of-emails/maildir/bsd/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  339. data/set-of-emails/maildir/bsd/{email-opensmtpd-02.eml → lhost-opensmtpd-02.eml} +0 -0
  340. data/set-of-emails/maildir/bsd/{email-opensmtpd-03.eml → lhost-opensmtpd-03.eml} +0 -0
  341. data/set-of-emails/maildir/bsd/{email-opensmtpd-04.eml → lhost-opensmtpd-04.eml} +0 -0
  342. data/set-of-emails/maildir/bsd/{email-opensmtpd-05.eml → lhost-opensmtpd-05.eml} +0 -0
  343. data/set-of-emails/maildir/bsd/{email-opensmtpd-06.eml → lhost-opensmtpd-06.eml} +0 -0
  344. data/set-of-emails/maildir/bsd/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  345. data/set-of-emails/maildir/bsd/{email-outlook-02.eml → lhost-outlook-02.eml} +0 -0
  346. data/set-of-emails/maildir/bsd/{email-outlook-03.eml → lhost-outlook-03.eml} +0 -0
  347. data/set-of-emails/maildir/bsd/{email-outlook-04.eml → lhost-outlook-04.eml} +0 -0
  348. data/set-of-emails/maildir/bsd/{email-outlook-06.eml → lhost-outlook-06.eml} +0 -0
  349. data/set-of-emails/maildir/bsd/{email-outlook-07.eml → lhost-outlook-07.eml} +0 -0
  350. data/set-of-emails/maildir/bsd/{email-outlook-08.eml → lhost-outlook-08.eml} +0 -0
  351. data/set-of-emails/maildir/bsd/{email-outlook-09.eml → lhost-outlook-09.eml} +0 -0
  352. data/set-of-emails/maildir/bsd/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  353. data/set-of-emails/maildir/bsd/{email-postfix-02.eml → lhost-postfix-02.eml} +0 -0
  354. data/set-of-emails/maildir/bsd/{email-postfix-03.eml → lhost-postfix-03.eml} +0 -0
  355. data/set-of-emails/maildir/bsd/{email-postfix-04.eml → lhost-postfix-04.eml} +0 -0
  356. data/set-of-emails/maildir/bsd/{email-postfix-05.eml → lhost-postfix-05.eml} +0 -0
  357. data/set-of-emails/maildir/bsd/{email-postfix-06.eml → lhost-postfix-06.eml} +0 -0
  358. data/set-of-emails/maildir/bsd/{email-postfix-07.eml → lhost-postfix-07.eml} +0 -0
  359. data/set-of-emails/maildir/bsd/{email-postfix-08.eml → lhost-postfix-08.eml} +0 -0
  360. data/set-of-emails/maildir/bsd/{email-postfix-09.eml → lhost-postfix-09.eml} +0 -0
  361. data/set-of-emails/maildir/bsd/{email-postfix-10.eml → lhost-postfix-10.eml} +0 -0
  362. data/set-of-emails/maildir/bsd/{email-postfix-11.eml → lhost-postfix-11.eml} +0 -0
  363. data/set-of-emails/maildir/bsd/{email-postfix-13.eml → lhost-postfix-13.eml} +0 -0
  364. data/set-of-emails/maildir/bsd/{email-postfix-14.eml → lhost-postfix-14.eml} +0 -0
  365. data/set-of-emails/maildir/bsd/{email-postfix-15.eml → lhost-postfix-15.eml} +0 -0
  366. data/set-of-emails/maildir/bsd/{email-postfix-16.eml → lhost-postfix-16.eml} +0 -0
  367. data/set-of-emails/maildir/bsd/{email-postfix-17.eml → lhost-postfix-17.eml} +0 -0
  368. data/set-of-emails/maildir/bsd/{email-postfix-28.eml → lhost-postfix-28.eml} +0 -0
  369. data/set-of-emails/maildir/bsd/{email-postfix-29.eml → lhost-postfix-29.eml} +0 -0
  370. data/set-of-emails/maildir/bsd/{email-postfix-30.eml → lhost-postfix-30.eml} +0 -0
  371. data/set-of-emails/maildir/bsd/{email-postfix-31.eml → lhost-postfix-31.eml} +0 -0
  372. data/set-of-emails/maildir/bsd/{email-postfix-32.eml → lhost-postfix-32.eml} +0 -0
  373. data/set-of-emails/maildir/bsd/{email-postfix-33.eml → lhost-postfix-33.eml} +0 -0
  374. data/set-of-emails/maildir/bsd/{email-postfix-34.eml → lhost-postfix-34.eml} +0 -0
  375. data/set-of-emails/maildir/bsd/{email-postfix-35.eml → lhost-postfix-35.eml} +0 -0
  376. data/set-of-emails/maildir/bsd/{email-postfix-36.eml → lhost-postfix-36.eml} +0 -0
  377. data/set-of-emails/maildir/bsd/{email-postfix-37.eml → lhost-postfix-37.eml} +0 -0
  378. data/set-of-emails/maildir/bsd/{email-postfix-38.eml → lhost-postfix-38.eml} +1 -1
  379. data/set-of-emails/maildir/bsd/{email-postfix-39.eml → lhost-postfix-39.eml} +0 -0
  380. data/set-of-emails/maildir/bsd/{email-postfix-40.eml → lhost-postfix-40.eml} +0 -0
  381. data/set-of-emails/maildir/bsd/{email-postfix-41.eml → lhost-postfix-41.eml} +0 -0
  382. data/set-of-emails/maildir/bsd/{email-postfix-42.eml → lhost-postfix-42.eml} +0 -0
  383. data/set-of-emails/maildir/bsd/{email-postfix-43.eml → lhost-postfix-43.eml} +0 -0
  384. data/set-of-emails/maildir/bsd/{email-postfix-44.eml → lhost-postfix-44.eml} +0 -0
  385. data/set-of-emails/maildir/bsd/{email-postfix-45.eml → lhost-postfix-45.eml} +0 -0
  386. data/set-of-emails/maildir/bsd/{email-postfix-46.eml → lhost-postfix-46.eml} +0 -0
  387. data/set-of-emails/maildir/bsd/{email-postfix-47.eml → lhost-postfix-47.eml} +0 -0
  388. data/set-of-emails/maildir/bsd/{email-postfix-48.eml → lhost-postfix-48.eml} +0 -0
  389. data/set-of-emails/maildir/bsd/{email-postfix-49.eml → lhost-postfix-49.eml} +0 -0
  390. data/set-of-emails/maildir/bsd/{email-postfix-50.eml → lhost-postfix-50.eml} +0 -0
  391. data/set-of-emails/maildir/bsd/{email-postfix-51.eml → lhost-postfix-51.eml} +0 -0
  392. data/set-of-emails/maildir/bsd/{email-postfix-52.eml → lhost-postfix-52.eml} +0 -0
  393. data/set-of-emails/maildir/bsd/{email-postfix-53.eml → lhost-postfix-53.eml} +0 -0
  394. data/set-of-emails/maildir/bsd/{email-postfix-54.eml → lhost-postfix-54.eml} +0 -0
  395. data/set-of-emails/maildir/bsd/{email-postfix-55.eml → lhost-postfix-55.eml} +0 -0
  396. data/set-of-emails/maildir/bsd/{email-postfix-56.eml → lhost-postfix-56.eml} +0 -0
  397. data/set-of-emails/maildir/bsd/{email-postfix-57.eml → lhost-postfix-57.eml} +0 -0
  398. data/set-of-emails/maildir/bsd/{email-postfix-58.eml → lhost-postfix-58.eml} +0 -0
  399. data/set-of-emails/maildir/bsd/lhost-postfix-59.eml +78 -0
  400. data/set-of-emails/maildir/bsd/lhost-postfix-60.eml +75 -0
  401. data/set-of-emails/maildir/bsd/lhost-postfix-61.eml +70 -0
  402. data/set-of-emails/maildir/bsd/lhost-postfix-62.eml +105 -0
  403. data/set-of-emails/maildir/bsd/lhost-postfix-63.eml +85 -0
  404. data/set-of-emails/maildir/bsd/lhost-postfix-64.eml +96 -0
  405. data/set-of-emails/maildir/bsd/lhost-postfix-65.eml +69 -0
  406. data/set-of-emails/maildir/bsd/{rfc3464-05.eml → lhost-powermta-01.eml} +19 -18
  407. data/set-of-emails/maildir/bsd/lhost-powermta-02.eml +58 -0
  408. data/set-of-emails/maildir/bsd/lhost-powermta-03.eml +71 -0
  409. data/set-of-emails/maildir/bsd/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  410. data/set-of-emails/maildir/bsd/{email-qmail-02.eml → lhost-qmail-02.eml} +0 -0
  411. data/set-of-emails/maildir/bsd/{email-qmail-03.eml → lhost-qmail-03.eml} +0 -0
  412. data/set-of-emails/maildir/bsd/{email-qmail-04.eml → lhost-qmail-04.eml} +0 -0
  413. data/set-of-emails/maildir/bsd/{email-qmail-05.eml → lhost-qmail-05.eml} +0 -0
  414. data/set-of-emails/maildir/bsd/{email-qmail-06.eml → lhost-qmail-06.eml} +0 -0
  415. data/set-of-emails/maildir/bsd/{email-qmail-07.eml → lhost-qmail-07.eml} +0 -0
  416. data/set-of-emails/maildir/bsd/{email-qmail-08.eml → lhost-qmail-08.eml} +0 -0
  417. data/set-of-emails/maildir/bsd/{email-qmail-09.eml → lhost-qmail-09.eml} +0 -0
  418. data/set-of-emails/maildir/bsd/{email-qmail-10.eml → lhost-qmail-10.eml} +0 -0
  419. data/set-of-emails/maildir/bsd/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  420. data/set-of-emails/maildir/bsd/{email-receivingses-02.eml → lhost-receivingses-02.eml} +0 -0
  421. data/set-of-emails/maildir/bsd/{email-receivingses-03.eml → lhost-receivingses-03.eml} +0 -0
  422. data/set-of-emails/maildir/bsd/{email-receivingses-04.eml → lhost-receivingses-04.eml} +0 -0
  423. data/set-of-emails/maildir/bsd/{email-receivingses-05.eml → lhost-receivingses-05.eml} +0 -0
  424. data/set-of-emails/maildir/bsd/{email-receivingses-06.eml → lhost-receivingses-06.eml} +0 -0
  425. data/set-of-emails/maildir/bsd/{email-receivingses-07.eml → lhost-receivingses-07.eml} +0 -0
  426. data/set-of-emails/maildir/bsd/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  427. data/set-of-emails/maildir/bsd/{email-sendgrid-02.eml → lhost-sendgrid-02.eml} +0 -0
  428. data/set-of-emails/maildir/bsd/{email-sendgrid-03.eml → lhost-sendgrid-03.eml} +0 -0
  429. data/set-of-emails/maildir/bsd/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  430. data/set-of-emails/maildir/bsd/{email-sendmail-02.eml → lhost-sendmail-02.eml} +0 -0
  431. data/set-of-emails/maildir/bsd/{email-sendmail-03.eml → lhost-sendmail-03.eml} +0 -0
  432. data/set-of-emails/maildir/bsd/{email-sendmail-04.eml → lhost-sendmail-04.eml} +0 -0
  433. data/set-of-emails/maildir/bsd/{email-sendmail-05.eml → lhost-sendmail-05.eml} +0 -0
  434. data/set-of-emails/maildir/bsd/{email-sendmail-06.eml → lhost-sendmail-06.eml} +0 -0
  435. data/set-of-emails/maildir/bsd/{email-sendmail-07.eml → lhost-sendmail-07.eml} +0 -0
  436. data/set-of-emails/maildir/bsd/{email-sendmail-08.eml → lhost-sendmail-08.eml} +0 -0
  437. data/set-of-emails/maildir/bsd/{email-sendmail-09.eml → lhost-sendmail-09.eml} +0 -0
  438. data/set-of-emails/maildir/bsd/{email-sendmail-10.eml → lhost-sendmail-10.eml} +0 -0
  439. data/set-of-emails/maildir/bsd/{email-sendmail-11.eml → lhost-sendmail-11.eml} +0 -0
  440. data/set-of-emails/maildir/bsd/{email-sendmail-12.eml → lhost-sendmail-12.eml} +0 -0
  441. data/set-of-emails/maildir/bsd/{email-sendmail-13.eml → lhost-sendmail-13.eml} +0 -0
  442. data/set-of-emails/maildir/bsd/{email-sendmail-14.eml → lhost-sendmail-14.eml} +0 -0
  443. data/set-of-emails/maildir/bsd/{email-sendmail-15.eml → lhost-sendmail-15.eml} +0 -0
  444. data/set-of-emails/maildir/bsd/{email-sendmail-16.eml → lhost-sendmail-16.eml} +0 -0
  445. data/set-of-emails/maildir/bsd/{email-sendmail-17.eml → lhost-sendmail-17.eml} +0 -0
  446. data/set-of-emails/maildir/bsd/{email-sendmail-18.eml → lhost-sendmail-18.eml} +0 -0
  447. data/set-of-emails/maildir/bsd/{email-sendmail-19.eml → lhost-sendmail-19.eml} +0 -0
  448. data/set-of-emails/maildir/bsd/{email-sendmail-20.eml → lhost-sendmail-20.eml} +0 -0
  449. data/set-of-emails/maildir/bsd/{email-sendmail-21.eml → lhost-sendmail-21.eml} +0 -0
  450. data/set-of-emails/maildir/bsd/{email-sendmail-22.eml → lhost-sendmail-22.eml} +0 -0
  451. data/set-of-emails/maildir/bsd/{email-sendmail-24.eml → lhost-sendmail-24.eml} +0 -0
  452. data/set-of-emails/maildir/bsd/{email-sendmail-25.eml → lhost-sendmail-25.eml} +0 -0
  453. data/set-of-emails/maildir/bsd/{email-sendmail-26.eml → lhost-sendmail-26.eml} +0 -0
  454. data/set-of-emails/maildir/bsd/{email-sendmail-27.eml → lhost-sendmail-27.eml} +0 -0
  455. data/set-of-emails/maildir/bsd/{email-sendmail-28.eml → lhost-sendmail-28.eml} +0 -0
  456. data/set-of-emails/maildir/bsd/{email-sendmail-29.eml → lhost-sendmail-29.eml} +0 -0
  457. data/set-of-emails/maildir/bsd/{email-sendmail-30.eml → lhost-sendmail-30.eml} +0 -0
  458. data/set-of-emails/maildir/bsd/{email-sendmail-31.eml → lhost-sendmail-31.eml} +0 -0
  459. data/set-of-emails/maildir/bsd/{email-sendmail-32.eml → lhost-sendmail-32.eml} +0 -0
  460. data/set-of-emails/maildir/bsd/{email-sendmail-33.eml → lhost-sendmail-33.eml} +0 -0
  461. data/set-of-emails/maildir/bsd/{email-sendmail-34.eml → lhost-sendmail-34.eml} +0 -0
  462. data/set-of-emails/maildir/bsd/{email-sendmail-35.eml → lhost-sendmail-35.eml} +0 -0
  463. data/set-of-emails/maildir/bsd/{email-sendmail-36.eml → lhost-sendmail-36.eml} +0 -0
  464. data/set-of-emails/maildir/bsd/{email-sendmail-37.eml → lhost-sendmail-37.eml} +0 -0
  465. data/set-of-emails/maildir/bsd/{email-sendmail-38.eml → lhost-sendmail-38.eml} +0 -0
  466. data/set-of-emails/maildir/bsd/{email-sendmail-39.eml → lhost-sendmail-39.eml} +0 -0
  467. data/set-of-emails/maildir/bsd/{email-sendmail-40.eml → lhost-sendmail-40.eml} +0 -0
  468. data/set-of-emails/maildir/bsd/{email-sendmail-41.eml → lhost-sendmail-41.eml} +0 -0
  469. data/set-of-emails/maildir/bsd/{email-sendmail-42.eml → lhost-sendmail-42.eml} +0 -0
  470. data/set-of-emails/maildir/bsd/{email-sendmail-43.eml → lhost-sendmail-43.eml} +0 -0
  471. data/set-of-emails/maildir/bsd/{email-sendmail-44.eml → lhost-sendmail-44.eml} +0 -0
  472. data/set-of-emails/maildir/bsd/{email-sendmail-45.eml → lhost-sendmail-45.eml} +0 -0
  473. data/set-of-emails/maildir/bsd/{email-sendmail-46.eml → lhost-sendmail-46.eml} +0 -0
  474. data/set-of-emails/maildir/bsd/{email-sendmail-47.eml → lhost-sendmail-47.eml} +0 -0
  475. data/set-of-emails/maildir/bsd/{email-sendmail-48.eml → lhost-sendmail-48.eml} +0 -0
  476. data/set-of-emails/maildir/bsd/{email-sendmail-49.eml → lhost-sendmail-49.eml} +0 -0
  477. data/set-of-emails/maildir/bsd/{email-sendmail-50.eml → lhost-sendmail-50.eml} +0 -0
  478. data/set-of-emails/maildir/bsd/{email-sendmail-51.eml → lhost-sendmail-51.eml} +0 -0
  479. data/set-of-emails/maildir/bsd/{email-sendmail-52.eml → lhost-sendmail-52.eml} +0 -0
  480. data/set-of-emails/maildir/bsd/{email-sendmail-53.eml → lhost-sendmail-53.eml} +0 -0
  481. data/set-of-emails/maildir/bsd/{email-sendmail-54.eml → lhost-sendmail-54.eml} +0 -0
  482. data/set-of-emails/maildir/bsd/{email-sendmail-55.eml → lhost-sendmail-55.eml} +0 -0
  483. data/set-of-emails/maildir/bsd/{email-sendmail-56.eml → lhost-sendmail-56.eml} +0 -0
  484. data/set-of-emails/maildir/bsd/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  485. data/set-of-emails/maildir/bsd/{email-surfcontrol-02.eml → lhost-surfcontrol-02.eml} +0 -0
  486. data/set-of-emails/maildir/bsd/{email-surfcontrol-03.eml → lhost-surfcontrol-03.eml} +0 -0
  487. data/set-of-emails/maildir/bsd/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  488. data/set-of-emails/maildir/bsd/{email-v5sendmail-02.eml → lhost-v5sendmail-02.eml} +0 -0
  489. data/set-of-emails/maildir/bsd/{email-v5sendmail-03.eml → lhost-v5sendmail-03.eml} +0 -0
  490. data/set-of-emails/maildir/bsd/{email-v5sendmail-04.eml → lhost-v5sendmail-04.eml} +0 -0
  491. data/set-of-emails/maildir/bsd/{email-v5sendmail-05.eml → lhost-v5sendmail-05.eml} +0 -0
  492. data/set-of-emails/maildir/bsd/{email-v5sendmail-06.eml → lhost-v5sendmail-06.eml} +0 -0
  493. data/set-of-emails/maildir/bsd/{email-v5sendmail-07.eml → lhost-v5sendmail-07.eml} +0 -0
  494. data/set-of-emails/maildir/bsd/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  495. data/set-of-emails/maildir/bsd/{email-verizon-02.eml → lhost-verizon-02.eml} +0 -0
  496. data/set-of-emails/maildir/bsd/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  497. data/set-of-emails/maildir/bsd/{email-x1-02.eml → lhost-x1-02.eml} +0 -0
  498. data/set-of-emails/maildir/bsd/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  499. data/set-of-emails/maildir/bsd/{email-x2-02.eml → lhost-x2-02.eml} +0 -0
  500. data/set-of-emails/maildir/bsd/{email-x2-03.eml → lhost-x2-03.eml} +0 -0
  501. data/set-of-emails/maildir/bsd/{email-x2-04.eml → lhost-x2-04.eml} +0 -0
  502. data/set-of-emails/maildir/bsd/{email-x2-05.eml → lhost-x2-05.eml} +0 -0
  503. data/set-of-emails/maildir/bsd/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  504. data/set-of-emails/maildir/bsd/{email-x3-02.eml → lhost-x3-02.eml} +0 -0
  505. data/set-of-emails/maildir/bsd/{email-x3-03.eml → lhost-x3-03.eml} +0 -0
  506. data/set-of-emails/maildir/bsd/{email-x3-05.eml → lhost-x3-05.eml} +0 -0
  507. data/set-of-emails/maildir/bsd/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  508. data/set-of-emails/maildir/bsd/{email-x4-08.eml → lhost-x4-08.eml} +0 -0
  509. data/set-of-emails/maildir/bsd/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  510. data/set-of-emails/maildir/bsd/lhost-x6-01.eml +71 -0
  511. data/set-of-emails/maildir/bsd/lhost-x6-02.eml +68 -0
  512. data/set-of-emails/maildir/bsd/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  513. data/set-of-emails/maildir/bsd/{email-yahoo-02.eml → lhost-yahoo-02.eml} +0 -0
  514. data/set-of-emails/maildir/bsd/{email-yahoo-03.eml → lhost-yahoo-03.eml} +0 -0
  515. data/set-of-emails/maildir/bsd/{email-yahoo-04.eml → lhost-yahoo-04.eml} +0 -0
  516. data/set-of-emails/maildir/bsd/{email-yahoo-05.eml → lhost-yahoo-05.eml} +0 -0
  517. data/set-of-emails/maildir/bsd/{email-yahoo-06.eml → lhost-yahoo-06.eml} +0 -0
  518. data/set-of-emails/maildir/bsd/{email-yahoo-07.eml → lhost-yahoo-07.eml} +0 -0
  519. data/set-of-emails/maildir/bsd/{email-yahoo-08.eml → lhost-yahoo-08.eml} +0 -0
  520. data/set-of-emails/maildir/bsd/{email-yahoo-09.eml → lhost-yahoo-09.eml} +0 -0
  521. data/set-of-emails/maildir/bsd/{email-yahoo-10.eml → lhost-yahoo-10.eml} +0 -0
  522. data/set-of-emails/maildir/bsd/{email-yahoo-11.eml → lhost-yahoo-11.eml} +0 -0
  523. data/set-of-emails/maildir/bsd/{email-yahoo-12.eml → lhost-yahoo-12.eml} +0 -0
  524. data/set-of-emails/maildir/bsd/{email-yahoo-13.eml → lhost-yahoo-13.eml} +0 -0
  525. data/set-of-emails/maildir/bsd/{email-yahoo-14.eml → lhost-yahoo-14.eml} +0 -0
  526. data/set-of-emails/maildir/bsd/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  527. data/set-of-emails/maildir/bsd/{email-yandex-02.eml → lhost-yandex-02.eml} +0 -0
  528. data/set-of-emails/maildir/bsd/{email-yandex-03.eml → lhost-yandex-03.eml} +0 -0
  529. data/set-of-emails/maildir/bsd/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  530. data/set-of-emails/maildir/bsd/{email-zoho-02.eml → lhost-zoho-02.eml} +0 -0
  531. data/set-of-emails/maildir/bsd/{email-zoho-03.eml → lhost-zoho-03.eml} +0 -0
  532. data/set-of-emails/maildir/bsd/{email-zoho-04.eml → lhost-zoho-04.eml} +0 -0
  533. data/set-of-emails/maildir/bsd/{email-zoho-05.eml → lhost-zoho-05.eml} +0 -0
  534. data/set-of-emails/maildir/bsd/rfc3834-03.eml +26 -0
  535. data/set-of-emails/maildir/bsd/{rfc3464-41.eml → rfc3834-04.eml} +0 -0
  536. data/set-of-emails/maildir/bsd/rhost-cox-01.eml +192 -0
  537. data/set-of-emails/maildir/bsd/rhost-franceptt-04.eml +66 -0
  538. data/set-of-emails/maildir/bsd/rhost-franceptt-05.eml +96 -0
  539. data/set-of-emails/maildir/bsd/rhost-franceptt-06.eml +100 -0
  540. data/set-of-emails/maildir/bsd/rhost-franceptt-07.eml +97 -0
  541. data/set-of-emails/maildir/bsd/rhost-franceptt-08.eml +78 -0
  542. data/set-of-emails/maildir/bsd/rhost-franceptt-10.eml +79 -0
  543. data/set-of-emails/maildir/bsd/rhost-franceptt-11.eml +96 -0
  544. data/set-of-emails/maildir/bsd/rhost-iua-01.eml +70 -0
  545. data/set-of-emails/maildir/bsd/rhost-spectrum-01.eml +111 -0
  546. data/set-of-emails/maildir/dos/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  547. data/set-of-emails/maildir/dos/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  548. data/set-of-emails/maildir/dos/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  549. data/set-of-emails/maildir/dos/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  550. data/set-of-emails/maildir/dos/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  551. data/set-of-emails/maildir/dos/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  552. data/set-of-emails/maildir/dos/lhost-barracuda-01.eml +67 -0
  553. data/set-of-emails/maildir/dos/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
  554. data/set-of-emails/maildir/dos/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  555. data/set-of-emails/maildir/dos/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  556. data/set-of-emails/maildir/dos/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  557. data/set-of-emails/maildir/dos/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
  558. data/set-of-emails/maildir/dos/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
  559. data/set-of-emails/maildir/dos/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  560. data/set-of-emails/maildir/dos/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  561. data/set-of-emails/maildir/dos/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  562. data/set-of-emails/maildir/dos/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  563. data/set-of-emails/maildir/dos/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
  564. data/set-of-emails/maildir/dos/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  565. data/set-of-emails/maildir/dos/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  566. data/set-of-emails/maildir/dos/lhost-googlegroups-01.eml +116 -0
  567. data/set-of-emails/maildir/dos/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  568. data/set-of-emails/maildir/dos/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  569. data/set-of-emails/maildir/dos/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  570. data/set-of-emails/maildir/dos/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  571. data/set-of-emails/maildir/dos/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  572. data/set-of-emails/maildir/dos/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
  573. data/set-of-emails/maildir/dos/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  574. data/set-of-emails/maildir/dos/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  575. data/set-of-emails/maildir/dos/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  576. data/set-of-emails/maildir/dos/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  577. data/set-of-emails/maildir/dos/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  578. data/set-of-emails/maildir/dos/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  579. data/set-of-emails/maildir/dos/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  580. data/set-of-emails/maildir/dos/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  581. data/set-of-emails/maildir/dos/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  582. data/set-of-emails/maildir/dos/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  583. data/set-of-emails/maildir/dos/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  584. data/set-of-emails/maildir/dos/lhost-powermta-01.eml +64 -0
  585. data/set-of-emails/maildir/dos/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  586. data/set-of-emails/maildir/dos/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  587. data/set-of-emails/maildir/dos/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  588. data/set-of-emails/maildir/dos/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  589. data/set-of-emails/maildir/dos/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  590. data/set-of-emails/maildir/dos/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  591. data/set-of-emails/maildir/dos/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  592. data/set-of-emails/maildir/dos/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  593. data/set-of-emails/maildir/dos/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  594. data/set-of-emails/maildir/dos/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  595. data/set-of-emails/maildir/dos/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  596. data/set-of-emails/maildir/dos/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  597. data/set-of-emails/maildir/dos/lhost-x6-01.eml +71 -0
  598. data/set-of-emails/maildir/dos/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  599. data/set-of-emails/maildir/dos/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  600. data/set-of-emails/maildir/dos/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  601. data/set-of-emails/maildir/dos/rhost-iua-01.eml +70 -0
  602. data/set-of-emails/maildir/mac/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
  603. data/set-of-emails/maildir/mac/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
  604. data/set-of-emails/maildir/mac/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
  605. data/set-of-emails/maildir/mac/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
  606. data/set-of-emails/maildir/mac/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
  607. data/set-of-emails/maildir/mac/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
  608. data/set-of-emails/maildir/mac/lhost-barracuda-01.eml +1 -4
  609. data/set-of-emails/maildir/mac/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
  610. data/set-of-emails/maildir/mac/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
  611. data/set-of-emails/maildir/mac/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
  612. data/set-of-emails/maildir/mac/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
  613. data/set-of-emails/maildir/mac/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
  614. data/set-of-emails/maildir/mac/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
  615. data/set-of-emails/maildir/mac/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
  616. data/set-of-emails/maildir/mac/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
  617. data/set-of-emails/maildir/mac/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
  618. data/set-of-emails/maildir/mac/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
  619. data/set-of-emails/maildir/mac/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
  620. data/set-of-emails/maildir/mac/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
  621. data/set-of-emails/maildir/mac/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
  622. data/set-of-emails/maildir/mac/lhost-googlegroups-01.eml +1 -1
  623. data/set-of-emails/maildir/mac/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
  624. data/set-of-emails/maildir/mac/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
  625. data/set-of-emails/maildir/mac/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
  626. data/set-of-emails/maildir/mac/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
  627. data/set-of-emails/maildir/mac/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
  628. data/set-of-emails/maildir/mac/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
  629. data/set-of-emails/maildir/mac/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
  630. data/set-of-emails/maildir/mac/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
  631. data/set-of-emails/maildir/mac/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
  632. data/set-of-emails/maildir/mac/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
  633. data/set-of-emails/maildir/mac/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
  634. data/set-of-emails/maildir/mac/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
  635. data/set-of-emails/maildir/mac/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
  636. data/set-of-emails/maildir/mac/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
  637. data/set-of-emails/maildir/mac/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
  638. data/set-of-emails/maildir/mac/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
  639. data/set-of-emails/maildir/mac/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
  640. data/set-of-emails/maildir/mac/lhost-powermta-01.eml +1 -4
  641. data/set-of-emails/maildir/mac/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
  642. data/set-of-emails/maildir/mac/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
  643. data/set-of-emails/maildir/mac/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
  644. data/set-of-emails/maildir/mac/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
  645. data/set-of-emails/maildir/mac/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
  646. data/set-of-emails/maildir/mac/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
  647. data/set-of-emails/maildir/mac/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
  648. data/set-of-emails/maildir/mac/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
  649. data/set-of-emails/maildir/mac/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
  650. data/set-of-emails/maildir/mac/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
  651. data/set-of-emails/maildir/mac/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
  652. data/set-of-emails/maildir/mac/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
  653. data/set-of-emails/maildir/mac/lhost-x6-01.eml +1 -3
  654. data/set-of-emails/maildir/mac/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
  655. data/set-of-emails/maildir/mac/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
  656. data/set-of-emails/maildir/mac/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
  657. data/set-of-emails/maildir/mac/rhost-iua-01.eml +1 -4
  658. metadata +616 -581
  659. data/fig/sisimai-architecture.png +0 -0
  660. data/lib/sisimai/bite.rb +0 -37
  661. data/lib/sisimai/bite/email.rb +0 -61
  662. data/lib/sisimai/bite/email/activehunter.rb +0 -117
  663. data/lib/sisimai/bite/email/amavis.rb +0 -133
  664. data/lib/sisimai/bite/email/amazonses.rb +0 -186
  665. data/lib/sisimai/bite/email/amazonworkmail.rb +0 -170
  666. data/lib/sisimai/bite/email/aol.rb +0 -168
  667. data/lib/sisimai/bite/email/apachejames.rb +0 -158
  668. data/lib/sisimai/bite/email/bigfoot.rb +0 -162
  669. data/lib/sisimai/bite/email/biglobe.rb +0 -134
  670. data/lib/sisimai/bite/email/courier.rb +0 -181
  671. data/lib/sisimai/bite/email/domino.rb +0 -156
  672. data/lib/sisimai/bite/email/einsundeins.rb +0 -124
  673. data/lib/sisimai/bite/email/exchange2003.rb +0 -261
  674. data/lib/sisimai/bite/email/exchange2007.rb +0 -164
  675. data/lib/sisimai/bite/email/fml.rb +0 -158
  676. data/lib/sisimai/bite/email/gmx.rb +0 -152
  677. data/lib/sisimai/bite/email/gsuite.rb +0 -228
  678. data/lib/sisimai/bite/email/imailserver.rb +0 -163
  679. data/lib/sisimai/bite/email/interscanmss.rb +0 -133
  680. data/lib/sisimai/bite/email/kddi.rb +0 -146
  681. data/lib/sisimai/bite/email/mailfoundry.rb +0 -120
  682. data/lib/sisimai/bite/email/mailmarshalsmtp.rb +0 -160
  683. data/lib/sisimai/bite/email/mcafee.rb +0 -157
  684. data/lib/sisimai/bite/email/messagelabs.rb +0 -161
  685. data/lib/sisimai/bite/email/messagingserver.rb +0 -187
  686. data/lib/sisimai/bite/email/mfilter.rb +0 -152
  687. data/lib/sisimai/bite/email/notes.rb +0 -167
  688. data/lib/sisimai/bite/email/office365.rb +0 -243
  689. data/lib/sisimai/bite/email/outlook.rb +0 -173
  690. data/lib/sisimai/bite/email/postfix.rb +0 -261
  691. data/lib/sisimai/bite/email/receivingses.rb +0 -173
  692. data/lib/sisimai/bite/email/sendgrid.rb +0 -189
  693. data/lib/sisimai/bite/email/sendmail.rb +0 -247
  694. data/lib/sisimai/bite/email/surfcontrol.rb +0 -147
  695. data/lib/sisimai/bite/email/userdefined.rb +0 -115
  696. data/lib/sisimai/bite/email/v5sendmail.rb +0 -193
  697. data/lib/sisimai/bite/email/verizon.rb +0 -225
  698. data/lib/sisimai/bite/email/x1.rb +0 -114
  699. data/lib/sisimai/bite/email/x2.rb +0 -110
  700. data/lib/sisimai/bite/email/x3.rb +0 -128
  701. data/lib/sisimai/bite/email/x5.rb +0 -153
  702. data/lib/sisimai/bite/email/yahoo.rb +0 -138
  703. data/lib/sisimai/bite/email/yandex.rb +0 -161
  704. data/lib/sisimai/bite/email/zoho.rb +0 -153
  705. data/lib/sisimai/bite/json.rb +0 -36
  706. data/lib/sisimai/bite/json/amazonses.rb +0 -242
  707. data/lib/sisimai/bite/json/sendgrid.rb +0 -123
  708. data/lib/sisimai/message/email.rb +0 -477
  709. data/lib/sisimai/message/json.rb +0 -198
  710. data/lib/sisimai/order/email.rb +0 -205
  711. data/lib/sisimai/order/json.rb +0 -52
  712. data/set-of-emails/jsonobj/json-amazonses-01.json +0 -1
  713. data/set-of-emails/jsonobj/json-amazonses-02.json +0 -11
  714. data/set-of-emails/jsonobj/json-amazonses-03.json +0 -1
  715. data/set-of-emails/jsonobj/json-amazonses-04.json +0 -1
  716. data/set-of-emails/jsonobj/json-amazonses-05.json +0 -1
  717. data/set-of-emails/jsonobj/json-amazonses-06.json +0 -1
  718. data/set-of-emails/jsonobj/json-sendgrid-01.json +0 -1
  719. data/set-of-emails/jsonobj/json-sendgrid-02.json +0 -1
  720. data/set-of-emails/jsonobj/json-sendgrid-03.json +0 -1
  721. data/set-of-emails/jsonobj/json-sendgrid-04.json +0 -1
  722. data/set-of-emails/jsonobj/json-sendgrid-05.json +0 -1
  723. data/set-of-emails/jsonobj/json-sendgrid-06.json +0 -1
  724. data/set-of-emails/jsonobj/json-sendgrid-07.json +0 -1
  725. data/set-of-emails/jsonobj/json-sendgrid-08.json +0 -1
  726. data/set-of-emails/jsonobj/json-sendgrid-09.json +0 -1
  727. data/set-of-emails/jsonobj/json-sendgrid-10.json +0 -1
  728. data/set-of-emails/jsonobj/json-sendgrid-11.json +0 -1
  729. data/set-of-emails/jsonobj/json-sendgrid-12.json +0 -1
  730. data/set-of-emails/jsonobj/json-sendgrid-13.json +0 -1
  731. data/set-of-emails/jsonobj/json-sendgrid-14.json +0 -1
  732. data/set-of-emails/jsonobj/json-sendgrid-15.json +0 -1
  733. data/set-of-emails/jsonobj/json-sendgrid-16.json +0 -1
  734. 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
+