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
@@ -1,146 +0,0 @@
1
- module Sisimai::Bite::Email
2
- # Sisimai::Bite::Email::KDDI parses a bounce email which created by au by KDDI.
3
- # Methods in the module are called from only Sisimai::Message.
4
- module KDDI
5
- class << self
6
- # Imported from p5-Sisimail/lib/Sisimai/Bite/Email/KDDI.pm
7
- require 'sisimai/bite/email'
8
-
9
- Indicators = Sisimai::Bite::Email.INDICATORS
10
- StartingOf = { rfc822: ['Content-Type: message/rfc822'] }.freeze
11
- MarkingsOf = {
12
- message: %r/\AYour[ ]mail[ ](?:
13
- sent[ ]on:?[ ][A-Z][a-z]{2}[,]
14
- |attempted[ ]to[ ]be[ ]delivered[ ]on:?[ ][A-Z][a-z]{2}[,]
15
- )
16
- /x,
17
- }.freeze
18
- MessagesOf = {
19
- 'mailboxfull' => ['As their mailbox is full'],
20
- 'norelaying' => ['Due to the following SMTP relay error'],
21
- 'hostunknown' => ['As the remote domain doesnt exist'],
22
- }.freeze
23
-
24
- def description; return 'au by KDDI: http://www.au.kddi.com'; end
25
- def smtpagent; return Sisimai::Bite.smtpagent(self); end
26
- def headerlist; return []; end
27
-
28
- # Parse bounce messages from au by KDDI
29
- # @param [Hash] mhead Message headers of a bounce email
30
- # @options mhead [String] from From header
31
- # @options mhead [String] date Date header
32
- # @options mhead [String] subject Subject header
33
- # @options mhead [Array] received Received headers
34
- # @options mhead [String] others Other required headers
35
- # @param [String] mbody Message body of a bounce email
36
- # @return [Hash, Nil] Bounce data list and message/rfc822
37
- # part or nil if it failed to parse or
38
- # the arguments are missing
39
- def scan(mhead, mbody)
40
- # :'message-id' => %r/[@].+[.]ezweb[.]ne[.]jp[>]\z/,
41
- match = 0
42
- match += 1 if mhead['from'] =~ /no-reply[@].+[.]dion[.]ne[.]jp/
43
- match += 1 if mhead['reply-to'].to_s == 'no-reply@app.auone-net.jp'
44
- match += 1 if mhead['received'].any? { |a| a.include?('ezweb.ne.jp (') }
45
- match += 1 if mhead['received'].any? { |a| a.include?('.au.com (') }
46
- return nil unless match > 0
47
-
48
- dscontents = [Sisimai::Bite.DELIVERYSTATUS]
49
- hasdivided = mbody.split("\n")
50
- rfc822list = [] # (Array) Each line in message/rfc822 part string
51
- blanklines = 0 # (Integer) The number of blank lines
52
- readcursor = 0 # (Integer) Points the current cursor position
53
- recipients = 0 # (Integer) The number of 'Final-Recipient' header
54
- v = nil
55
-
56
- while e = hasdivided.shift do
57
- if readcursor == 0
58
- # Beginning of the bounce message or delivery status part
59
- if e =~ MarkingsOf[:message]
60
- readcursor |= Indicators[:deliverystatus]
61
- next
62
- end
63
- end
64
-
65
- if (readcursor & Indicators[:'message-rfc822']) == 0
66
- # Beginning of the original message part
67
- if e == StartingOf[:rfc822][0]
68
- readcursor |= Indicators[:'message-rfc822']
69
- next
70
- end
71
- end
72
-
73
- if readcursor & Indicators[:'message-rfc822'] > 0
74
- # Inside of the original message part
75
- if e.empty?
76
- blanklines += 1
77
- break if blanklines > 1
78
- next
79
- end
80
- rfc822list << e
81
- else
82
- # Error message part
83
- next if (readcursor & Indicators[:deliverystatus]) == 0
84
- next if e.empty?
85
-
86
- v = dscontents[-1]
87
- if cv = e.match(/\A[ \t]+Could not be delivered to: [<]([^ ]+[@][^ ]+)[>]/)
88
- # Your mail sent on: Thu, 29 Apr 2010 11:04:47 +0900
89
- # Could not be delivered to: <******@**.***.**>
90
- # As their mailbox is full.
91
- if v['recipient']
92
- # There are multiple recipient addresses in the message body.
93
- dscontents << Sisimai::Bite.DELIVERYSTATUS
94
- v = dscontents[-1]
95
- end
96
- r = Sisimai::Address.s3s4(cv[1])
97
- next unless Sisimai::RFC5322.is_emailaddress(r)
98
- v['recipient'] = r
99
- recipients += 1
100
-
101
- elsif cv = e.match(/Your mail sent on: (.+)\z/)
102
- # Your mail sent on: Thu, 29 Apr 2010 11:04:47 +0900
103
- v['date'] = cv[1]
104
- else
105
- # As their mailbox is full.
106
- v['diagnosis'] ||= ''
107
- v['diagnosis'] << e + ' ' if e.start_with?(' ', "\t")
108
- end
109
- end
110
- end
111
- return nil unless recipients > 0
112
-
113
- dscontents.each do |e|
114
- e['agent'] = self.smtpagent
115
- e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
116
-
117
- if mhead['x-spasign'].to_s == 'NG'
118
- # Content-Type: text/plain; ..., X-SPASIGN: NG (spamghetti, au by KDDI)
119
- # Filtered recipient returns message that include 'X-SPASIGN' header
120
- e['reason'] = 'filtered'
121
- else
122
- if e['command'] == 'RCPT'
123
- # set "userunknown" when the remote server rejected after RCPT
124
- # command.
125
- e['reason'] = 'userunknown'
126
- else
127
- # SMTP command is not RCPT
128
- MessagesOf.each_key do |r|
129
- # Verify each regular expression of session errors
130
- next unless MessagesOf[r].any? { |a| e['diagnosis'].include?(a) }
131
- e['reason'] = r
132
- break
133
- end
134
- end
135
- end
136
-
137
- end
138
-
139
- rfc822part = Sisimai::RFC5322.weedout(rfc822list)
140
- return { 'ds' => dscontents, 'rfc822' => rfc822part }
141
- end
142
-
143
- end
144
- end
145
- end
146
-
@@ -1,120 +0,0 @@
1
- module Sisimai::Bite::Email
2
- # Sisimai::Bite::Email::MailFoundry parses a bounce email which created by
3
- # MailFoundry. Methods in the module are called from only Sisimai::Message.
4
- module MailFoundry
5
- class << self
6
- # Imported from p5-Sisimail/lib/Sisimai/Bite/Email/MailFoundry.pm
7
- require 'sisimai/bite/email'
8
-
9
- Indicators = Sisimai::Bite::Email.INDICATORS
10
- StartingOf = {
11
- message: ['This is a MIME encoded message'],
12
- rfc822: ['Content-Type: message/rfc822'],
13
- error: ['Delivery failed for the following reason:'],
14
- }.freeze
15
-
16
- def description; return 'MailFoundry'; end
17
- def smtpagent; return Sisimai::Bite.smtpagent(self); end
18
- def headerlist; return []; end
19
-
20
- # Parse bounce messages from MailFoundry
21
- # @param [Hash] mhead Message headers of a bounce email
22
- # @options mhead [String] from From header
23
- # @options mhead [String] date Date header
24
- # @options mhead [String] subject Subject header
25
- # @options mhead [Array] received Received headers
26
- # @options mhead [String] others Other required headers
27
- # @param [String] mbody Message body of a bounce email
28
- # @return [Hash, Nil] Bounce data list and message/rfc822
29
- # part or nil if it failed to parse or
30
- # the arguments are missing
31
- def scan(mhead, mbody)
32
- return nil unless mhead['subject'] == 'Message delivery has failed'
33
- return nil unless mhead['received'].any? { |a| a.include?('(MAILFOUNDRY) id ') }
34
-
35
- dscontents = [Sisimai::Bite.DELIVERYSTATUS]
36
- hasdivided = mbody.split("\n")
37
- rfc822list = [] # (Array) Each line in message/rfc822 part string
38
- blanklines = 0 # (Integer) The number of blank lines
39
- readcursor = 0 # (Integer) Points the current cursor position
40
- recipients = 0 # (Integer) The number of 'Final-Recipient' header
41
- v = nil
42
-
43
- while e = hasdivided.shift do
44
- if readcursor == 0
45
- # Beginning of the bounce message or delivery status part
46
- if e == StartingOf[:message][0]
47
- readcursor |= Indicators[:deliverystatus]
48
- next
49
- end
50
- end
51
-
52
- if (readcursor & Indicators[:'message-rfc822']) == 0
53
- # Beginning of the original message part
54
- if e == StartingOf[:rfc822][0]
55
- readcursor |= Indicators[:'message-rfc822']
56
- next
57
- end
58
- end
59
-
60
- if readcursor & Indicators[:'message-rfc822'] > 0
61
- # Inside of the original message part
62
- if e.empty?
63
- blanklines += 1
64
- break if blanklines > 1
65
- next
66
- end
67
- rfc822list << e
68
- else
69
- # Error message part
70
- next if (readcursor & Indicators[:deliverystatus]) == 0
71
- next if e.empty?
72
-
73
- # Unable to deliver message to: <kijitora@example.org>
74
- # Delivery failed for the following reason:
75
- # Server mx22.example.org[192.0.2.222] failed with: 550 <kijitora@example.org> No such user here
76
- #
77
- # This has been a permanent failure. No further delivery attempts will be made.
78
- v = dscontents[-1]
79
-
80
- if cv = e.match(/\AUnable to deliver message to: [<]([^ ]+[@][^ ]+)[>]\z/)
81
- # Unable to deliver message to: <kijitora@example.org>
82
- if v['recipient']
83
- # There are multiple recipient addresses in the message body.
84
- dscontents << Sisimai::Bite.DELIVERYSTATUS
85
- v = dscontents[-1]
86
- end
87
- v['recipient'] = cv[1]
88
- recipients += 1
89
- else
90
- # Error message
91
- if e == StartingOf[:error][0]
92
- # Delivery failed for the following reason:
93
- v['diagnosis'] = e
94
- else
95
- # Detect error message
96
- next if e.empty?
97
- next if v['diagnosis'].nil? || v['diagnosis'].empty?
98
- next if e.start_with?('-')
99
-
100
- # Server mx22.example.org[192.0.2.222] failed with: 550 <kijitora@example.org> No such user here
101
- v['diagnosis'] << ' ' << e
102
- end
103
- end
104
- end
105
- end
106
- return nil unless recipients > 0
107
-
108
- dscontents.each do |e|
109
- e['agent'] = self.smtpagent
110
- e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
111
- e.each_key { |a| e[a] ||= '' }
112
- end
113
-
114
- rfc822part = Sisimai::RFC5322.weedout(rfc822list)
115
- return { 'ds' => dscontents, 'rfc822' => rfc822part }
116
- end
117
-
118
- end
119
- end
120
- end
@@ -1,165 +0,0 @@
1
- module Sisimai::Bite::Email
2
- # Sisimai::Bite::Email::MailMarshalSMTP parses a bounce email which created
3
- # by Trustwave Secure Email Gateway: formerly MailMarshal SMTP. Methods in
4
- # the module are called from only Sisimai::Message.
5
- module MailMarshalSMTP
6
- class << self
7
- # Imported from p5-Sisimail/lib/Sisimai/Bite/Email/MailMarshalSMTP.pm
8
- require 'sisimai/bite/email'
9
-
10
- Indicators = Sisimai::Bite::Email.INDICATORS
11
- StartingOf = {
12
- message: ['Your message:'],
13
- error: ['Could not be delivered because of'],
14
- rcpts: ['The following recipients were affected:'],
15
- }.freeze
16
-
17
- def description; return 'Trustwave Secure Email Gateway'; end
18
- def smtpagent; return Sisimai::Bite.smtpagent(self); end
19
- def headerlist; return ['X-Mailer']; end
20
-
21
- # Parse bounce messages from MailMarshalSMTP
22
- # @param [Hash] mhead Message headers of a bounce email
23
- # @options mhead [String] from From header
24
- # @options mhead [String] date Date header
25
- # @options mhead [String] subject Subject header
26
- # @options mhead [Array] received Received headers
27
- # @options mhead [String] others Other required headers
28
- # @param [String] mbody Message body of a bounce email
29
- # @return [Hash, Nil] Bounce data list and message/rfc822
30
- # part or nil if it failed to parse or
31
- # the arguments are missing
32
- def scan(mhead, mbody)
33
- return nil unless mhead['subject'].start_with?('Undeliverable Mail: "')
34
-
35
- dscontents = [Sisimai::Bite.DELIVERYSTATUS]
36
- hasdivided = mbody.split("\n")
37
- rfc822list = [] # (Array) Each line in message/rfc822 part string
38
- blanklines = 0 # (Integer) The number of blank lines
39
- readcursor = 0 # (Integer) Points the current cursor position
40
- recipients = 0 # (Integer) The number of 'Final-Recipient' header
41
- endoferror = false # (Boolean) Flag for the end of error message
42
- regularexp = nil
43
- v = nil
44
-
45
- boundary00 = Sisimai::MIME.boundary(mhead['content-type']) || ''
46
- regularexp = if boundary00.size > 0
47
- # Convert to regular expression
48
- Regexp.new('\A' << Regexp.escape('--' << boundary00 << '--') << '\z')
49
- else
50
- regularexp = %r/\A[ \t]*[+]+[ \t]*\z/
51
- end
52
-
53
- while e = hasdivided.shift do
54
- if readcursor == 0
55
- # Beginning of the bounce message or delivery status part
56
- if e == StartingOf[:message][0]
57
- readcursor |= Indicators[:deliverystatus]
58
- next
59
- end
60
- end
61
-
62
- if (readcursor & Indicators[:'message-rfc822']) == 0
63
- # Beginning of the original message part
64
- if e =~ regularexp
65
- readcursor |= Indicators[:'message-rfc822']
66
- next
67
- end
68
- end
69
-
70
- if readcursor & Indicators[:'message-rfc822'] > 0
71
- # Inside of the original message part
72
- if e.empty?
73
- blanklines += 1
74
- break if blanklines > 1
75
- next
76
- end
77
- rfc822list << e
78
- else
79
- # Error message part
80
- next if (readcursor & Indicators[:deliverystatus]) == 0
81
- break if e =~ regularexp
82
-
83
- # Your message:
84
- # From: originalsender@example.com
85
- # Subject: IIdentifica蟾ス驕俳
86
- #
87
- # Could not be delivered because of
88
- #
89
- # 550 5.1.1 User unknown
90
- #
91
- # The following recipients were affected:
92
- # dummyuser@blabla.xxxxxxxxxxxx.com
93
- v = dscontents[-1]
94
-
95
- if cv = e.match(/\A[ ]{4}([^ ]+[@][^ ]+)\z/)
96
- # The following recipients were affected:
97
- # dummyuser@blabla.xxxxxxxxxxxx.com
98
- if v['recipient']
99
- # There are multiple recipient addresses in the message body.
100
- dscontents << Sisimai::Bite.DELIVERYSTATUS
101
- v = dscontents[-1]
102
- end
103
- v['recipient'] = cv[1]
104
- recipients += 1
105
- else
106
- # Get error message lines
107
- if e == StartingOf[:error][0]
108
- # Could not be delivered because of
109
- #
110
- # 550 5.1.1 User unknown
111
- v['diagnosis'] = e
112
-
113
- elsif !v['diagnosis'].to_s.empty? && endoferror == false
114
- # Append error messages
115
- endoferror = true if e.start_with?(StartingOf[:rcpts][0])
116
- next if endoferror
117
- v['diagnosis'] << ' ' << e
118
- else
119
- # Additional Information
120
- # ======================
121
- # Original Sender: <originalsender@example.com>
122
- # Sender-MTA: <10.11.12.13>
123
- # Remote-MTA: <10.0.0.1>
124
- # Reporting-MTA: <relay.xxxxxxxxxxxx.com>
125
- # MessageName: <B549996730000.000000000001.0003.mml>
126
- # Last-Attempt-Date: <16:21:07 seg, 22 Dezembro 2014>
127
- if cv = e.match(/\AOriginal Sender:[ \t]+[<](.+)[>]\z/)
128
- # Original Sender: <originalsender@example.com>
129
- # Use this line instead of "From" header of the original
130
- # message.
131
- rfc822list << ('From: ' << cv[1])
132
-
133
- elsif cv = e.match(/\ASender-MTA:[ \t]+[<](.+)[>]\z/)
134
- # Sender-MTA: <10.11.12.13>
135
- v['lhost'] = cv[1]
136
-
137
- elsif cv = e.match(/\AReporting-MTA:[ \t]+[<](.+)[>]\z/)
138
- # Reporting-MTA: <relay.xxxxxxxxxxxx.com>
139
- v['rhost'] = cv[1]
140
-
141
- elsif cv = e.match(/\A\s+(From|Subject):\s*(.+)\z/)
142
- # From: originalsender@example.com
143
- # Subject: ...
144
- rfc822list << sprintf("%s: %s", cv[1], cv[2])
145
- end
146
- end
147
- end
148
- end
149
- end
150
- return nil unless recipients > 0
151
-
152
- dscontents.each do |e|
153
- e['agent'] = self.smtpagent
154
- e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
155
- e.each_key { |a| e[a] ||= '' }
156
- end
157
-
158
- rfc822part = Sisimai::RFC5322.weedout(rfc822list)
159
- return { 'ds' => dscontents, 'rfc822' => rfc822part }
160
- end
161
-
162
- end
163
- end
164
- end
165
-
@@ -1,157 +0,0 @@
1
- module Sisimai::Bite::Email
2
- # Sisimai::Bite::Email::McAfee parses a bounce email which created by McAfee
3
- # Email Appliance. Methods in the module are called from only Sisimai::Message.
4
- module McAfee
5
- class << self
6
- # Imported from p5-Sisimail/lib/Sisimai/Bite/Email/McAfee.pm
7
- require 'sisimai/bite/email'
8
-
9
- Indicators = Sisimai::Bite::Email.INDICATORS
10
- StartingOf = {
11
- message: ['--- The following addresses had delivery problems ---'],
12
- rfc822: ['Content-Type: message/rfc822'],
13
- }.freeze
14
- ReFailures = {
15
- 'userunknown' => %r{(?:
16
- [ ]User[ ][(].+[@].+[)][ ]unknown[.][ ]
17
- |550[ ]Unknown[ ]user[ ][^ ]+[@][^ ]+
18
- |550[ ][<].+?[@].+?[>][.]+[ ]User[ ]not[ ]exist
19
- |No[ ]such[ ]user
20
- )
21
- }x,
22
- }.freeze
23
-
24
- def description; return 'McAfee Email Appliance'; end
25
- def smtpagent; return Sisimai::Bite.smtpagent(self); end
26
- def headerlist; return %w[x-nai-header]; end
27
-
28
- # Parse bounce messages from McAfee Email Appliance
29
- # @param [Hash] mhead Message headers of a bounce email
30
- # @options mhead [String] from From header
31
- # @options mhead [String] date Date header
32
- # @options mhead [String] subject Subject header
33
- # @options mhead [Array] received Received headers
34
- # @options mhead [String] others Other required headers
35
- # @param [String] mbody Message body of a bounce email
36
- # @return [Hash, Nil] Bounce data list and message/rfc822
37
- # part or nil if it failed to parse or
38
- # the arguments are missing
39
- def scan(mhead, mbody)
40
- return nil unless mhead['x-nai-header']
41
- return nil unless mhead['x-nai-header'].start_with?('Modified by McAfee ')
42
- return nil unless mhead['subject'] == 'Delivery Status'
43
-
44
- require 'sisimai/rfc1894'
45
- fieldtable = Sisimai::RFC1894.FIELDTABLE
46
- dscontents = [Sisimai::Bite.DELIVERYSTATUS]
47
- hasdivided = mbody.split("\n")
48
- havepassed = ['']
49
- rfc822list = [] # (Array) Each line in message/rfc822 part string
50
- blanklines = 0 # (Integer) The number of blank lines
51
- readcursor = 0 # (Integer) Points the current cursor position
52
- recipients = 0 # (Integer) The number of 'Final-Recipient' header
53
- diagnostic = '' # (String) Alternative diagnostic message
54
- v = nil
55
-
56
- while e = hasdivided.shift do
57
- # Save the current line for the next loop
58
- havepassed << e
59
- p = havepassed[-2]
60
-
61
- if readcursor == 0
62
- # Beginning of the bounce message or delivery status part
63
- if e.include?(StartingOf[:message][0])
64
- readcursor |= Indicators[:deliverystatus]
65
- next
66
- end
67
- end
68
-
69
- if (readcursor & Indicators[:'message-rfc822']) == 0
70
- # Beginning of the original message part
71
- if e == StartingOf[:rfc822][0]
72
- readcursor |= Indicators[:'message-rfc822']
73
- next
74
- end
75
- end
76
-
77
- if readcursor & Indicators[:'message-rfc822'] > 0
78
- # Inside of the original message part
79
- if e.empty?
80
- blanklines += 1
81
- break if blanklines > 1
82
- next
83
- end
84
- rfc822list << e
85
- else
86
- # Error message part
87
- next if (readcursor & Indicators[:deliverystatus]) == 0
88
- next if e.empty?
89
-
90
- # Content-Type: text/plain; name="deliveryproblems.txt"
91
- #
92
- # --- The following addresses had delivery problems ---
93
- #
94
- # <user@example.com> (User unknown user@example.com)
95
- #
96
- # --------------Boundary-00=_00000000000000000000
97
- # Content-Type: message/delivery-status; name="deliverystatus.txt"
98
- #
99
- v = dscontents[-1]
100
-
101
- if cv = e.match(/\A[<]([^ ]+[@][^ ]+)[>][ \t]+[(](.+)[)]\z/)
102
- # <kijitora@example.co.jp> (Unknown user kijitora@example.co.jp)
103
- if v['recipient']
104
- # There are multiple recipient addresses in the message body.
105
- dscontents << Sisimai::Bite.DELIVERYSTATUS
106
- v = dscontents[-1]
107
- end
108
- v['recipient'] = cv[1]
109
- diagnostic = cv[2]
110
- recipients += 1
111
-
112
- elsif f = Sisimai::RFC1894.match(e)
113
- # "e" matched with any field defined in RFC3464
114
- o = Sisimai::RFC1894.field(e)
115
- unless o
116
- # Fallback code for empty value or invalid formatted value
117
- # - Original-Recipient: <kijitora@example.co.jp>
118
- if cv = e.match(/\AOriginal-Recipient:[ ]*([^ ]+)\z/)
119
- v['alias'] = Sisimai::Address.s3s4(cv[1])
120
- end
121
- next
122
- end
123
- next unless fieldtable.key?(o[0])
124
- v[fieldtable[o[0]]] = o[2]
125
-
126
- else
127
- # Continued line of the value of Diagnostic-Code field
128
- next unless p.start_with?('Diagnostic-Code:')
129
- next unless cv = e.match(/\A[ \t]+(.+)\z/)
130
- v['diagnosis'] << ' ' << cv[1]
131
- havepassed[-1] = 'Diagnostic-Code: ' << e
132
- end
133
- end
134
- end
135
- return nil unless recipients > 0
136
-
137
- dscontents.each do |e|
138
- e['agent'] = smtpagent
139
- e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'] || diagnostic)
140
-
141
- ReFailures.each_key do |r|
142
- # Verify each regular expression of session errors
143
- next unless e['diagnosis'] =~ ReFailures[r]
144
- e['reason'] = r
145
- break
146
- end
147
- e.each_key { |a| e[a] ||= '' }
148
- end
149
-
150
- rfc822part = Sisimai::RFC5322.weedout(rfc822list)
151
- return { 'ds' => dscontents, 'rfc822' => rfc822part }
152
- end
153
-
154
- end
155
- end
156
- end
157
-