sisimai 4.22.6 → 4.22.7

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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/ANALYTICAL-PRECISION +27 -27
  3. data/Benchmarks.mk +12 -4
  4. data/ChangeLog.md +14 -0
  5. data/Developers.mk +28 -30
  6. data/README-JA.md +3 -2
  7. data/README.md +3 -2
  8. data/lib/sisimai/bite/email/mailru.rb +1 -1
  9. data/lib/sisimai/bite/email/office365.rb +4 -0
  10. data/lib/sisimai/reason/blocked.rb +2 -0
  11. data/lib/sisimai/reason/expired.rb +2 -0
  12. data/lib/sisimai/reason/securityerror.rb +3 -0
  13. data/lib/sisimai/reason/spamdetected.rb +1 -1
  14. data/lib/sisimai/rfc5322.rb +1 -1
  15. data/lib/sisimai/version.rb +1 -1
  16. data/set-of-emails/maildir/bsd/email-amazonses-14.eml +58 -0
  17. data/set-of-emails/maildir/bsd/email-amazonses-15.eml +66 -0
  18. data/set-of-emails/maildir/bsd/email-amazonses-16.eml +67 -0
  19. data/set-of-emails/maildir/bsd/email-amazonses-17.eml +56 -0
  20. data/set-of-emails/maildir/bsd/email-amazonses-18.eml +56 -0
  21. data/set-of-emails/maildir/bsd/email-amazonses-19.eml +56 -0
  22. data/set-of-emails/maildir/bsd/email-amazonses-20.eml +57 -0
  23. data/set-of-emails/maildir/bsd/email-amazonses-21.eml +55 -0
  24. data/set-of-emails/maildir/bsd/email-exchange2007-02.eml +1006 -0
  25. data/set-of-emails/maildir/bsd/email-exchange2007-03.eml +186 -0
  26. data/set-of-emails/maildir/bsd/email-exim-59.eml +54 -0
  27. data/set-of-emails/maildir/bsd/email-gsuite-12.eml +271 -0
  28. data/set-of-emails/maildir/bsd/email-mailru-10.eml +84 -0
  29. data/set-of-emails/maildir/bsd/email-mcafee-04.eml +63 -0
  30. data/set-of-emails/maildir/bsd/email-messagelabs-01.eml +93 -0
  31. data/set-of-emails/maildir/bsd/email-messagelabs-03.eml +78 -0
  32. data/set-of-emails/maildir/bsd/email-office365-06.eml +575 -0
  33. data/set-of-emails/maildir/bsd/email-office365-07.eml +639 -0
  34. data/set-of-emails/maildir/bsd/email-office365-08.eml +585 -0
  35. data/set-of-emails/maildir/bsd/email-outlook-09.eml +56 -0
  36. data/set-of-emails/maildir/bsd/email-postfix-37.eml +76 -0
  37. data/set-of-emails/maildir/bsd/email-postfix-38.eml +83 -0
  38. data/set-of-emails/maildir/bsd/email-postfix-39.eml +77 -0
  39. data/set-of-emails/maildir/bsd/email-postfix-40.eml +82 -0
  40. data/set-of-emails/maildir/bsd/email-postfix-41.eml +72 -0
  41. data/set-of-emails/maildir/bsd/email-postfix-42.eml +78 -0
  42. data/set-of-emails/maildir/bsd/email-postfix-43.eml +74 -0
  43. data/set-of-emails/maildir/bsd/email-postfix-44.eml +76 -0
  44. data/set-of-emails/maildir/bsd/email-qmail-09.eml +40 -0
  45. data/set-of-emails/maildir/bsd/email-sendmail-53.eml +58 -0
  46. data/set-of-emails/maildir/bsd/email-sendmail-54.eml +57 -0
  47. data/set-of-emails/maildir/bsd/email-sendmail-55.eml +105 -0
  48. data/set-of-emails/maildir/bsd/email-x4-01.eml +45 -0
  49. data/set-of-emails/maildir/bsd/email-yahoo-12.eml +87 -0
  50. data/set-of-emails/maildir/bsd/email-yahoo-13.eml +85 -0
  51. data/set-of-emails/maildir/bsd/email-yahoo-14.eml +42 -0
  52. data/set-of-emails/maildir/bsd/rfc3464-02.eml +66 -0
  53. data/set-of-emails/maildir/bsd/rfc3464-03.eml +72 -0
  54. data/set-of-emails/maildir/bsd/rfc3464-10.eml +79 -0
  55. data/set-of-emails/maildir/bsd/rfc3464-41.eml +48 -0
  56. data/set-of-emails/maildir/bsd/rfc3834-02.eml +24 -0
  57. data/set-of-emails/maildir/dos/rhost-kddi-01.eml +67 -0
  58. data/set-of-emails/maildir/mac/rhost-kddi-01.eml +1 -4
  59. data/sisimai.gemspec +1 -1
  60. metadata +45 -9
  61. data/set-of-emails/maildir/bsd/rfc3834-06.eml +0 -56
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6f474a88a9ef59f779cf832e375d61550c6ab465
4
- data.tar.gz: 4f2d1449c46743c27df6152674990b1850bfc720
3
+ metadata.gz: 1e01dd134b0c8f9d55656ad506db438535c823b3
4
+ data.tar.gz: c0128b71dbe0e35ede76cbb36a05d2d361ea92fe
5
5
  SHA512:
6
- metadata.gz: 5212f8bec31ad552b1b7d58d7891dd68058b0efaaa3464816208db9e15cfb1aba06b1d3f001eda389cddf8107c0773a45ebb6e3c2726904244cfe64041eb5d22
7
- data.tar.gz: e379acf7cf9b7a5d1afe2aa57ca69ed14605e28a5e41365c938b3fe7f8013517032b5d89ca926f58400cfd99e595f35c9f47b85a42fc471e7a7983658e17add0
6
+ metadata.gz: a04b755a4f2bba636f2032f2f2f1c8b1f05a29e788a97b4497f62344e77019228f67bead30b01146642b064564f8cf60d060d0ebca04da1980ea266678e04707
7
+ data.tar.gz: 771e73f4af59f9e64cc8a2b44605092dfe611819ad7559cabf583fa048c928fea545be6f9a942952fc10f38927aabd62ab4c706067e85f6e8164556336b5fd7d
data/ANALYTICAL-PRECISION CHANGED
@@ -3,59 +3,59 @@
3
3
  --------------------------------------------------------------------------------
4
4
  Email::Activehunter ..... 0/0014 0.0000 TransWARE Active!hunter
5
5
  Email::AmazonSES ........ 31/0040 0.7750 Amazon SES(Sending): http://aws.amazon.com/ses/
6
- Email::AmazonWorkMail ... 8/0012 0.6667 Amazon WorkMail: https://aws.amazon.com/workmail/
6
+ Email::AmazonWorkMail ... 9/0013 0.6923 Amazon WorkMail: https://aws.amazon.com/workmail/
7
7
  Email::Aol .............. 20/0023 0.8696 Aol Mail: http://www.aol.com
8
8
  Email::ApacheJames ...... 0/0006 0.0000 Java Apache Mail Enterprise Server
9
- Email::Bigfoot .......... 2/0002 1.0000 Bigfoot: http://www.bigfoot.com
9
+ Email::Bigfoot .......... 3/0003 1.0000 Bigfoot: http://www.bigfoot.com
10
10
  Email::Biglobe .......... 5/0007 0.7143 BIGLOBE: http://www.biglobe.ne.jp
11
11
  Email::Courier .......... 14/0016 0.8750 Courier MTA
12
12
  Email::Domino ........... 6/0016 0.3750 IBM Domino Server
13
- Email::EZweb ............ 130/0123 1.0000 au EZweb: http://www.au.kddi.com/mobile/
14
- Email::EinsUndEins ...... 0/0003 0.0000 1&1: http://www.1and1.de
13
+ Email::EZweb ............ 131/0124 1.0000 au EZweb: http://www.au.kddi.com/mobile/
14
+ Email::EinsUndEins ...... 0/0004 0.0000 1&1: http://www.1and1.de
15
15
  Email::Exchange2003 ..... 1/0051 0.0196 Microsoft Exchange Server 2003
16
- Email::Exchange2007 ..... 6/0009 0.6667 Microsoft Exchange Server 2007
17
- Email::Exim ............. 226/0285 0.7930 Exim
16
+ Email::Exchange2007 ..... 6/0008 0.7500 Microsoft Exchange Server 2007
17
+ Email::Exim ............. 226/0282 0.8014 Exim
18
18
  Email::FML .............. 0/0004 0.0000 fml mailing list server/manager
19
- Email::Facebook ......... 3/0003 1.0000 Facebook: https://www.facebook.com
19
+ Email::Facebook ......... 5/0005 1.0000 Facebook: https://www.facebook.com
20
20
  Email::GMX .............. 0/0010 0.0000 GMX: http://www.gmx.net
21
- Email::GSuite ........... 10/0010 1.0000 G Suite: https://gsuite.google.com/
22
- Email::Google ........... 58/0062 0.9355 Google Gmail: https://mail.google.com
23
- Email::IMailServer ...... 0/0023 0.0000 IPSWITCH IMail Server
24
- Email::InterScanMSS ..... 0/0009 0.0000 Trend Micro InterScan Messaging Security Suite
21
+ Email::GSuite ........... 18/0018 1.0000 G Suite: https://gsuite.google.com/
22
+ Email::Google ........... 59/0061 0.9672 Google Gmail: https://mail.google.com
23
+ Email::IMailServer ...... 0/0022 0.0000 IPSWITCH IMail Server
24
+ Email::InterScanMSS ..... 0/0008 0.0000 Trend Micro InterScan Messaging Security Suite
25
25
  Email::KDDI ............. 6/0006 1.0000 au by KDDI: http://www.au.kddi.com
26
26
  Email::MXLogic .......... 0/0014 0.0000 McAfee SaaS
27
27
  Email::MailFoundry ...... 0/0007 0.0000 MailFoundry
28
- Email::MailMarshalSMTP .. 0/0003 0.0000 Trustwave Secure Email Gateway
29
- Email::MailRu ........... 4/0016 0.2500 @mail.ru: https://mail.ru
28
+ Email::MailMarshalSMTP .. 0/0004 0.0000 Trustwave Secure Email Gateway
29
+ Email::MailRu ........... 4/0022 0.1818 @mail.ru: https://mail.ru
30
30
  Email::McAfee ........... 0/0011 0.0000 McAfee Email Appliance
31
- Email::MessageLabs ...... 4/0004 1.0000 Symantec.cloud http://www.messagelabs.com
32
- Email::MessagingServer .. 20/0023 0.8696 Oracle Communications Messaging Server
31
+ Email::MessageLabs ...... 5/0005 1.0000 Symantec.cloud http://www.messagelabs.com
32
+ Email::MessagingServer .. 28/0031 0.9032 Oracle Communications Messaging Server
33
33
  Email::Notes ............ 0/0013 0.0000 Lotus Notes
34
- Email::Office365 ........ 10/0013 0.7692 Microsoft Office 365: http://office.microsoft.com/
34
+ Email::Office365 ........ 14/0017 0.8235 Microsoft Office 365: http://office.microsoft.com/
35
35
  Email::OpenSMTPD ........ 6/0024 0.2500 OpenSMTPD
36
- Email::Outlook .......... 19/0021 0.9048 Microsoft Outlook.com: https://www.outlook.com/
37
- Email::Postfix .......... 203/0222 0.9144 Postfix
36
+ Email::Outlook .......... 20/0022 0.9091 Microsoft Outlook.com: https://www.outlook.com/
37
+ Email::Postfix .......... 211/0227 0.9295 Postfix
38
38
  Email::ReceivingSES ..... 0/0007 0.0000 Amazon SES(Receiving): http://aws.amazon.com/ses/
39
39
  Email::SendGrid ......... 7/0012 0.5833 SendGrid: http://sendgrid.com/
40
- Email::Sendmail ......... 338/0262 1.0000 V8Sendmail: /usr/sbin/sendmail
40
+ Email::Sendmail ......... 346/0271 1.0000 V8Sendmail: /usr/sbin/sendmail
41
41
  Email::SurfControl ...... 6/0008 0.7500 WebSense SurfControl
42
42
  Email::V5sendmail ....... 0/0386 0.0000 Sendmail version 5
43
43
  Email::Verizon .......... 4/0004 1.0000 Verizon Wireless: http://www.verizonwireless.com
44
44
  Email::X1 ............... 0/0007 0.0000 Unknown MTA #1
45
- Email::X2 ............... 0/0069 0.0000 Unknown MTA #2
45
+ Email::X2 ............... 0/0068 0.0000 Unknown MTA #2
46
46
  Email::X3 ............... 0/0012 0.0000 Unknown MTA #3
47
- Email::X4 ............... 0/0030 0.0000 Unknown MTA #4 qmail clones
47
+ Email::X4 ............... 0/0028 0.0000 Unknown MTA #4 qmail clones
48
48
  Email::X5 ............... 3/0003 1.0000 Unknown MTA #5
49
- Email::Yahoo ............ 0/0010 0.0000 Yahoo! MAIL: https://www.yahoo.com
49
+ Email::Yahoo ............ 0/0021 0.0000 Yahoo! MAIL: https://www.yahoo.com
50
50
  Email::Yandex ........... 4/0007 0.5714 Yandex.Mail: http://www.yandex.ru
51
51
  Email::Zoho ............. 0/0011 0.0000 Zoho Mail: https://www.zoho.com
52
52
  Email::mFILTER .......... 0/0009 0.0000 Digital Arts m-FILTER
53
- Email::qmail ............ 55/0085 0.6471 qmail
53
+ Email::qmail ............ 55/0084 0.6548 qmail
54
54
  JSON::AmazonSES ......... 31/0040 0.7750 Amazon SES(JSON): http://aws.amazon.com/ses/
55
55
  JSON::SendGrid .......... 7/0012 0.5833 SendGrid(JSON): http://sendgrid.com/
56
- ARF ..................... 9/0050 0.1800 Abuse Feedback Reporting Format
57
- RFC3464 ................. 145/0296 0.4899 Fallback Module for MTAs
56
+ ARF ..................... 8/0037 0.2162 Abuse Feedback Reporting Format
57
+ RFC3464 ................. 148/0289 0.5121 Fallback Module for MTAs
58
58
  RFC3834 ................. 0/0012 0.0000 Detector for auto replied message
59
59
  --------------------------------------------------------------------------------
60
- bounceHammer 2.7.13p3 1401/2437 0.5749
61
- Sisimai 4.22.3 2437/2437 1.0000
60
+ bounceHammer 2.7.13p3 1447/2466 0.5868
61
+ Sisimai v4.22.6 2466/2466 1.0000
data/Benchmarks.mk CHANGED
@@ -17,22 +17,29 @@ EMAILROOTDIR := set-of-emails
17
17
  PUBLICEMAILS := $(EMAILROOTDIR)/maildir/bsd
18
18
  DOSFORMATSET := $(EMAILROOTDIR)/maildir/dos
19
19
  MACFORMATSET := $(EMAILROOTDIR)/maildir/mac
20
- SPEEDTESTDIR := $(PUBLICEMAILS)
20
+ PRIVATEMAILS := $(EMAILROOTDIR)/private
21
+ SPEEDTESTDIR := tmp/emails-for-speed-test
21
22
 
22
23
  COMMANDARGVS := -I./lib -rsisimai
23
24
  TOBEEXECUTED := 'Sisimai.make($$*.shift, delivered: true)' $(PUBLICMAILS)
24
- HOWMANYMAILS := $(PERL) $(COMMANDARGVS) -le 'puts Sisimai.make($$*.shift, delivered: true).size'
25
+ HOWMANYMAILS := $(RUBY) $(COMMANDARGVS) -le 'puts Sisimai.make($$*.shift, delivered: true).size'
25
26
 
26
27
  # -----------------------------------------------------------------------------
27
28
  .PHONY: clean
28
29
 
29
- speed-test:
30
+ emails-for-speed-test:
31
+ @ rm -fr ./$(SPEEDTESTDIR)
32
+ @ $(MKDIR) $(SPEEDTESTDIR)
33
+ @ $(CP) -Rp $(PUBLICEMAILS)/*.eml $(SPEEDTESTDIR)/
34
+ @ test -d $(PRIVATEMAILS) && find $(PRIVATEMAILS) -type f -name '*.eml' -exec $(CP) -Rp {} $(SPEEDTESTDIR)/ \; || true
35
+
36
+ speed-test: emails-for-speed-test
30
37
  @ echo `$(HOWMANYMAILS) $(SPEEDTESTDIR)` emails in $(SPEEDTESTDIR)
31
38
  @ echo -------------------------------------------------------------------
32
39
  @ uptime
33
40
  @ echo -------------------------------------------------------------------
34
41
  @ n=1; while [ "$$n" -le "10" ]; do \
35
- /usr/bin/time $(PERL) $(COMMANDARGVS) -e $(TOBEEXECUTED) $(SPEEDTESTDIR) > /dev/null; \
42
+ time $(RUBY) $(COMMANDARGVS) -e $(TOBEEXECUTED) $(SPEEDTESTDIR) > /dev/null; \
36
43
  sleep 2; \
37
44
  n=`expr $$n + 1`; \
38
45
  done
@@ -52,3 +59,4 @@ loc:
52
59
 
53
60
  clean:
54
61
  find . -type f -name 'profiling-*' -ctime +1 -delete
62
+ rm -r $(SPEEDTESTDIR)
data/ChangeLog.md CHANGED
@@ -3,6 +3,20 @@ 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
+ v4.22.7
7
+ --------------------------------------------------------------------------------
8
+ - release: "Mon, 16 Jul 2018 13:02:54 +0900 (JST)"
9
+ - version: "4.22.7"
10
+ - changes:
11
+ - Register D.S.N. "4.4.312" and "5.4.312" on Office 365 as "networkerror".
12
+ - Fix error message pattern in Sisimai::Reason::SecurityError.
13
+ - Fix code to get the original Message-Id field which continued to the next
14
+ line. Thanks to Andreas Mock.
15
+ - Update error message pattern in Sisimai::Reason::SpamDetected.
16
+ - Add 15 sample emails for Postfix, Outlook and others.
17
+ - Add 3 sample emails for Sisimai::RFC3464.
18
+ - Add 2 sample vacation emails for Sisimai::RFC3834.
19
+
6
20
  v4.22.6
7
21
  --------------------------------------------------------------------------------
8
22
  - release: "Wed, 23 May 2018 20:00:00 +0900 (JST)"
data/Developers.mk CHANGED
@@ -15,24 +15,24 @@ LS := ls -1
15
15
  CP := cp
16
16
  RM := rm -f
17
17
 
18
- BH_LATESTVER := 2.7.13p3
18
+ THELASTBHVER := 2.7.13p3
19
19
  BOUNCEHAMMER := /usr/local/bouncehammer
20
20
  MBOXPARSERV0 := $(BOUNCEHAMMER)/bin/mailboxparser -T
21
21
  PERL5SISIMAI := p5-Sisimai
22
22
  PRECISIONTAB := ANALYTICAL-PRECISION
23
- PARSERLOGDIR := var/log
23
+ PARSERLOGDIR := tmp/parser-logs
24
24
  MAILCLASSDIR := lib/$(NAME)/Bite/Email
25
25
  JSONCLASSDIR := lib/$(NAME)/Bite/JSON
26
26
  MTARELATIVES := ARF rfc3464 rfc3834
27
27
 
28
28
  BENCHMARKDIR := tmp/benchmark
29
- BENCHMARKSET := tmp/sample
30
- SPEEDTESTDIR := tmp/emails-for-speed-test
29
+ PRECISIONDIR := tmp/emails-for-precision
30
+ COMPARINGDIR := tmp/emails-for-comparing
31
31
 
32
32
  PARSERSCRIPT := $(RUBY) sbin/emparser --delivered
33
33
  RELEASEVERMP := $(RUBY) -rsisimai
34
34
  DEVELOPVERMP := $(RUBY) -I./lib -rsisimai
35
- HOWMANYMAILS := $(DEVELOPVERMP) -e 'print Sisimai.make($$*.shift, delivered: true).size' $(SPEEDTESTDIR)
35
+ HOWMANYMAILS := $(DEVELOPVERMP) -e 'print Sisimai.make($$*.shift, delivered: true).size' $(COMPARINGDIR)
36
36
 
37
37
  BENCHMARKEMP := sbin/mp
38
38
 
@@ -44,7 +44,9 @@ MACFORMATSET := $(SET_OF_EMAIL)/maildir/mac
44
44
 
45
45
  INDEX_LENGTH := 24
46
46
  DESCR_LENGTH := 50
47
- BH_CAN_PARSE := Courier Exim OpenSMTPD Postfix qmail Sendmail EZweb KDDI Facebook Google Verizon
47
+ BH_CAN_PARSE := AmazonSES AmazonWorkMail Aol Bigfoot Biglobe Courier EZweb Exim \
48
+ Facebook GSuite Google KDDI MessageLabs MessagingServer Office365 \
49
+ Postfix SendGrid Sendmail Verizon X5 Yandex qmail
48
50
 
49
51
  # -----------------------------------------------------------------------------
50
52
  .PHONY: clean
@@ -58,46 +60,46 @@ precision-table:
58
60
  -e 's/Email::qmail/Email::Qmail/g' \
59
61
  -e 's/Email::mFILTER/Email::MFILTER/g' > $(PRECISIONTAB)
60
62
 
61
- update-sample-emails:
63
+ update-other-format-emails:
62
64
  for v in `find $(PUBLICEMAILS) -name '*-01.eml' -type f`; do \
63
65
  f="`basename $$v`" ;\
64
66
  nkf -Lw $$v > $(DOSFORMATSET)/$$f ;\
65
67
  nkf -Lm $$v > $(MACFORMATSET)/$$f ;\
66
68
  done
67
69
 
68
- sample:
70
+ emails-for-precision:
69
71
  for v in `$(LS) ./$(MAILCLASSDIR)/*.rb | grep -v userdefined`; do \
70
72
  MTA=`echo $$v | cut -d/ -f6 | tr '[A-Z]' '[a-z]' | sed 's/.rb//g'` ;\
71
- $(MKDIR) $(BENCHMARKSET)/email-$$MTA ;\
72
- $(CP) $(PUBLICEMAILS)/email-$$MTA-*.eml $(BENCHMARKSET)/email-$$MTA/ ;\
73
- $(CP) $(PRIVATEMAILS)/email-$$MTA/* $(BENCHMARKSET)/email-$$MTA/ ;\
73
+ $(MKDIR) $(PRECISIONDIR)/email-$$MTA ;\
74
+ $(CP) $(PUBLICEMAILS)/email-$$MTA-*.eml $(PRECISIONDIR)/email-$$MTA/ ;\
75
+ $(CP) $(PRIVATEMAILS)/email-$$MTA/* $(PRECISIONDIR)/email-$$MTA/ ;\
74
76
  done
75
77
  for v in arf rfc3464 rfc3834; do \
76
- $(MKDIR) $(BENCHMARKSET)/$$v ;\
77
- $(CP) $(PUBLICEMAILS)/$$v*.eml $(BENCHMARKSET)/$$v/ ;\
78
- $(CP) $(PRIVATEMAILS)/$$v/* $(BENCHMARKSET)/$$v/ ;\
78
+ $(MKDIR) $(PRECISIONDIR)/$$v ;\
79
+ $(CP) $(PUBLICEMAILS)/$$v*.eml $(PRECISIONDIR)/$$v/ ;\
80
+ $(CP) $(PRIVATEMAILS)/$$v/* $(PRECISIONDIR)/$$v/ ;\
79
81
  done
80
82
 
81
- samples-for-speedtest:
82
- @ rm -fr ./$(SPEEDTESTDIR)
83
- @ $(MKDIR) $(SPEEDTESTDIR)
83
+ emails-for-comparing:
84
+ @ rm -fr ./$(COMPARINGDIR)
85
+ @ $(MKDIR) $(COMPARINGDIR)
84
86
  @ for v in $(BH_CAN_PARSE); do \
85
- $(CP) $(PUBLICEMAILS)/email-`echo $$v | tr '[A-Z]' '[a-z]'`-*.eml $(SPEEDTESTDIR)/; \
86
- test -d $(PRIVATEEMAILS) && $(CP) $(PRIVATEMAILS)/email-`echo $$v | tr '[A-Z]' '[a-z]'`/*.eml $(SPEEDTESTDIR)/; \
87
+ $(CP) $(PUBLICEMAILS)/email-`echo $$v | tr '[A-Z]' '[a-z]'`-*.eml $(COMPARINGDIR)/; \
88
+ test -d $(PRIVATEEMAILS) && $(CP) $(PRIVATEMAILS)/email-`echo $$v | tr '[A-Z]' '[a-z]'`/*.eml $(COMPARINGDIR)/; \
87
89
  done
88
90
 
89
- velocity-measurement: samples-for-speedtest
91
+ comparison: emails-for-comparing
90
92
  @ echo -------------------------------------------------------------------
91
- @ echo `$(HOWMANYMAILS)` emails in $(SPEEDTESTDIR)
93
+ @ echo `$(HOWMANYMAILS)` emails in $(COMPARINGDIR)
92
94
  @ echo -n 'Calculating the velocity of parsing 1000 mails: multiply by '
93
95
  @ echo "scale=6; 1000 / `$(HOWMANYMAILS)`" | bc
94
96
  @ echo -------------------------------------------------------------------
95
97
  @ uptime
96
98
  @ echo -------------------------------------------------------------------
97
99
  @ if [ -x "$(BOUNCEHAMMER)/bin/mailboxparser" ]; then \
98
- echo bounceHammer $(BH_LATESTVER); \
100
+ echo bounceHammer $(THELASTBHVER); \
99
101
  n=1; while [ $$n -le 5 ]; do \
100
- /usr/bin/time $(MBOXPARSERV0) -Fjson $(SPEEDTESTDIR) > /dev/null ;\
102
+ /usr/bin/time $(MBOXPARSERV0) -Fjson $(COMPARINGDIR) > /dev/null ;\
101
103
  sleep 1; \
102
104
  n=`expr $$n + 1`; \
103
105
  done; \
@@ -105,25 +107,21 @@ velocity-measurement: samples-for-speedtest
105
107
  fi
106
108
  @ echo 'Sisimai' `$(RELEASEVERMP) -e 'puts Sisimai.version'` $(RELEASEVERMP)
107
109
  @ n=1; while [ $$n -le 5 ]; do \
108
- /usr/bin/time $(RELEASEVERMP) -e 'Sisimai.make($$*.shift, deliverd: true)' $(SPEEDTESTDIR) > /dev/null ;\
110
+ /usr/bin/time $(RELEASEVERMP) -e 'Sisimai.make($$*.shift, deliverd: true)' $(COMPARINGDIR) > /dev/null ;\
109
111
  sleep 1; \
110
112
  n=`expr $$n + 1`; \
111
113
  done
112
114
  @ echo -------------------------------------------------------------------
113
115
  @ echo 'Sisimai' `$(DEVELOPVERMP) -e 'puts Sisimai.version'` $(DEVELOPVERMP)
114
116
  @ n=1; while [ $$n -le 5 ]; do \
115
- /usr/bin/time $(DEVELOPVERMP) -e 'Sisimai.make($$*.shift, deliverd: true)' $(SPEEDTESTDIR) > /dev/null ;\
117
+ /usr/bin/time $(DEVELOPVERMP) -e 'Sisimai.make($$*.shift, deliverd: true)' $(COMPARINGDIR) > /dev/null ;\
116
118
  sleep 1; \
117
119
  n=`expr $$n + 1`; \
118
120
  done
119
121
  @ echo -------------------------------------------------------------------
120
122
 
121
- benchmark-mbox: sample
122
- $(MKDIR) -p $(BENCHMARKDIR)
123
- $(CP) `find $(BENCHMARKSET) -type f` $(BENCHMARKDIR)/
124
-
125
123
  clean:
126
- $(RM) -r ./$(BENCHMARKSET)
124
+ $(RM) -r ./$(PRECISIONDIR)
127
125
  $(RM) -r ./$(BENCHMARKDIR)
128
126
  $(RM) -f tmp/subject-list tmp/senders-list
129
127
 
data/README-JA.md CHANGED
@@ -236,15 +236,16 @@ Differences between Ruby version and Perl version
236
236
  | 動作環境 | Ruby 2.1 - 2.5 | Perl 5.10 - |
237
237
  | | JRuby 9.0.4.0- | |
238
238
  | 解析精度の割合(2000通のメール)[1] | 1.00 | 1.00 |
239
- | メール解析速度(1000通のメール) | 5.05 | 1.95秒 |
239
+ | メール解析速度(1000通のメール) | 3.75[2] | 1.70秒 |
240
240
  | インストール方法 | gem install | cpanm, cpm |
241
241
  | 依存モジュール数(コアモジュールを除く) | 1モジュール | 2モジュール |
242
242
  | LOC:ソースコードの行数 | 12000行 | 8600行 |
243
- | テスト件数(spec/,t/,xt/ディレクトリ) | 212000件 | 229000件 |
243
+ | テスト件数(spec/,t/,xt/ディレクトリ) | 217000件 | 235000件 |
244
244
  | ライセンス | 二条項BSD | 二条項BSD |
245
245
  | 開発会社によるサポート契約 | 準備中 | 提供中 |
246
246
 
247
247
  1. [./ANALYTICAL-PRECISION](https://github.com/sisimai/rb-Sisimai/blob/master/ANALYTICAL-PRECISION)を参照
248
+ 2. Xeon E5-2640 2.5GHz x 2 cores | 5000 bogomips | 1GB RAM | Ruby 2.3.4
248
249
 
249
250
  Other spec of Sisimai
250
251
  -------------------------------------------------------------------------------
data/README.md CHANGED
@@ -240,15 +240,16 @@ and bounceHammer are available at
240
240
  | System requirements | Ruby 2.1 - 2.5 | Perl 5.10 - |
241
241
  | | JRuby 9.0.4.0- | |
242
242
  | Analytical precision ratio(2000 emails)[1] | 1.00 | 1.00 |
243
- | The speed of parsing email(1000 emails) | 5.05s | 1.95s |
243
+ | The speed of parsing email(1000 emails) | 3.75s[2] | 1.70s |
244
244
  | How to install | gem install | cpanm, cpm |
245
245
  | Dependencies (Except core modules) | 1 module | 2 modules |
246
246
  | LOC:Source lines of code | 12000 lines | 8600 lines |
247
- | The number of tests(spec/,t/,xt/) directory | 212000 tests | 229000 tests |
247
+ | The number of tests(spec/,t/,xt/) directory | 217000 tests | 235000 tests |
248
248
  | License | BSD 2-Clause | BSD 2-Clause |
249
249
  | Support Contract provided by Developer | Coming soon | Available |
250
250
 
251
251
  1. See [./ANALYTICAL-PRECISION](https://github.com/sisimai/rb-Sisimai/blob/master/ANALYTICAL-PRECISION)
252
+ 2. Xeon E5-2640 2.5GHz x 2 cores | 5000 bogomips | 1GB RAM | Ruby 2.3.4
252
253
 
253
254
  Other specification of Sisimai
254
255
  -------------------------------------------------------------------------------
@@ -68,7 +68,7 @@ module Sisimai::Bite::Email
68
68
  return nil unless mbody
69
69
 
70
70
  return nil unless mhead['from'] =~ /[<]?mailer-daemon[@].*mail[.]ru[>]?/i
71
- return nil unless mhead['message-id'].end_with?('.mail.ru>')
71
+ return nil unless mhead['message-id'].end_with?('.mail.ru>', 'smailru.net>')
72
72
  return nil unless mhead['subject'] =~ %r{(?:
73
73
  Mail[ ]delivery[ ]failed(:[ ]returning[ ]message[ ]to[ ]sender)?
74
74
  |Warning:[ ]message[ ].+[ ]delayed[ ]+
@@ -23,10 +23,14 @@ module Sisimai::Bite::Email
23
23
  StatusList = {
24
24
  # https://support.office.com/en-us/article/Email-non-delivery-reports-in-Office-365-51daa6b9-2e35-49c4-a0c9-df85bf8533c3
25
25
  %r/\A4[.]4[.]7\z/ => 'expired',
26
+ %r/\A4[.]4[.]312\z/ => 'networkerror',
27
+ %r/\A4[.]4[.]316\z/ => 'expired',
26
28
  %r/\A4[.]7[.]26\z/ => 'securityerror',
27
29
  %r/\A4[.]7[.][56]\d\d\z/ => 'blocked',
28
30
  %r/\A4[.]7[.]8[5-9]\d\z/ => 'blocked',
29
31
  %r/\A5[.]4[.]1\z/ => 'norelaying',
32
+ %r/\A5[.]4[.]312\z/ => 'networkerror',
33
+ %r/\A5[.]4[.]316\z/ => 'expired',
30
34
  %r/\A5[.]4[.]6\z/ => 'networkerror',
31
35
  %r/\A5[.]6[.]11\z/ => 'contenterror',
32
36
  %r/\A5[.]7[.]1\z/ => 'rejected',
@@ -23,8 +23,10 @@ module Sisimai
23
23
  |access[ ]from[ ]ip[ ]address[ ].+[ ]blocked
24
24
  |all[ ]mail[ ]servers[ ]must[ ]have[ ]a[ ]ptr[ ]record[ ]with[ ]a[ ]valid[ ]reverse[ ]dns[ ]entry
25
25
  |bad[ ]sender[ ]ip[ ]address
26
+ |banned[ ]sending[ ]ip # Office365
26
27
  |blacklisted[ ]by
27
28
  |(?:blocked|refused)[ ]-[ ]see[ ]https?://
29
+ |blocked[ ]using[ ]
28
30
  |can[']t[ ]determine[ ]purported[ ]responsible[ ]address
29
31
  |cannot[ ](?:
30
32
  find[ ]your[ ]hostname
@@ -27,10 +27,12 @@ module Sisimai
27
27
  'has been delayed',
28
28
  'it has not been collected after',
29
29
  'message expired after sitting in queue for',
30
+ 'message expired, connection refulsed',
30
31
  'message timed out',
31
32
  'retry time not reached for any host after a long failure period',
32
33
  'server did not respond',
33
34
  'this message has been in the queue too long',
35
+ 'unable to deliver message after multiple retries',
34
36
  'was not reachable within the allowed queue period',
35
37
  'your message could not be delivered for more than',
36
38
  ]
@@ -48,6 +48,9 @@ module Sisimai
48
48
  my[ ]list[ ]of[ ]allowed[ ]rcpthosts
49
49
  |tls[ ]required[ ]but[ ]not[ ]supported # SendGrid:the recipient mailserver does not support TLS or have a valid certificate
50
50
  |user[ ].+[ ]is[ ]not[ ]authorized[ ]to[ ]perform[ ]ses:sendrawemail[ ]on[ ]resource
51
+ |tls[ ]required[ ]but[ ]not[ ]supported # SendGrid:the recipient mailserver does not support TLS or have a valid certificate
52
+ |unauthenticated[ ]senders[ ]not[ ]allowed
53
+ |user[ ].+[ ]is[ ]not[ ]authorized[ ]to[ ]perform[ ]ses:sendrawemail[ ]on[ ]resource
51
54
  |you[ ]are[ ]not[ ]authorized[ ]to[ ]send[ ]mail,[ ]authentication[ ]is[ ]required
52
55
  |verification[ ]failure
53
56
  )
@@ -81,7 +81,7 @@ module Sisimai
81
81
  |rejected(?:
82
82
  :[ ]spamassassin[ ]score[ ]
83
83
  |[ ]by[ ].+[ ][(]spam[)]
84
- |[ ]due[ ]to[ ]spam[ ]content
84
+ |[ ]due[ ]to[ ]spam[ ](?:classification|content)
85
85
  )
86
86
  |rejecting[ ]banned[ ]content
87
87
  |related[ ]to[ ]content[ ]with[ ]spam[-]like[ ]characteristics
@@ -206,7 +206,7 @@ module Sisimai
206
206
 
207
207
  while e = argv1.shift do
208
208
  # After "message/rfc822"
209
- if cv = e.match(/\A([-0-9A-Za-z]+?)[:][ ]*.+\z/)
209
+ if cv = e.match(/\A([-0-9A-Za-z]+?)[:][ ]*.*\z/)
210
210
  # Get required headers
211
211
  lhs = cv[1].downcase
212
212
  previousfn = ''
@@ -1,4 +1,4 @@
1
1
  # Define the version number of Sisimai
2
2
  module Sisimai
3
- VERSION = '4.22.6'.freeze
3
+ VERSION = '4.22.7'.freeze
4
4
  end
@@ -0,0 +1,58 @@
1
+ X-Apparently-To: kijitora@example.com; Thu, 29 Apr 2017 23:34:45 +0000
2
+ Return-Path: <>
3
+ Received-SPF: none (domain of p12-22.smtp-out.amazonses.com does not designate permitted sender hosts)
4
+ X-Originating-IP: [192.0.2.225]
5
+ Authentication-Results: mx1224.biz.mail.sg1.yahoo.com from=amazonses.com; domainkeys=neutral (no sig); from=amazonses.com; dkim=neutral (no sig)
6
+ Received: from 127.0.0.1 (EHLO p12-22.smtp-out.amazonses.com) (192.0.2.225)
7
+ by mx1224.biz.mail.sg1.yahoo.com with SMTPS; Thu, 29 Apr 2017 23:34:45 +0000
8
+ From: MAILER-DAEMON@amazonses.com
9
+ To: kijitora@example.com
10
+ Message-ID: <00000000ffffeeff-a0001200-eeee-f009-c00d-2222feff0000-000000@email.amazonses.com>
11
+ Subject: Delivery Status Notification (Failure)
12
+ MIME-Version: 1.0
13
+ Content-Type: multipart/report;
14
+ boundary="----=_Part_000020_000000013.15000000000";
15
+ report-type=delivery-status
16
+ Date: Thu, 29 Apr 2017 23:34:45 +0000
17
+ X-SES-Outgoing: 2017.04.29-192.0.2.225
18
+ Content-Length: 4401
19
+
20
+ ------=_Part_000020_000000013.15000000000
21
+ Content-Type: text/plain; charset=us-ascii
22
+ Content-Transfer-Encoding: 7bit
23
+ Content-Description: Notification
24
+
25
+ An error occurred while trying to deliver the mail to the following recipients:
26
+ sironeko@neko.example.org
27
+ ------=_Part_000020_000000013.15000000000
28
+ Content-Type: message/delivery-status
29
+ Content-Transfer-Encoding: 7bit
30
+ Content-Description: Delivery Status Notification
31
+
32
+ Reporting-MTA: dsn; a8-95.smtp-out.amazonses.com
33
+
34
+ Action: failed
35
+ Final-Recipient: rfc822; sironeko@neko.example.org
36
+ Diagnostic-Code: smtp; 554 5.7.1 <a8-95.smtp-out.amazonses.com[203.0.113.22]>: Client host rejected: blocked using mail.neko.example.org; Please see http://mail.neko.example.org/rbl/?ip=203.0.113.22 to send.
37
+ Status: 5.7.1
38
+
39
+
40
+ ------=_Part_000020_000000013.15000000000
41
+ Content-Type: message/rfc822
42
+ Content-Description: Undelivered Message
43
+
44
+ From: "Neko Nyaan" <kijitora@example.com>
45
+ To: sironeko@neko.example.org
46
+ Subject: Nyaan
47
+ Date: Thu, 29 Apr 2017 23:34:45 +0000
48
+ MIME-Version: 1.0
49
+ Message-ID: <ffffffffffffffff-00000000-2222-2222-2222-111111111111-ffffff@email.amazonses.com>
50
+ Reply-To: kijitora@example.com
51
+ Content-Type: multipart/alternative;
52
+ boundary="--=_NextPart_FF00FFFF_FF00FFEE_B0FF00EE.EEEE00EE"
53
+ X-SES-Outgoing: 2017.04.29-203.0.113.22
54
+
55
+ Nyaan
56
+
57
+ ------=_Part_000020_000000013.15000000000--
58
+