sisimai 5.0.3 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codecovio.yml +3 -1
  3. data/.github/workflows/rake-test.yml +7 -3
  4. data/ChangeLog.md +136 -0
  5. data/Makefile +4 -2
  6. data/README-JA.md +32 -22
  7. data/README.md +31 -21
  8. data/lib/sisimai/arf.rb +124 -213
  9. data/lib/sisimai/fact/json.rb +2 -2
  10. data/lib/sisimai/fact/yaml.rb +2 -2
  11. data/lib/sisimai/fact.rb +208 -173
  12. data/lib/sisimai/lda.rb +98 -0
  13. data/lib/sisimai/lhost/activehunter.rb +5 -4
  14. data/lib/sisimai/lhost/amazonses.rb +189 -305
  15. data/lib/sisimai/lhost/apachejames.rb +52 -55
  16. data/lib/sisimai/lhost/biglobe.rb +5 -6
  17. data/lib/sisimai/lhost/courier.rb +14 -12
  18. data/lib/sisimai/lhost/domino.rb +29 -29
  19. data/lib/sisimai/lhost/dragonfly.rb +113 -0
  20. data/lib/sisimai/lhost/einsundeins.rb +7 -8
  21. data/lib/sisimai/lhost/exchange2003.rb +10 -11
  22. data/lib/sisimai/lhost/exchange2007.rb +115 -104
  23. data/lib/sisimai/lhost/exim.rb +236 -246
  24. data/lib/sisimai/lhost/ezweb.rb +47 -55
  25. data/lib/sisimai/lhost/fml.rb +6 -7
  26. data/lib/sisimai/lhost/gmail.rb +36 -32
  27. data/lib/sisimai/lhost/gmx.rb +8 -20
  28. data/lib/sisimai/lhost/googlegroups.rb +13 -12
  29. data/lib/sisimai/lhost/googleworkspace.rb +94 -0
  30. data/lib/sisimai/lhost/imailserver.rb +11 -19
  31. data/lib/sisimai/lhost/interscanmss.rb +6 -5
  32. data/lib/sisimai/lhost/kddi.rb +7 -8
  33. data/lib/sisimai/lhost/mailfoundry.rb +6 -9
  34. data/lib/sisimai/lhost/mailmarshalsmtp.rb +6 -6
  35. data/lib/sisimai/lhost/messagingserver.rb +19 -17
  36. data/lib/sisimai/lhost/mfilter.rb +8 -7
  37. data/lib/sisimai/lhost/notes.rb +6 -8
  38. data/lib/sisimai/lhost/opensmtpd.rb +11 -9
  39. data/lib/sisimai/lhost/postfix.rb +29 -31
  40. data/lib/sisimai/lhost/qmail.rb +136 -112
  41. data/lib/sisimai/lhost/sendmail.rb +23 -22
  42. data/lib/sisimai/lhost/v5sendmail.rb +93 -64
  43. data/lib/sisimai/lhost/verizon.rb +6 -6
  44. data/lib/sisimai/lhost/x1.rb +4 -4
  45. data/lib/sisimai/lhost/x2.rb +4 -5
  46. data/lib/sisimai/lhost/x3.rb +5 -5
  47. data/lib/sisimai/lhost/x6.rb +4 -4
  48. data/lib/sisimai/lhost/zoho.rb +6 -6
  49. data/lib/sisimai/lhost.rb +21 -24
  50. data/lib/sisimai/mail/maildir.rb +1 -1
  51. data/lib/sisimai/mail/stdin.rb +1 -1
  52. data/lib/sisimai/message.rb +100 -153
  53. data/lib/sisimai/order.rb +22 -77
  54. data/lib/sisimai/reason/authfailure.rb +1 -4
  55. data/lib/sisimai/reason/badreputation.rb +3 -3
  56. data/lib/sisimai/reason/blocked.rb +7 -10
  57. data/lib/sisimai/reason/contenterror.rb +7 -1
  58. data/lib/sisimai/reason/exceedlimit.rb +1 -4
  59. data/lib/sisimai/reason/failedstarttls.rb +42 -0
  60. data/lib/sisimai/reason/filtered.rb +5 -4
  61. data/lib/sisimai/reason/hasmoved.rb +1 -2
  62. data/lib/sisimai/reason/hostunknown.rb +3 -3
  63. data/lib/sisimai/reason/mailboxfull.rb +2 -4
  64. data/lib/sisimai/reason/mailererror.rb +1 -2
  65. data/lib/sisimai/reason/mesgtoobig.rb +2 -4
  66. data/lib/sisimai/reason/norelaying.rb +3 -3
  67. data/lib/sisimai/reason/notaccept.rb +2 -3
  68. data/lib/sisimai/reason/notcompliantrfc.rb +10 -4
  69. data/lib/sisimai/reason/rejected.rb +2 -1
  70. data/lib/sisimai/reason/requireptr.rb +2 -2
  71. data/lib/sisimai/reason/securityerror.rb +1 -3
  72. data/lib/sisimai/reason/spamdetected.rb +6 -8
  73. data/lib/sisimai/reason/speeding.rb +1 -2
  74. data/lib/sisimai/reason/suppressed.rb +36 -0
  75. data/lib/sisimai/reason/suspend.rb +1 -3
  76. data/lib/sisimai/reason/systemerror.rb +5 -0
  77. data/lib/sisimai/reason/toomanyconn.rb +1 -2
  78. data/lib/sisimai/reason/userunknown.rb +1 -1
  79. data/lib/sisimai/reason/virusdetected.rb +5 -6
  80. data/lib/sisimai/reason.rb +82 -78
  81. data/lib/sisimai/rfc1123.rb +152 -0
  82. data/lib/sisimai/rfc1894.rb +102 -62
  83. data/lib/sisimai/rfc2045.rb +2 -1
  84. data/lib/sisimai/rfc3464/thirdparty.rb +102 -0
  85. data/lib/sisimai/rfc3464.rb +224 -345
  86. data/lib/sisimai/rfc3834.rb +3 -3
  87. data/lib/sisimai/rfc5322.rb +7 -17
  88. data/lib/sisimai/rfc791.rb +69 -0
  89. data/lib/sisimai/rhost/aol.rb +36 -0
  90. data/lib/sisimai/rhost/apple.rb +95 -0
  91. data/lib/sisimai/rhost/cox.rb +84 -34
  92. data/lib/sisimai/rhost/facebook.rb +100 -0
  93. data/lib/sisimai/rhost/franceptt.rb +87 -83
  94. data/lib/sisimai/rhost/godaddy.rb +208 -45
  95. data/lib/sisimai/rhost/google.rb +22 -22
  96. data/lib/sisimai/rhost/gsuite.rb +42 -0
  97. data/lib/sisimai/rhost/iua.rb +5 -5
  98. data/lib/sisimai/rhost/kddi.rb +9 -7
  99. data/lib/sisimai/rhost/messagelabs.rb +37 -0
  100. data/lib/sisimai/rhost/microsoft.rb +60 -54
  101. data/lib/sisimai/rhost/mimecast.rb +44 -31
  102. data/lib/sisimai/rhost/nttdocomo.rb +5 -4
  103. data/lib/sisimai/rhost/outlook.rb +36 -0
  104. data/lib/sisimai/rhost/spectrum.rb +102 -41
  105. data/lib/sisimai/rhost/tencent.rb +48 -26
  106. data/lib/sisimai/rhost/yahooinc.rb +111 -0
  107. data/lib/sisimai/rhost.rb +65 -42
  108. data/lib/sisimai/smtp/command.rb +31 -21
  109. data/lib/sisimai/smtp/failure.rb +103 -0
  110. data/lib/sisimai/smtp/reply.rb +29 -24
  111. data/lib/sisimai/smtp/status.rb +36 -19
  112. data/lib/sisimai/smtp/transcript.rb +18 -18
  113. data/lib/sisimai/string.rb +0 -46
  114. data/lib/sisimai/version.rb +1 -1
  115. data/lib/sisimai.rb +0 -6
  116. data/set-of-emails/maildir/bsd/lhost-dragonfly-01.eml +36 -0
  117. data/set-of-emails/maildir/bsd/lhost-dragonfly-02.eml +32 -0
  118. data/set-of-emails/maildir/bsd/lhost-dragonfly-03.eml +32 -0
  119. data/set-of-emails/maildir/bsd/lhost-dragonfly-04.eml +31 -0
  120. data/set-of-emails/maildir/bsd/lhost-dragonfly-05.eml +32 -0
  121. data/set-of-emails/maildir/bsd/lhost-dragonfly-06.eml +32 -0
  122. data/set-of-emails/maildir/bsd/lhost-dragonfly-07.eml +32 -0
  123. data/set-of-emails/maildir/bsd/lhost-dragonfly-08.eml +32 -0
  124. data/set-of-emails/maildir/bsd/lhost-dragonfly-09.eml +32 -0
  125. data/set-of-emails/maildir/bsd/lhost-dragonfly-10.eml +32 -0
  126. data/set-of-emails/maildir/bsd/lhost-dragonfly-11.eml +32 -0
  127. data/set-of-emails/maildir/bsd/lhost-dragonfly-12.eml +32 -0
  128. data/set-of-emails/maildir/bsd/lhost-dragonfly-13.eml +32 -0
  129. data/set-of-emails/maildir/bsd/lhost-dragonfly-14.eml +32 -0
  130. data/set-of-emails/maildir/bsd/lhost-dragonfly-15.eml +32 -0
  131. data/set-of-emails/maildir/bsd/lhost-dragonfly-16.eml +32 -0
  132. data/set-of-emails/maildir/bsd/lhost-dragonfly-17.eml +32 -0
  133. data/set-of-emails/maildir/bsd/lhost-dragonfly-18.eml +32 -0
  134. data/set-of-emails/maildir/bsd/lhost-dragonfly-19.eml +32 -0
  135. data/set-of-emails/maildir/bsd/lhost-dragonfly-20.eml +32 -0
  136. data/set-of-emails/maildir/bsd/lhost-dragonfly-21.eml +33 -0
  137. data/set-of-emails/maildir/bsd/lhost-dragonfly-22.eml +32 -0
  138. data/set-of-emails/maildir/bsd/lhost-dragonfly-23.eml +32 -0
  139. data/set-of-emails/maildir/bsd/lhost-dragonfly-24.eml +32 -0
  140. data/set-of-emails/maildir/bsd/lhost-dragonfly-25.eml +33 -0
  141. data/set-of-emails/maildir/bsd/lhost-dragonfly-26.eml +33 -0
  142. data/set-of-emails/maildir/bsd/lhost-dragonfly-27.eml +47 -0
  143. data/set-of-emails/maildir/bsd/lhost-dragonfly-28.eml +47 -0
  144. data/set-of-emails/maildir/bsd/lhost-dragonfly-29.eml +32 -0
  145. data/set-of-emails/maildir/bsd/lhost-dragonfly-30.eml +32 -0
  146. data/set-of-emails/maildir/bsd/lhost-opensmtpd-10.eml +58 -0
  147. data/set-of-emails/maildir/bsd/lhost-opensmtpd-11.eml +58 -0
  148. data/set-of-emails/maildir/bsd/lhost-opensmtpd-12.eml +62 -0
  149. data/set-of-emails/maildir/bsd/lhost-opensmtpd-13.eml +62 -0
  150. data/set-of-emails/maildir/bsd/lhost-opensmtpd-14.eml +58 -0
  151. data/set-of-emails/maildir/bsd/lhost-opensmtpd-15.eml +63 -0
  152. data/set-of-emails/maildir/bsd/lhost-opensmtpd-16.eml +62 -0
  153. data/set-of-emails/maildir/bsd/lhost-opensmtpd-17.eml +63 -0
  154. data/set-of-emails/maildir/bsd/lhost-postfix-30.eml +81 -81
  155. data/set-of-emails/maildir/bsd/lhost-qmail-11.eml +29 -0
  156. data/set-of-emails/maildir/bsd/lhost-qmail-12.eml +29 -0
  157. data/set-of-emails/maildir/bsd/lhost-qmail-13.eml +29 -0
  158. data/set-of-emails/maildir/bsd/lhost-qmail-14.eml +34 -0
  159. data/set-of-emails/maildir/bsd/lhost-qmail-15.eml +30 -0
  160. data/set-of-emails/maildir/bsd/lhost-qmail-16.eml +31 -0
  161. data/set-of-emails/maildir/bsd/lhost-qmail-17.eml +38 -0
  162. data/set-of-emails/maildir/bsd/lhost-qmail-18.eml +31 -0
  163. data/set-of-emails/maildir/bsd/lhost-qmail-19.eml +31 -0
  164. data/set-of-emails/maildir/bsd/lhost-qmail-20.eml +46 -0
  165. data/set-of-emails/maildir/bsd/lhost-qmail-21.eml +41 -0
  166. data/set-of-emails/maildir/bsd/lhost-qmail-22.eml +42 -0
  167. data/set-of-emails/maildir/bsd/lhost-qmail-23.eml +43 -0
  168. data/set-of-emails/maildir/bsd/lhost-qmail-24.eml +43 -0
  169. data/set-of-emails/maildir/bsd/lhost-qmail-25.eml +54 -0
  170. data/set-of-emails/maildir/bsd/{lhost-aol-03.eml → rhost-aol-03.eml} +1264 -1264
  171. data/set-of-emails/maildir/bsd/{lhost-aol-04.eml → rhost-aol-04.eml} +1260 -1260
  172. data/set-of-emails/maildir/bsd/{lhost-aol-05.eml → rhost-aol-05.eml} +105 -105
  173. data/set-of-emails/maildir/bsd/{lhost-aol-06.eml → rhost-aol-06.eml} +105 -105
  174. data/set-of-emails/maildir/bsd/rhost-apple-01.eml +79 -0
  175. data/set-of-emails/maildir/bsd/rhost-apple-02.eml +81 -0
  176. data/set-of-emails/maildir/bsd/rhost-apple-03.eml +75 -0
  177. data/set-of-emails/maildir/bsd/rhost-apple-04.eml +74 -0
  178. data/set-of-emails/maildir/bsd/rhost-gsuite-01.eml +189 -0
  179. data/set-of-emails/maildir/bsd/rhost-gsuite-02.eml +180 -0
  180. data/set-of-emails/maildir/bsd/rhost-gsuite-03.eml +251 -0
  181. data/set-of-emails/maildir/bsd/rhost-gsuite-04.eml +211 -0
  182. data/set-of-emails/maildir/bsd/rhost-gsuite-05.eml +226 -0
  183. data/set-of-emails/maildir/bsd/rhost-gsuite-06.eml +257 -0
  184. data/set-of-emails/maildir/bsd/rhost-gsuite-07.eml +289 -0
  185. data/set-of-emails/maildir/bsd/rhost-gsuite-08.eml +231 -0
  186. data/set-of-emails/maildir/bsd/rhost-gsuite-09.eml +231 -0
  187. data/set-of-emails/maildir/bsd/rhost-gsuite-10.eml +254 -0
  188. data/set-of-emails/maildir/bsd/rhost-gsuite-11.eml +228 -0
  189. data/set-of-emails/maildir/bsd/rhost-gsuite-12.eml +271 -0
  190. data/set-of-emails/maildir/bsd/rhost-gsuite-13.eml +261 -0
  191. data/set-of-emails/maildir/bsd/rhost-gsuite-14.eml +273 -0
  192. data/set-of-emails/maildir/bsd/rhost-gsuite-15.eml +229 -0
  193. data/set-of-emails/maildir/bsd/{lhost-messagelabs-01.eml → rhost-messagelabs-01.eml} +93 -93
  194. data/set-of-emails/maildir/bsd/rhost-outlook-01.eml +72 -0
  195. data/set-of-emails/maildir/bsd/rhost-outlook-02.eml +72 -0
  196. data/set-of-emails/maildir/bsd/rhost-outlook-03.eml +72 -0
  197. data/set-of-emails/maildir/bsd/rhost-outlook-04.eml +79 -0
  198. data/set-of-emails/maildir/bsd/rhost-outlook-06.eml +75 -0
  199. data/set-of-emails/maildir/bsd/rhost-outlook-07.eml +70 -0
  200. data/set-of-emails/maildir/bsd/rhost-outlook-08.eml +70 -0
  201. data/set-of-emails/maildir/bsd/rhost-outlook-09.eml +56 -0
  202. data/set-of-emails/maildir/bsd/rhost-yahooinc-01.eml +80 -0
  203. data/set-of-emails/maildir/bsd/rhost-yahooinc-02.eml +83 -0
  204. data/set-of-emails/maildir/bsd/rhost-yahooinc-03.eml +125 -0
  205. data/set-of-emails/maildir/tmp/arf-22.eml +49 -0
  206. data/set-of-emails/maildir/tmp/arf-23.eml +49 -0
  207. data/set-of-emails/maildir/tmp/arf-24.eml +50 -0
  208. data/set-of-emails/maildir/tmp/lhost-exim-07.eml +28 -0
  209. metadata +136 -56
  210. data/lib/sisimai/lhost/amavis.rb +0 -163
  211. data/lib/sisimai/lhost/amazonworkmail.rb +0 -127
  212. data/lib/sisimai/lhost/aol.rb +0 -125
  213. data/lib/sisimai/lhost/barracuda.rb +0 -92
  214. data/lib/sisimai/lhost/bigfoot.rb +0 -125
  215. data/lib/sisimai/lhost/facebook.rb +0 -188
  216. data/lib/sisimai/lhost/gsuite.rb +0 -194
  217. data/lib/sisimai/lhost/mailru.rb +0 -214
  218. data/lib/sisimai/lhost/mcafee.rb +0 -109
  219. data/lib/sisimai/lhost/messagelabs.rb +0 -119
  220. data/lib/sisimai/lhost/mxlogic.rb +0 -198
  221. data/lib/sisimai/lhost/office365.rb +0 -252
  222. data/lib/sisimai/lhost/outlook.rb +0 -129
  223. data/lib/sisimai/lhost/powermta.rb +0 -118
  224. data/lib/sisimai/lhost/receivingses.rb +0 -126
  225. data/lib/sisimai/lhost/sendgrid.rb +0 -150
  226. data/lib/sisimai/lhost/surfcontrol.rb +0 -105
  227. data/lib/sisimai/lhost/x4.rb +0 -269
  228. data/lib/sisimai/lhost/x5.rb +0 -112
  229. data/lib/sisimai/lhost/yahoo.rb +0 -102
  230. data/lib/sisimai/lhost/yandex.rb +0 -118
  231. data/lib/sisimai/mda.rb +0 -121
  232. data/lib/sisimai/smtp/error.rb +0 -119
  233. /data/set-of-emails/maildir/bsd/{lhost-googlegroups-15.eml → lhost-googleworkspace-01.eml} +0 -0
  234. /data/set-of-emails/maildir/bsd/{lhost-x4-08.eml → lhost-x2-06.eml} +0 -0
  235. /data/set-of-emails/maildir/bsd/{lhost-gsuite-01.eml → rfc3464-51.eml} +0 -0
  236. /data/set-of-emails/maildir/bsd/{lhost-gsuite-03.eml → rfc3464-52.eml} +0 -0
  237. /data/set-of-emails/maildir/bsd/{lhost-gsuite-04.eml → rfc3464-53.eml} +0 -0
  238. /data/set-of-emails/maildir/bsd/{lhost-gsuite-05.eml → rfc3464-54.eml} +0 -0
  239. /data/set-of-emails/maildir/bsd/{lhost-gsuite-06.eml → rfc3464-55.eml} +0 -0
  240. /data/set-of-emails/maildir/bsd/{lhost-gsuite-07.eml → rfc3464-56.eml} +0 -0
  241. /data/set-of-emails/maildir/bsd/{lhost-gsuite-08.eml → rfc3464-57.eml} +0 -0
  242. /data/set-of-emails/maildir/bsd/{lhost-gsuite-09.eml → rfc3464-58.eml} +0 -0
  243. /data/set-of-emails/maildir/bsd/{lhost-gsuite-10.eml → rfc3464-59.eml} +0 -0
  244. /data/set-of-emails/maildir/bsd/{lhost-gsuite-11.eml → rfc3464-60.eml} +0 -0
  245. /data/set-of-emails/maildir/bsd/{lhost-gsuite-12.eml → rfc3464-61.eml} +0 -0
  246. /data/set-of-emails/maildir/bsd/{lhost-gsuite-13.eml → rfc3464-62.eml} +0 -0
  247. /data/set-of-emails/maildir/bsd/{lhost-gsuite-14.eml → rfc3464-63.eml} +0 -0
  248. /data/set-of-emails/maildir/bsd/{lhost-gsuite-15.eml → rfc3464-64.eml} +0 -0
  249. /data/set-of-emails/maildir/bsd/{lhost-gsuite-02.eml → rfc3464-65.eml} +0 -0
  250. /data/set-of-emails/maildir/bsd/{lhost-aol-01.eml → rhost-aol-01.eml} +0 -0
  251. /data/set-of-emails/maildir/bsd/{lhost-aol-02.eml → rhost-aol-02.eml} +0 -0
  252. /data/set-of-emails/maildir/bsd/{lhost-facebook-03.eml → rhost-facebook-03.eml} +0 -0
  253. /data/set-of-emails/maildir/bsd/{lhost-facebook-04.eml → rhost-facebook-04.eml} +0 -0
  254. /data/set-of-emails/maildir/bsd/{lhost-messagelabs-02.eml → rhost-messagelabs-02.eml} +0 -0
  255. /data/set-of-emails/maildir/bsd/{lhost-messagelabs-03.eml → rhost-messagelabs-03.eml} +0 -0
  256. /data/set-of-emails/maildir/{bsd → tmp}/rfc3464-37.eml +0 -0
  257. /data/set-of-emails/maildir/{bsd → tmp}/rfc3464-38.eml +0 -0
  258. /data/set-of-emails/maildir/{bsd → tmp}/rfc3464-39.eml +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0eec943ed278f831725b0284faaee55afd03e0a9c1c843ff6ea5b293e557fe9b
4
- data.tar.gz: 2491ec5afc09217998fad153605ccabf5fbe6ae66fceecc70b5798f17c0120f7
3
+ metadata.gz: 1361ff9bfe8b3766d3ac2a38719c055d91a1ea6ec36574675bfbf46029687470
4
+ data.tar.gz: 37bb5f43705adcbdedc7ccc2db6a049f405d5769aa8529aa6bdb49f0262b9070
5
5
  SHA512:
6
- metadata.gz: 35d9e9b9360bd120b9ba66d3a316536796834eb260f29ab0d0054466ea71c998eb315051fc820cbecd5676d212d410ae28c2402ed7457609d3211b425798898d
7
- data.tar.gz: '09e8845d7dd05b8d1b3931438e755411427c720e0e25f31c70c37d4bb460659fdf74110096cfda7a6a968d1f1af7423fc262f88f159952ff7637cc72bdc8f3dc'
6
+ metadata.gz: 786482ef8faa20a09f14660bcd294d5ffe504abfe7b1ba1bb1ee1e5dccab023436058c4e1c91345bc5dd0ec721359b6e6278105841b8a049845b59694f4ea7f4
7
+ data.tar.gz: 78d813269ac427deb8af80dc75f9bf42476bed3ee54cbb1aeda6c132e53d41e6a2fabb98f066b9cb0ae5d77d0a2f42053b8cc1dce893244eb8b9dd9f474af9e7
@@ -3,13 +3,15 @@ on:
3
3
  push:
4
4
  branches: ["5-stable"]
5
5
  pull_request:
6
- branches: ["5-stable"]
6
+ branches: ["*"]
7
7
  jobs:
8
8
  codecov:
9
9
  runs-on: ubuntu-latest
10
10
  steps:
11
11
  - name: Checkout the repository(CRuby)
12
12
  uses: actions/checkout@v4
13
+ with:
14
+ ref: ${{ github.event.pull_request.head.ref }}
13
15
  - name: Setup CRuby
14
16
  uses: ruby/setup-ruby@v1
15
17
  with:
@@ -3,7 +3,7 @@ on:
3
3
  push:
4
4
  branches: ["5-stable"]
5
5
  pull_request:
6
- branches: ["5-stable"]
6
+ branches: ["*"]
7
7
  jobs:
8
8
  test-cruby:
9
9
  name: rake test with CRuby ${{ matrix.cruby }}
@@ -15,6 +15,8 @@ jobs:
15
15
  steps:
16
16
  - name: Checkout the repository(CRuby)
17
17
  uses: actions/checkout@v4
18
+ with:
19
+ ref: ${{ github.event.pull_request.head.ref }}
18
20
  - name: Setup CRuby
19
21
  uses: ruby/setup-ruby@v1
20
22
  with:
@@ -35,10 +37,12 @@ jobs:
35
37
  strategy:
36
38
  fail-fast: false
37
39
  matrix:
38
- jruby: ["jruby-9.2", "jruby-9.4"]
40
+ jruby: ["jruby-9.4"]
39
41
  steps:
40
42
  - name: Checkout the repository(JRuby)
41
- uses: actions/checkout@v2
43
+ uses: actions/checkout@v4
44
+ with:
45
+ ref: ${{ github.event.pull_request.head.ref }}
42
46
  - name: Setup JRuby
43
47
  uses: ruby/setup-ruby@v1
44
48
  with:
data/ChangeLog.md CHANGED
@@ -3,6 +3,142 @@ RELEASE NOTES for Ruby version of Sisimai
3
3
  - releases: "https://github.com/sisimai/rb-sisimai/releases"
4
4
  - download: "https://rubygems.org/gems/sisimai"
5
5
 
6
+ v5.2.0
7
+ ---------------------------------------------------------------------------------------------------
8
+ - release: "5.2.0"
9
+ - version: "Tue, 25 Feb 2025 11:17:31 +0900 (JST)"
10
+ - changes:
11
+ - **Keep compatibility with the Go language version of Sisimai** #311 #318 #327
12
+ - **BREAKING CHANGES AT EXTERNAL USER APIs**
13
+ - Changes in accessors of `Sisimai::Fact` and key names in JSON string
14
+ - `smtpagent` has been renamed to `decodedby` #323
15
+ - `smtpcommand` has been renamed to `command` #323
16
+ - Removed accessors/keys are still available until v5.5.0
17
+ - New accessor and key `feedbackid`, it is a field for the `Feedback-ID:` header of the
18
+ original message #328
19
+ - New bounce reason `Sisimai::Reason::Suppressed`
20
+ - New bounce reason `Sisimai::Reason::FailedSTARTTLS` #322
21
+ - **THERE ARE SOME BREAKING CHANGES AT INTERNAL APIs**
22
+ - `Sisimai::SMTP::Error` has been renamed to `Sisimai::SMTP::Failure` and the following methods
23
+ implemented: #309
24
+ - `is_temporary()`
25
+ - `is_hardbounce()`
26
+ - `is_softbounce()`
27
+ - `soft_or_hard()` has been removed
28
+ - Changes in `Sisimai::Rhost`
29
+ - `get()` method has been renamed to `find()`
30
+ - Fix bug in code to check the domain part of an email address as a remote hostname
31
+ - Add a new error message pattern: `hosted tenant which has no mail-enabled subscriptions'`
32
+ in `Sisimai::Rhost::Microsoft`
33
+ - Implement `name()` method
34
+ - Bug fix in `Sisimai::Rhost::Facebook`
35
+ - Remove `hardbounce` accessor from `Sisimai::Lhost` #313
36
+ - Implement `Sisimai::RFC3464::ThirdParty`
37
+ - Remove the following MTA modules from `Sisimai::Lhost` #315
38
+ - `Sisimai::RFC3464` can decode a bounce mail returned from services/MTAs below #317
39
+ - Amavis
40
+ - AmazonWorkMail
41
+ - Aol
42
+ - Barracuda
43
+ - Bigfoot
44
+ - Facebook
45
+ - McAfee
46
+ - MessageLabs
47
+ - Outlook
48
+ - PowerMTA
49
+ - Some codes for checking heaaders have been moved to `Sisimai::RFC3464::ThirdParty`
50
+ - ReceivingSES
51
+ - SendGrid
52
+ - SurfControl
53
+ - X5
54
+ - Yandex
55
+ - `Sisimai::Lhost::Exim` can decode a bounce mail returned from services/MTAs below
56
+ - MailRu
57
+ - MXLogic
58
+ - `Sisimai::Lhost::qmail` can decode a bounce mail returned from services/MTAs below
59
+ - X4
60
+ - Yahoo
61
+ - `Sisimai::Lhost::Exchange2007` can decode a bounce mail returned from Office365
62
+ - `Sisimai::Lhost::GSuite` has been renamed to `Sisimai::Lhost::GoogleWorkspace`
63
+ - `Sisimai::Lhost::AmazonSES` decodes only JSON formatted bounce mail notified from Amazon SNS
64
+ - The bounce mail from Amazon SES which have no JSON string is decoded by `Sisimai::RFC3464`
65
+ - Each error code table of the following MTA modules (removed at issue #315) have been moved to
66
+ `Sisimai::Rhost::*` #318
67
+ - Aol
68
+ - Facebook
69
+ - GSuite
70
+ - MessageLabs
71
+ - Outlook
72
+ - `Sisimai::MDA` has been renamed to `Sisimai::LDA`
73
+ - `Sisimai::RFC791` for the IPv4 address implemented #319
74
+ - `Sisimai::String.ipv4` has been moved/renamed to `Sisimai::RFC791.find`
75
+ - Implement `Sisimai::RFC791.is_ipv4address`
76
+ - `Sisimai::RFC1123.is_validhostname()` has been renamed to `is_internethost()`
77
+ - Implement `Sisimai::RFC1123.find()`
78
+ - #312 `Sisimai::RFC1894.field()` method detect a comment string (returns an array which have
79
+ 5 elements: ["field-name", "value-type", "value", "field-group", "comment"])
80
+ - `Reporting-MTA` indicates `lhost` in `Sisimai::RFC1894` (bug fix)
81
+ - Code improvement and bug fix at `Sisimai::Lhost::Exim`
82
+ - Remove needless condition for getting error messages
83
+ - Rewrite code for getting an SMTP reply code and a delivery status code
84
+ - Warn if `Sisimai::Message.load` method was called #302 #303
85
+ - Remove unused method `Sisimai::Order.deault` #304
86
+ - Fix bug in `Sisimai::Message.tidy()` method #305
87
+ - Code improvement in `Sisimai::RFC5322` and `Sisimai::ARF`
88
+ - Fix the minimum and the maximum SMTP Reply code: 221 and 557 in `Sisimai::SMTP::Reply`
89
+ - Add a new error message pattern in the followings:
90
+ - `Sisimai::Reason::BadReputation`
91
+ - `Sisimai::Reason::Blocked`
92
+ - `Sisimai::Reason::Filtered`
93
+ - `Sisimai::Reason::MailboxFull`
94
+ - `Sisimai::Reason::MesgTooBig`
95
+ - `Sisimai::Reason::RequirePTR`
96
+ - `Sisimai::Reason::SpamDetected`
97
+ - `Sisimai::Reason::SystemError`
98
+ - Remove regular expressions from error message patterns at the following classes: #308
99
+ - `Sisimai::Reason::Blocked`
100
+ - `Sisimai::Reason::MailerError`
101
+ - `Sisimai::Reason::SpamDetected`
102
+ - Fix typo in `Sisimai::Rhost::YahooInc` #310
103
+ - Bug fix: Unstable matching for getting an `Sisimai::Rhost::*` module name when the bounce mail
104
+ sent from Microsoft to Aol (Random key sort order of the Hash)
105
+ - Add `sv-SE` in `Sisimai::Lhost::Exchange2007`
106
+ - Large scale code improvement in `Sisimai::Lhost::V5sendmail`
107
+
108
+ v5.1.0
109
+ ---------------------------------------------------------------------------------------------------
110
+ - release: "Mon, 1 Jul 2024 12:02:22 +0900 (JST)"
111
+ - version: "5.1.0"
112
+ - changes:
113
+ - #297 #300 Remove v4 compatible features
114
+ - `Sisimai.make()`
115
+ - `Sisimai::Fact.softbounce()`
116
+ - #292 #293 Implement `Sisimai::Lhost::DragonFly`
117
+ - Add 30 sample emails generated by DMA: DrangonFly Mail Agent (lhost-dragonfly-*.eml)
118
+ - #288 Consolidate error messages scattered under `Sisimai::Reason::*` into `Sisimai::Rhost::*`
119
+ classes for each email service #289
120
+ - `Sisimai::Rhost::YahooInc` for https://senders.yahooinc.com/smtp-error-codes/
121
+ - `Sisimai::Rhost::Apple` for iCloud Mail
122
+ - The following sample emails in `set-of-emails/maildir/bsd`:
123
+ - 3 sample emails (rhost-yahooinc-0[1-3].eml)
124
+ - 4 sample emails (rhost-apple-0[1-4].eml)
125
+ - #290 #291 #295 Sisimai::Rhost improvements
126
+ - Update the error code list and error message patterns in the following classes:
127
+ - `Sisimai::Rhost::Cox`
128
+ - `Sisimai::Rhost::FrancePTT`
129
+ - `Sisimai::Rhost::GoDaddy`
130
+ - `Sisimai::Rhost::Mimecast`
131
+ - `Sisimai::Rhost::Spectrum`
132
+ - `Sisimai::Rhost::Tencent`
133
+ - Each error message should be compared with the lowercased string
134
+ - Follow any updates of the SMTP error code and message list in each email services related to
135
+ `AuthFailure`, `BadReputation`, `RequirePTR`, and other error reasons added at v5
136
+ - No longer needed method `Sisimai::Rhost.match` method has been removed
137
+ - #296 Add 8 sample emails (lhost-opensmtpd-1[0-7].eml)generated by OpenSMTPD 6.8.0p2
138
+ - #298 Add 9 sample emails (lhost-qmail-1[1-9].eml) generated by notqmail 1.08
139
+ - #299 Add 6 sample emails (lhost-qmail-2[0-5].eml) generated by indimail 3.0.7
140
+ - Sisimai works on Ruby 3.3.3
141
+
6
142
  v5.0.3
7
143
  ---------------------------------------------------------------------------------------------------
8
144
  - release: "Wed, 22 May 2024 14:12:22 +0900 (JST)"
data/Makefile CHANGED
@@ -57,10 +57,12 @@ release:
57
57
 
58
58
  test: user-test author-test
59
59
  user-test:
60
- rake publictest
60
+ # Suppress warning messages until v5.5.0
61
+ rake publictest 2> /dev/null
61
62
 
62
63
  author-test:
63
- rake privatetest
64
+ # Suppress warning messages until v5.5.0
65
+ rake privatetest 2> /dev/null
64
66
 
65
67
  check:
66
68
  find lib -type f -exec grep --color -E ' $$' {} /dev/null \;
data/README-JA.md CHANGED
@@ -10,6 +10,11 @@
10
10
  > ブランチを見てください。また`main`や`master`ブランチはもうこのリポジトリでは使用していません。
11
11
  [^1]: 4系を`clone`する場合は`git clone -b 4-stable https://github.com/sisimai/rb-sisimai.git`
12
12
 
13
+ > [!CAUTION]
14
+ > **Sisimai 4.25.14p11およびそれ以前のバージョンには 正規表現に関する脆弱性
15
+ > [ReDoS: CVE-2022-4891](https://jvndb.jvn.jp/ja/contents/2022/JVNDB-2022-005663.html)があります。
16
+ > 該当するバージョンをお使いの場合はv4.25.14p12以降へアップグレードしてください。**
17
+
13
18
  > [!WARNING]
14
19
  > Sisimai 5はRuby 2.4以上が必要です。インストール/アップグレードを実行する前に`ruby -v`コマンドで
15
20
  > システムに入っているRubyのバージョンを確認してください。
@@ -78,7 +83,7 @@ The key features of Sisimai
78
83
  * `gem install`
79
84
  * `git clone && make`
80
85
  * __高い解析精度__
81
- * [70種類のMTAs/MDAs/ESPs](https://libsisimai.org/en/engine/)に対応
86
+ * [73種類のMTAs/MDAs/ESPs](https://libsisimai.org/en/engine/)に対応
82
87
  * Feedback Loop(ARF)にも対応
83
88
  * [34種類のバウンス理由](https://libsisimai.org/en/reason/)を検出
84
89
 
@@ -110,10 +115,10 @@ Install
110
115
  ### From RubyGems.org
111
116
  ```shell
112
117
  $ sudo gem install sisimai
113
- Fetching: sisimai-5.0.3.gem (100%)
114
- Successfully installed sisimai-5.0.3
115
- Parsing documentation for sisimai-5.0.3
116
- Installing ri documentation for sisimai-5.0.3
118
+ Fetching: sisimai-5.2.0.gem (100%)
119
+ Successfully installed sisimai-5.2.0
120
+ Parsing documentation for sisimai-5.2.0
121
+ Installing ri documentation for sisimai-5.2.0
117
122
  Done installing documentation for sisimai after 6 seconds
118
123
  1 gem installed
119
124
  ```
@@ -141,13 +146,13 @@ if [ -d "/usr/local/jr" ]; then \
141
146
  ...
142
147
  3 gems installed
143
148
  /opt/local/bin/rake install
144
- sisimai 5.0.3 built to pkg/sisimai-5.0.3.gem.
145
- sisimai (5.0.3) installed.
149
+ sisimai 5.2.0 built to pkg/sisimai-5.2.0.gem.
150
+ sisimai (5.2.0) installed.
146
151
  if [ -d "/usr/local/jr" ]; then \
147
152
  PATH="/usr/local/jr/bin:$PATH" /usr/local/jr/bin/rake install; \
148
153
  fi
149
- sisimai 5.0.3 built to pkg/sisimai-5.0.3-java.gem.
150
- sisimai (5.0.3) installed.
154
+ sisimai 5.2.0 built to pkg/sisimai-5.2.0-java.gem.
155
+ sisimai (5.2.0) installed.
151
156
  ```
152
157
 
153
158
  Usage
@@ -348,16 +353,16 @@ Sisimai 5.0.0から**Ruby 2.4以上**が必要になります。
348
353
 
349
354
  | 機能 | Sisimai 4 | Sisimai 5 |
350
355
  |------------------------------------------------------|--------------------|---------------------|
351
- | 動作環境(CRuby) | 2.1 - | **2.4** or later |
356
+ | 動作環境(CRuby) | 2.1 - 3.3.0 | **2.4** or later |
352
357
  | 動作環境(JRuby) | 9.0.4.0 - 9.1.17.0 | **9.2** or later |
353
358
  | 元メールファイルを操作可能なコールバック機能 | なし | あり[^3] |
354
- | 解析エンジン(MTA/ESPモジュール)の数 | 68 | 70 |
355
- | 検出可能なバウンス理由の数 | 29 | 34 |
359
+ | 解析エンジン(MTA/ESPモジュール)の数 | 68 | 58 |
360
+ | 検出可能なバウンス理由の数 | 29 | 36 |
356
361
  | 依存Gem数(Ruby Standard Gemsを除く) | 1 Gem | 1 Gem |
357
- | ソースコードの行数 | 10,800 行 | 11,370 |
362
+ | ソースコードの行数 | 10,800 行 | 9,860 |
358
363
  | テストフレームワーク | rspec | minitest |
359
- | テスト件数(spec/またはtest/ディレクトリ) | 311,000 件 | 338,000 件 |
360
- | 1秒間に解析できるバウンスメール数[^4] | 231 通 | 305 通 |
364
+ | テスト件数(spec/またはtest/ディレクトリ) | 311,000 件 | 410,000 件 |
365
+ | 1秒間に解析できるバウンスメール数[^4] | 290 通 | 305 通 |
361
366
  | ライセンス | 2条項BSD | 2条項BSD |
362
367
  | 開発会社による商用サポート | 提供中 | 提供中 |
363
368
 
@@ -389,11 +394,14 @@ MTA/ESP Module Names
389
394
  Sisimai 5で3個のESPモジュール名(解析エンジン)が変更になりました。詳細はMTA/ESPモジュールの一覧/
390
395
  [LIBSISIMAI.ORG/JA/ENGINE](https://libsisimai.org/ja/engine/)を参照してください。
391
396
 
392
- | `Sisimai::Rhost::` | Sisimai 4 | Sisimai 5 |
393
- |------------------------------------------------------|--------------------|---------------------|
394
- | Microsoft Exchange Online | `ExchangeOnline` | `Microsoft` |
395
- | Google Workspace | `GoogleApps` | `Google` |
396
- | Tencent | `TencentQQ` | `Tencent` |
397
+ | `Sisimai::` | Sisimai 4 | Sisimai 5 |
398
+ |-------------------------------------------------|-------------------------|---------------------|
399
+ | Apple iCloud Mail (added at v5.1.0) | なし | `Rhost::Apple` |
400
+ | Microsoft Exchange Online | `Rhost::ExchangeOnline` | `Rhost::Microsoft` |
401
+ | Google Workspace | `Rhost::GoogleApps` | `Rhost::Google` |
402
+ | Tencent | `Rhost::TencentQQ` | `Rhost::Tencent` |
403
+ | Yahoo Mail (added at v5.1.0) | なし | `Rhost::YahooInc` |
404
+ | DragonFly Mail Agent (added at v5.1.0) | なし | `Lhost::DragonFly` |
397
405
 
398
406
  Bounce Reasons
399
407
  ---------------------------------------------------------------------------------------------------
@@ -407,6 +415,8 @@ Sisimai 5では新たに5個のバウンス理由が増えました。検出可
407
415
  | PTRレコードが未設定または無効なPTRレコード | `Blocked` | `RequirePTR` |
408
416
  | RFCに準拠していないメール[^7] | `SecurityError` | `NotCompliantRFC` |
409
417
  | 単位時間の流量制限・送信速度が速すぎる | `SecurityError` | `Speeding` |
418
+ | STARTTLS関連のエラー (added at v5.2.0) | `SecurityError` | `FailedSTARTTLS` |
419
+ | 宛先がサプレッションリストに一致 (added at v5.2.0) | `OnHold` | `Suppressed` |
410
420
 
411
421
  [^7]: RFC5322など
412
422
 
@@ -428,11 +438,11 @@ Related sites
428
438
  ---------------------------------------------------------------------------------------------------
429
439
  * __@libsisimai__ | [Sisimai on Twitter (@libsisimai)](https://twitter.com/libsisimai)
430
440
  * __LIBSISIMAI.ORG__ | [SISIMAI | MAIL ANALYZING INTERFACE | DECODING BOUNCES, BETTER AND FASTER.](https://libsisimai.org/)
431
- * __Sisimai Blog__ | [blog.libsisimai.org](http://blog.libsisimai.org/)
432
441
  * __Facebook Page__ | [facebook.com/libsisimai](https://www.facebook.com/libsisimai/)
433
442
  * __GitHub__ | [github.com/sisimai/rb-sisimai](https://github.com/sisimai/rb-sisimai)
434
443
  * __RubyGems.org__ | [rubygems.org/gems/sisimai](https://rubygems.org/gems/sisimai)
435
444
  * __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
445
+ * __Go verson__ | [Go version of Sisimai](https://github.com/sisimai/go-sisimai)
436
446
  * __Fixtures__ | [set-of-emails - Sample emails for "make test"](https://github.com/sisimai/set-of-emails)
437
447
 
438
448
  See also
@@ -450,7 +460,7 @@ Author
450
460
 
451
461
  Copyright
452
462
  ===================================================================================================
453
- Copyright (C) 2015-2024 azumakuniyuki, All Rights Reserved.
463
+ Copyright (C) 2015-2025 azumakuniyuki, All Rights Reserved.
454
464
 
455
465
  License
456
466
  ===================================================================================================
data/README.md CHANGED
@@ -11,6 +11,11 @@
11
11
  > branch instead. We have moved away from using both the `main` and `master` branches in our development process.
12
12
  [^1]: Specify `-b 4-stable` when you clone Sisimai 4 for example, `git clone -b 4-stable https://github.com/sisimai/rb-sisimai.git`
13
13
 
14
+ > [!CAUTION]
15
+ > **Sisimai versions 4.25.14p11 and earlier contain a regular expression vulnerability
16
+ > [ReDoS: CVE-2022-4891](https://nvd.nist.gov/vuln/detail/CVE-2022-4891).
17
+ > If you are using one of these versions, please upgrade to v4.25.14p12 or later.**
18
+
14
19
  > [!WARNING]
15
20
  > Sisimai 5 requires Ruby 2.4 or later. Check the version of Ruby in your system before installing/upgrading
16
21
  > by `ruby -v` command.
@@ -80,7 +85,7 @@ The key features of Sisimai
80
85
  * `gem install`
81
86
  * `git clone && make`
82
87
  * __High Precision of Analysis__
83
- * Support [70 MTAs/MDAs/ESPs](https://libsisimai.org/en/engine/)
88
+ * Support [73 MTAs/MDAs/ESPs](https://libsisimai.org/en/engine/)
84
89
  * Support Feedback Loop Message(ARF)
85
90
  * Can detect [34 bounce reasons](https://libsisimai.org/en/reason/)
86
91
 
@@ -109,10 +114,10 @@ Install
109
114
  ### From RubyGems
110
115
  ```shell
111
116
  $ sudo gem install sisimai
112
- Fetching: sisimai-5.0.3.gem (100%)
113
- Successfully installed sisimai-5.0.3
114
- Parsing documentation for sisimai-5.0.3
115
- Installing ri documentation for sisimai-5.0.3
117
+ Fetching: sisimai-5.2.0.gem (100%)
118
+ Successfully installed sisimai-5.2.0
119
+ Parsing documentation for sisimai-5.2.0
120
+ Installing ri documentation for sisimai-5.2.0
116
121
  Done installing documentation for sisimai after 6 seconds
117
122
  1 gem installed
118
123
  ```
@@ -140,13 +145,13 @@ if [ -d "/usr/local/jr" ]; then \
140
145
  ...
141
146
  3 gems installed
142
147
  /opt/local/bin/rake install
143
- sisimai 5.0.3 built to pkg/sisimai-5.0.3.gem.
144
- sisimai (5.0.3) installed.
148
+ sisimai 5.2.0 built to pkg/sisimai-5.2.0.gem.
149
+ sisimai (5.2.0) installed.
145
150
  if [ -d "/usr/local/jr" ]; then \
146
151
  PATH="/usr/local/jr/bin:$PATH" /usr/local/jr/bin/rake install; \
147
152
  fi
148
- sisimai 5.0.3 built to pkg/sisimai-5.0.3-java.gem.
149
- sisimai (5.0.3) installed.
153
+ sisimai 5.2.0 built to pkg/sisimai-5.2.0-java.gem.
154
+ sisimai (5.2.0) installed.
150
155
  ```
151
156
 
152
157
  Usage
@@ -350,13 +355,13 @@ Beginning with v5.0.0, Sisimai requires **Ruby 2.4.0 or later.**
350
355
  | System requirements (CRuby) | 2.1 - 3.3.0 | **2.4** or later |
351
356
  | System requirements (JRuby) | 9.0.4.0 - 9.1.17.0 | **9.2** or later |
352
357
  | Callback feature for the original email file | N/A | Available[^3] |
353
- | The number of MTA/ESP modules | 68 | 70 |
354
- | The number of detectable bounce reasons | 29 | 34 |
358
+ | The number of MTA/ESP modules | 68 | 58 |
359
+ | The number of detectable bounce reasons | 29 | 36 |
355
360
  | Dependencies (Except Ruby Standard Gems) | 1 gem | 1 gem |
356
- | Source lines of code | 10,300 lines | 11,370 lines |
361
+ | Source lines of code | 10,300 lines | 9,800 lines |
357
362
  | Test frameworks | rspec | minitest |
358
- | The number of tests in spec/ or test/ directory | 311,000 tests | 338,000 tests |
359
- | The number of bounce emails decoded/sec (CRuby)[^4] | 231 emails | 305 emails |
363
+ | The number of tests in spec/ or test/ directory | 311,000 tests | 410,000 tests |
364
+ | The number of bounce emails decoded/sec (CRuby)[^4] | 290 emails | 305 emails |
360
365
  | License | 2 Clause BSD | 2 Caluse BSD |
361
366
  | Commercial support | Available | Available |
362
367
 
@@ -390,11 +395,14 @@ MTA/ESP Module Names
390
395
  Three ESP module names have been changed at Sisimai 5. The list of the all MTA/ESP modules is
391
396
  available at [LIBSISIMAI.ORG/EN/ENGINE](https://libsisimai.org/en/engine/)
392
397
 
393
- | `Sisimai::Rhost::` | Sisimai 4 | Sisimai 5 |
394
- |------------------------------------------------------|--------------------|---------------------|
395
- | Microsoft Exchange Online | `ExchangeOnline` | `Microsoft` |
396
- | Google Workspace | `GoogleApps` | `Google` |
397
- | Tencent | `TencentQQ` | `Tencent` |
398
+ | `Sisimai::` | Sisimai 4 | Sisimai 5 |
399
+ |-------------------------------------------------|-------------------------|---------------------|
400
+ | Apple iCloud Mail (added at v5.1.0) | None | `Rhost::Apple` |
401
+ | Microsoft Exchange Online | `Rhost::ExchangeOnline` | `Rhost::Microsoft` |
402
+ | Google Workspace | `Rhost::GoogleApps` | `Rhost::Google` |
403
+ | Tencent | `Rhost::TencentQQ` | `Rhost::Tencent` |
404
+ | Yahoo Mail (added at v5.1.0) | None | `Rhost::YahooInc` |
405
+ | DragonFly Mail Agent (added at v5.1.0) | None | `Lhost::DragonFly` |
398
406
 
399
407
  Bounce Reasons
400
408
  ---------------------------------------------------------------------------------------------------
@@ -408,6 +416,8 @@ detect is available at [LIBSISIMAI.ORG/EN/REASON](https://libsisimai.org/en/reas
408
416
  | missing PTR/having invalid PTR | `Blocked` | `RequirePTR` |
409
417
  | non-compliance with RFC[^7] | `SecurityError` | `NotCompliantRFC` |
410
418
  | exceeding a rate limit or sending too fast | `SecurityError` | `Speeding` |
419
+ | STARTTLS-related errors (added at v5.2.0) | `SecurityError` | `FailedSTARTTLS` |
420
+ | Recipient in the suppression list (added at v5.2.0) | `OnHold` | `Suppressed` |
411
421
 
412
422
  [^7]: RFC5322 and related RFCs
413
423
 
@@ -431,11 +441,11 @@ Related Sites
431
441
  ---------------------------------------------------------------------------------------------------
432
442
  * __@libsisimai__ | [Sisimai on Twitter (@libsisimai)](https://twitter.com/libsisimai)
433
443
  * __LIBSISIMAI.ORG__ | [SISIMAI | MAIL ANALYZING INTERFACE | DECODING BOUNCES, BETTER AND FASTER.](https://libsisimai.org/)
434
- * __Sisimai Blog__ | [blog.libsisimai.org](http://blog.libsisimai.org/)
435
444
  * __Facebook Page__ | [facebook.com/libsisimai](https://www.facebook.com/libsisimai/)
436
445
  * __GitHub__ | [github.com/sisimai/rb-sisimai](https://github.com/sisimai/rb-sisimai)
437
446
  * __RubyGems.org__ | [rubygems.org/gems/sisimai](https://rubygems.org/gems/sisimai)
438
447
  * __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
448
+ * __Go verson__ | [Go version of Sisimai](https://github.com/sisimai/go-sisimai)
439
449
  * __Fixtures__ | [set-of-emails - Sample emails for "make test"](https://github.com/sisimai/set-of-emails)
440
450
 
441
451
  See also
@@ -453,7 +463,7 @@ Author
453
463
 
454
464
  Copyright
455
465
  ===================================================================================================
456
- Copyright (C) 2015-2024 azumakuniyuki, All Rights Reserved.
466
+ Copyright (C) 2015-2025 azumakuniyuki, All Rights Reserved.
457
467
 
458
468
  License
459
469
  ===================================================================================================