sisimai 4.14.2
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.
- checksums.yaml +7 -0
- data/.gitignore +12 -0
- data/.rspec +2 -0
- data/.rubocop.yml +165 -0
- data/.travis.yml +21 -0
- data/ANALYTICAL-PRECISION +54 -0
- data/Changes +5 -0
- data/Developers.mk +129 -0
- data/Gemfile +9 -0
- data/LICENSE +26 -0
- data/Makefile +56 -0
- data/README.md +300 -0
- data/Rakefile +7 -0
- data/Repository.mk +69 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/sisimai.rb +60 -0
- data/lib/sisimai/address.rb +218 -0
- data/lib/sisimai/arf.rb +343 -0
- data/lib/sisimai/data.rb +413 -0
- data/lib/sisimai/data/json.rb +36 -0
- data/lib/sisimai/data/yaml.rb +32 -0
- data/lib/sisimai/datetime.rb +518 -0
- data/lib/sisimai/mail.rb +82 -0
- data/lib/sisimai/mail/maildir.rb +85 -0
- data/lib/sisimai/mail/mbox.rb +69 -0
- data/lib/sisimai/mail/stdin.rb +52 -0
- data/lib/sisimai/mda.rb +152 -0
- data/lib/sisimai/message.rb +510 -0
- data/lib/sisimai/mime.rb +127 -0
- data/lib/sisimai/msp.rb +54 -0
- data/lib/sisimai/msp/de/einsundeins.rb +174 -0
- data/lib/sisimai/msp/de/gmx.rb +197 -0
- data/lib/sisimai/msp/jp/biglobe.rb +179 -0
- data/lib/sisimai/msp/jp/ezweb.rb +292 -0
- data/lib/sisimai/msp/jp/kddi.rb +195 -0
- data/lib/sisimai/msp/ru/mailru.rb +306 -0
- data/lib/sisimai/msp/ru/yandex.rb +241 -0
- data/lib/sisimai/msp/uk/messagelabs.rb +250 -0
- data/lib/sisimai/msp/us/amazonses.rb +248 -0
- data/lib/sisimai/msp/us/aol.rb +234 -0
- data/lib/sisimai/msp/us/bigfoot.rb +243 -0
- data/lib/sisimai/msp/us/facebook.rb +306 -0
- data/lib/sisimai/msp/us/google.rb +357 -0
- data/lib/sisimai/msp/us/outlook.rb +243 -0
- data/lib/sisimai/msp/us/receivingses.rb +247 -0
- data/lib/sisimai/msp/us/sendgrid.rb +257 -0
- data/lib/sisimai/msp/us/verizon.rb +311 -0
- data/lib/sisimai/msp/us/yahoo.rb +178 -0
- data/lib/sisimai/msp/us/zoho.rb +198 -0
- data/lib/sisimai/mta.rb +55 -0
- data/lib/sisimai/mta/activehunter.rb +155 -0
- data/lib/sisimai/mta/apachejames.rb +194 -0
- data/lib/sisimai/mta/courier.rb +307 -0
- data/lib/sisimai/mta/domino.rb +209 -0
- data/lib/sisimai/mta/exchange.rb +314 -0
- data/lib/sisimai/mta/exim.rb +549 -0
- data/lib/sisimai/mta/imailserver.rb +227 -0
- data/lib/sisimai/mta/interscanmss.rb +167 -0
- data/lib/sisimai/mta/mailfoundry.rb +173 -0
- data/lib/sisimai/mta/mailmarshalsmtp.rb +206 -0
- data/lib/sisimai/mta/mcafee.rb +201 -0
- data/lib/sisimai/mta/messagingserver.rb +241 -0
- data/lib/sisimai/mta/mfilter.rb +190 -0
- data/lib/sisimai/mta/mxlogic.rb +283 -0
- data/lib/sisimai/mta/notes.rb +206 -0
- data/lib/sisimai/mta/opensmtpd.rb +225 -0
- data/lib/sisimai/mta/postfix.rb +306 -0
- data/lib/sisimai/mta/qmail.rb +335 -0
- data/lib/sisimai/mta/sendmail.rb +317 -0
- data/lib/sisimai/mta/surfcontrol.rb +193 -0
- data/lib/sisimai/mta/userdefined.rb +148 -0
- data/lib/sisimai/mta/v5sendmail.rb +232 -0
- data/lib/sisimai/mta/x1.rb +156 -0
- data/lib/sisimai/mta/x2.rb +157 -0
- data/lib/sisimai/mta/x3.rb +171 -0
- data/lib/sisimai/mta/x4.rb +365 -0
- data/lib/sisimai/mta/x5.rb +208 -0
- data/lib/sisimai/order.rb +217 -0
- data/lib/sisimai/reason.rb +235 -0
- data/lib/sisimai/reason/blocked.rb +105 -0
- data/lib/sisimai/reason/contenterror.rb +53 -0
- data/lib/sisimai/reason/exceedlimit.rb +60 -0
- data/lib/sisimai/reason/expired.rb +53 -0
- data/lib/sisimai/reason/filtered.rb +98 -0
- data/lib/sisimai/reason/hasmoved.rb +45 -0
- data/lib/sisimai/reason/hostunknown.rb +74 -0
- data/lib/sisimai/reason/mailboxfull.rb +118 -0
- data/lib/sisimai/reason/mailererror.rb +55 -0
- data/lib/sisimai/reason/mesgtoobig.rb +77 -0
- data/lib/sisimai/reason/networkerror.rb +57 -0
- data/lib/sisimai/reason/norelaying.rb +71 -0
- data/lib/sisimai/reason/notaccept.rb +63 -0
- data/lib/sisimai/reason/onhold.rb +45 -0
- data/lib/sisimai/reason/rejected.rb +101 -0
- data/lib/sisimai/reason/securityerror.rb +72 -0
- data/lib/sisimai/reason/spamdetected.rb +172 -0
- data/lib/sisimai/reason/suspend.rb +58 -0
- data/lib/sisimai/reason/systemerror.rb +69 -0
- data/lib/sisimai/reason/systemfull.rb +45 -0
- data/lib/sisimai/reason/toomanyconn.rb +73 -0
- data/lib/sisimai/reason/userunknown.rb +194 -0
- data/lib/sisimai/rfc2606.rb +24 -0
- data/lib/sisimai/rfc3464.rb +497 -0
- data/lib/sisimai/rfc3834.rb +150 -0
- data/lib/sisimai/rfc5322.rb +204 -0
- data/lib/sisimai/rhost.rb +47 -0
- data/lib/sisimai/rhost/googleapps.rb +237 -0
- data/lib/sisimai/smtp.rb +58 -0
- data/lib/sisimai/smtp/reply.rb +81 -0
- data/lib/sisimai/smtp/status.rb +755 -0
- data/lib/sisimai/string.rb +65 -0
- data/lib/sisimai/time.rb +11 -0
- data/lib/sisimai/version.rb +4 -0
- data/set-of-emails/README.md +35 -0
- data/set-of-emails/mailbox/mbox-0 +2467 -0
- data/set-of-emails/mailbox/mbox-1 +71 -0
- data/set-of-emails/maildir/bsd/README.md +261 -0
- data/set-of-emails/maildir/bsd/activehunter-01.eml +54 -0
- data/set-of-emails/maildir/bsd/activehunter-02.eml +53 -0
- data/set-of-emails/maildir/bsd/apachejames-01.eml +46 -0
- data/set-of-emails/maildir/bsd/arf-01.eml +66 -0
- data/set-of-emails/maildir/bsd/arf-02.eml +68 -0
- data/set-of-emails/maildir/bsd/arf-03.eml +56 -0
- data/set-of-emails/maildir/bsd/arf-04.eml +89 -0
- data/set-of-emails/maildir/bsd/arf-05.eml +82 -0
- data/set-of-emails/maildir/bsd/arf-06.eml +166 -0
- data/set-of-emails/maildir/bsd/arf-07.eml +59 -0
- data/set-of-emails/maildir/bsd/arf-08.eml +103 -0
- data/set-of-emails/maildir/bsd/arf-09.eml +104 -0
- data/set-of-emails/maildir/bsd/arf-10.eml +56 -0
- data/set-of-emails/maildir/bsd/arf-11.eml +37 -0
- data/set-of-emails/maildir/bsd/arf-12.eml +40 -0
- data/set-of-emails/maildir/bsd/arf-13.eml +76 -0
- data/set-of-emails/maildir/bsd/arf-14.eml +333 -0
- data/set-of-emails/maildir/bsd/arf-15.eml +66 -0
- data/set-of-emails/maildir/bsd/courier-01.eml +79 -0
- data/set-of-emails/maildir/bsd/courier-02.eml +83 -0
- data/set-of-emails/maildir/bsd/courier-03.eml +85 -0
- data/set-of-emails/maildir/bsd/courier-04.eml +87 -0
- data/set-of-emails/maildir/bsd/de-einsundeins-01.eml +38 -0
- data/set-of-emails/maildir/bsd/de-gmx-01.eml +52 -0
- data/set-of-emails/maildir/bsd/de-gmx-02.eml +51 -0
- data/set-of-emails/maildir/bsd/de-gmx-03.eml +56 -0
- data/set-of-emails/maildir/bsd/de-gmx-04.eml +51 -0
- data/set-of-emails/maildir/bsd/domino-01.eml +33 -0
- data/set-of-emails/maildir/bsd/domino-02.eml +83 -0
- data/set-of-emails/maildir/bsd/exchange-01.eml +31 -0
- data/set-of-emails/maildir/bsd/exchange-02.eml +67 -0
- data/set-of-emails/maildir/bsd/exchange-03.eml +52 -0
- data/set-of-emails/maildir/bsd/exchange-04.eml +28 -0
- data/set-of-emails/maildir/bsd/exchange-05.eml +56 -0
- data/set-of-emails/maildir/bsd/exchange-06.eml +151 -0
- data/set-of-emails/maildir/bsd/exim-01.eml +46 -0
- data/set-of-emails/maildir/bsd/exim-02.eml +41 -0
- data/set-of-emails/maildir/bsd/exim-03.eml +42 -0
- data/set-of-emails/maildir/bsd/exim-04.eml +46 -0
- data/set-of-emails/maildir/bsd/exim-05.eml +49 -0
- data/set-of-emails/maildir/bsd/exim-06.eml +44 -0
- data/set-of-emails/maildir/bsd/exim-07.eml +28 -0
- data/set-of-emails/maildir/bsd/exim-08.eml +42 -0
- data/set-of-emails/maildir/bsd/exim-09.eml +169 -0
- data/set-of-emails/maildir/bsd/exim-10.eml +718 -0
- data/set-of-emails/maildir/bsd/exim-11.eml +718 -0
- data/set-of-emails/maildir/bsd/exim-12.eml +75 -0
- data/set-of-emails/maildir/bsd/exim-13.eml +145 -0
- data/set-of-emails/maildir/bsd/exim-14.eml +32 -0
- data/set-of-emails/maildir/bsd/exim-15.eml +49 -0
- data/set-of-emails/maildir/bsd/exim-16.eml +98 -0
- data/set-of-emails/maildir/bsd/exim-17.eml +50 -0
- data/set-of-emails/maildir/bsd/exim-18.eml +96 -0
- data/set-of-emails/maildir/bsd/exim-19.eml +52 -0
- data/set-of-emails/maildir/bsd/exim-20.eml +159 -0
- data/set-of-emails/maildir/bsd/exim-21.eml +150 -0
- data/set-of-emails/maildir/bsd/exim-22.eml +50 -0
- data/set-of-emails/maildir/bsd/exim-23.eml +57 -0
- data/set-of-emails/maildir/bsd/exim-24.eml +107 -0
- data/set-of-emails/maildir/bsd/exim-25.eml +18 -0
- data/set-of-emails/maildir/bsd/exim-26.eml +111 -0
- data/set-of-emails/maildir/bsd/exim-27.eml +120 -0
- data/set-of-emails/maildir/bsd/exim-28.eml +148 -0
- data/set-of-emails/maildir/bsd/google-apps-01.eml +66 -0
- data/set-of-emails/maildir/bsd/imailserver-01.eml +27 -0
- data/set-of-emails/maildir/bsd/imailserver-02.eml +36 -0
- data/set-of-emails/maildir/bsd/imailserver-03.eml +28 -0
- data/set-of-emails/maildir/bsd/imailserver-04.eml +15 -0
- data/set-of-emails/maildir/bsd/imailserver-05.eml +92 -0
- data/set-of-emails/maildir/bsd/imailserver-06.eml +29 -0
- data/set-of-emails/maildir/bsd/interscanmss-01.eml +49 -0
- data/set-of-emails/maildir/bsd/interscanmss-02.eml +259 -0
- data/set-of-emails/maildir/bsd/jp-biglobe-01.eml +43 -0
- data/set-of-emails/maildir/bsd/jp-ezweb-01.eml +36 -0
- data/set-of-emails/maildir/bsd/jp-ezweb-02.eml +65 -0
- data/set-of-emails/maildir/bsd/jp-ezweb-03.eml +35 -0
- data/set-of-emails/maildir/bsd/jp-ezweb-04.eml +38 -0
- data/set-of-emails/maildir/bsd/jp-ezweb-05.eml +38 -0
- data/set-of-emails/maildir/bsd/jp-ezweb-06.eml +33 -0
- data/set-of-emails/maildir/bsd/jp-kddi-01.eml +49 -0
- data/set-of-emails/maildir/bsd/jp-kddi-02.eml +54 -0
- data/set-of-emails/maildir/bsd/jp-kddi-03.eml +54 -0
- data/set-of-emails/maildir/bsd/mailfoundry-01.eml +50 -0
- data/set-of-emails/maildir/bsd/mailfoundry-02.eml +49 -0
- data/set-of-emails/maildir/bsd/mailmarshalsmtp-01.eml +43 -0
- data/set-of-emails/maildir/bsd/mcafee-01.eml +63 -0
- data/set-of-emails/maildir/bsd/mcafee-02.eml +65 -0
- data/set-of-emails/maildir/bsd/mcafee-03.eml +59 -0
- data/set-of-emails/maildir/bsd/messagingserver-01.eml +102 -0
- data/set-of-emails/maildir/bsd/messagingserver-02.eml +72 -0
- data/set-of-emails/maildir/bsd/messagingserver-03.eml +70 -0
- data/set-of-emails/maildir/bsd/messagingserver-04.eml +102 -0
- data/set-of-emails/maildir/bsd/messagingserver-05.eml +98 -0
- data/set-of-emails/maildir/bsd/messagingserver-06.eml +101 -0
- data/set-of-emails/maildir/bsd/messagingserver-07.eml +129 -0
- data/set-of-emails/maildir/bsd/mfilter-01.eml +49 -0
- data/set-of-emails/maildir/bsd/mfilter-02.eml +48 -0
- data/set-of-emails/maildir/bsd/mfilter-03.eml +43 -0
- data/set-of-emails/maildir/bsd/mxlogic-01.eml +47 -0
- data/set-of-emails/maildir/bsd/mxlogic-02.eml +44 -0
- data/set-of-emails/maildir/bsd/mxlogic-03.eml +46 -0
- data/set-of-emails/maildir/bsd/notes-01.eml +42 -0
- data/set-of-emails/maildir/bsd/notes-02.eml +42 -0
- data/set-of-emails/maildir/bsd/notes-03.eml +38 -0
- data/set-of-emails/maildir/bsd/notes-04.eml +181 -0
- data/set-of-emails/maildir/bsd/opensmtpd-01.eml +33 -0
- data/set-of-emails/maildir/bsd/opensmtpd-02.eml +33 -0
- data/set-of-emails/maildir/bsd/opensmtpd-03.eml +36 -0
- data/set-of-emails/maildir/bsd/opensmtpd-04.eml +40 -0
- data/set-of-emails/maildir/bsd/opensmtpd-05.eml +36 -0
- data/set-of-emails/maildir/bsd/postfix-01.eml +60 -0
- data/set-of-emails/maildir/bsd/postfix-02.eml +78 -0
- data/set-of-emails/maildir/bsd/postfix-03.eml +71 -0
- data/set-of-emails/maildir/bsd/postfix-04.eml +89 -0
- data/set-of-emails/maildir/bsd/postfix-05.eml +78 -0
- data/set-of-emails/maildir/bsd/postfix-06.eml +72 -0
- data/set-of-emails/maildir/bsd/postfix-07.eml +74 -0
- data/set-of-emails/maildir/bsd/postfix-08.eml +78 -0
- data/set-of-emails/maildir/bsd/postfix-09.eml +76 -0
- data/set-of-emails/maildir/bsd/postfix-10.eml +73 -0
- data/set-of-emails/maildir/bsd/postfix-11.eml +86 -0
- data/set-of-emails/maildir/bsd/postfix-12.eml +71 -0
- data/set-of-emails/maildir/bsd/postfix-13.eml +81 -0
- data/set-of-emails/maildir/bsd/postfix-14.eml +68 -0
- data/set-of-emails/maildir/bsd/postfix-15.eml +69 -0
- data/set-of-emails/maildir/bsd/postfix-16.eml +73 -0
- data/set-of-emails/maildir/bsd/postfix-17.eml +68 -0
- data/set-of-emails/maildir/bsd/postfix-18.eml +121 -0
- data/set-of-emails/maildir/bsd/postfix-19.eml +105 -0
- data/set-of-emails/maildir/bsd/postfix-20.eml +231 -0
- data/set-of-emails/maildir/bsd/postfix-21.eml +60 -0
- data/set-of-emails/maildir/bsd/qmail-01.eml +40 -0
- data/set-of-emails/maildir/bsd/qmail-02.eml +35 -0
- data/set-of-emails/maildir/bsd/qmail-03.eml +22 -0
- data/set-of-emails/maildir/bsd/qmail-04.eml +31 -0
- data/set-of-emails/maildir/bsd/qmail-05.eml +31 -0
- data/set-of-emails/maildir/bsd/qmail-06.eml +39 -0
- data/set-of-emails/maildir/bsd/qmail-07.eml +22 -0
- data/set-of-emails/maildir/bsd/qmail-08.eml +23 -0
- data/set-of-emails/maildir/bsd/qmail-09.eml +103 -0
- data/set-of-emails/maildir/bsd/rfc3464-01.eml +60 -0
- data/set-of-emails/maildir/bsd/rfc3464-02.eml +43 -0
- data/set-of-emails/maildir/bsd/rfc3464-03.eml +40 -0
- data/set-of-emails/maildir/bsd/rfc3464-04.eml +50 -0
- data/set-of-emails/maildir/bsd/rfc3464-05.eml +63 -0
- data/set-of-emails/maildir/bsd/rfc3464-06.eml +48 -0
- data/set-of-emails/maildir/bsd/rfc3464-07.eml +88 -0
- data/set-of-emails/maildir/bsd/rfc3464-08.eml +70 -0
- data/set-of-emails/maildir/bsd/rfc3464-09.eml +93 -0
- data/set-of-emails/maildir/bsd/rfc3464-10.eml +467 -0
- data/set-of-emails/maildir/bsd/rfc3464-11.eml +1171 -0
- data/set-of-emails/maildir/bsd/rfc3464-12.eml +101 -0
- data/set-of-emails/maildir/bsd/rfc3464-13.eml +131 -0
- data/set-of-emails/maildir/bsd/rfc3464-14.eml +121 -0
- data/set-of-emails/maildir/bsd/rfc3464-15.eml +144 -0
- data/set-of-emails/maildir/bsd/rfc3464-16.eml +36 -0
- data/set-of-emails/maildir/bsd/rfc3464-17.eml +109 -0
- data/set-of-emails/maildir/bsd/rfc3464-18.eml +149 -0
- data/set-of-emails/maildir/bsd/rfc3464-19.eml +65 -0
- data/set-of-emails/maildir/bsd/rfc3464-20.eml +145 -0
- data/set-of-emails/maildir/bsd/rfc3464-21.eml +146 -0
- data/set-of-emails/maildir/bsd/rfc3464-22.eml +105 -0
- data/set-of-emails/maildir/bsd/rfc3464-23.eml +21 -0
- data/set-of-emails/maildir/bsd/rfc3464-24.eml +27 -0
- data/set-of-emails/maildir/bsd/rfc3464-25.eml +33 -0
- data/set-of-emails/maildir/bsd/rfc3464-26.eml +98 -0
- data/set-of-emails/maildir/bsd/rfc3464-27.eml +180 -0
- data/set-of-emails/maildir/bsd/rfc3834-01.eml +37 -0
- data/set-of-emails/maildir/bsd/rfc3834-02.eml +51 -0
- data/set-of-emails/maildir/bsd/rfc3834-03.eml +33 -0
- data/set-of-emails/maildir/bsd/ru-mailru-01.eml +54 -0
- data/set-of-emails/maildir/bsd/ru-mailru-02.eml +54 -0
- data/set-of-emails/maildir/bsd/ru-mailru-03.eml +62 -0
- data/set-of-emails/maildir/bsd/ru-mailru-04.eml +54 -0
- data/set-of-emails/maildir/bsd/ru-yandex-01.eml +102 -0
- data/set-of-emails/maildir/bsd/ru-yandex-02.eml +113 -0
- data/set-of-emails/maildir/bsd/ru-yandex-03.eml +101 -0
- data/set-of-emails/maildir/bsd/sendmail-01.eml +70 -0
- data/set-of-emails/maildir/bsd/sendmail-02.eml +82 -0
- data/set-of-emails/maildir/bsd/sendmail-03.eml +76 -0
- data/set-of-emails/maildir/bsd/sendmail-04.eml +63 -0
- data/set-of-emails/maildir/bsd/sendmail-05.eml +64 -0
- data/set-of-emails/maildir/bsd/sendmail-06.eml +67 -0
- data/set-of-emails/maildir/bsd/sendmail-07.eml +65 -0
- data/set-of-emails/maildir/bsd/sendmail-08.eml +62 -0
- data/set-of-emails/maildir/bsd/sendmail-09.eml +60 -0
- data/set-of-emails/maildir/bsd/sendmail-10.eml +82 -0
- data/set-of-emails/maildir/bsd/sendmail-11.eml +60 -0
- data/set-of-emails/maildir/bsd/sendmail-12.eml +62 -0
- data/set-of-emails/maildir/bsd/sendmail-13.eml +66 -0
- data/set-of-emails/maildir/bsd/sendmail-14.eml +64 -0
- data/set-of-emails/maildir/bsd/sendmail-15.eml +60 -0
- data/set-of-emails/maildir/bsd/sendmail-16.eml +69 -0
- data/set-of-emails/maildir/bsd/sendmail-17.eml +68 -0
- data/set-of-emails/maildir/bsd/sendmail-18.eml +64 -0
- data/set-of-emails/maildir/bsd/sendmail-19.eml +71 -0
- data/set-of-emails/maildir/bsd/sendmail-20.eml +120 -0
- data/set-of-emails/maildir/bsd/sendmail-21.eml +69 -0
- data/set-of-emails/maildir/bsd/sendmail-22.eml +73 -0
- data/set-of-emails/maildir/bsd/sendmail-23.eml +137 -0
- data/set-of-emails/maildir/bsd/sendmail-24.eml +66 -0
- data/set-of-emails/maildir/bsd/sendmail-25.eml +70 -0
- data/set-of-emails/maildir/bsd/sendmail-26.eml +71 -0
- data/set-of-emails/maildir/bsd/sendmail-27.eml +69 -0
- data/set-of-emails/maildir/bsd/sendmail-28.eml +69 -0
- data/set-of-emails/maildir/bsd/sendmail-29.eml +70 -0
- data/set-of-emails/maildir/bsd/sendmail-30.eml +68 -0
- data/set-of-emails/maildir/bsd/sendmail-31.eml +80 -0
- data/set-of-emails/maildir/bsd/sendmail-32.eml +71 -0
- data/set-of-emails/maildir/bsd/sendmail-33.eml +71 -0
- data/set-of-emails/maildir/bsd/sendmail-34.eml +75 -0
- data/set-of-emails/maildir/bsd/sendmail-35.eml +70 -0
- data/set-of-emails/maildir/bsd/sendmail-36.eml +71 -0
- data/set-of-emails/maildir/bsd/sendmail-37.eml +71 -0
- data/set-of-emails/maildir/bsd/surfcontrol-01.eml +79 -0
- data/set-of-emails/maildir/bsd/surfcontrol-02.eml +70 -0
- data/set-of-emails/maildir/bsd/surfcontrol-03.eml +70 -0
- data/set-of-emails/maildir/bsd/uk-messagelabs-01.eml +76 -0
- data/set-of-emails/maildir/bsd/us-amazonses-01.eml +59 -0
- data/set-of-emails/maildir/bsd/us-amazonses-02.eml +177 -0
- data/set-of-emails/maildir/bsd/us-amazonses-03.eml +55 -0
- data/set-of-emails/maildir/bsd/us-amazonses-04.eml +55 -0
- data/set-of-emails/maildir/bsd/us-aol-01.eml +1258 -0
- data/set-of-emails/maildir/bsd/us-aol-02.eml +1257 -0
- data/set-of-emails/maildir/bsd/us-aol-03.eml +1264 -0
- data/set-of-emails/maildir/bsd/us-aol-04.eml +1260 -0
- data/set-of-emails/maildir/bsd/us-bigfoot-01.eml +64 -0
- data/set-of-emails/maildir/bsd/us-facebook-01.eml +40 -0
- data/set-of-emails/maildir/bsd/us-facebook-02.eml +42 -0
- data/set-of-emails/maildir/bsd/us-google-01.eml +70 -0
- data/set-of-emails/maildir/bsd/us-google-02.eml +50 -0
- data/set-of-emails/maildir/bsd/us-google-03.eml +51 -0
- data/set-of-emails/maildir/bsd/us-google-04.eml +82 -0
- data/set-of-emails/maildir/bsd/us-google-05.eml +50 -0
- data/set-of-emails/maildir/bsd/us-google-06.eml +56 -0
- data/set-of-emails/maildir/bsd/us-google-07.eml +42 -0
- data/set-of-emails/maildir/bsd/us-google-08.eml +59 -0
- data/set-of-emails/maildir/bsd/us-google-09.eml +76 -0
- data/set-of-emails/maildir/bsd/us-google-10.eml +69 -0
- data/set-of-emails/maildir/bsd/us-google-11.eml +68 -0
- data/set-of-emails/maildir/bsd/us-google-12.eml +76 -0
- data/set-of-emails/maildir/bsd/us-google-13.eml +79 -0
- data/set-of-emails/maildir/bsd/us-google-14.eml +304 -0
- data/set-of-emails/maildir/bsd/us-outlook-01.eml +72 -0
- data/set-of-emails/maildir/bsd/us-outlook-02.eml +72 -0
- data/set-of-emails/maildir/bsd/us-outlook-03.eml +72 -0
- data/set-of-emails/maildir/bsd/us-outlook-04.eml +79 -0
- data/set-of-emails/maildir/bsd/us-outlook-05.eml +85 -0
- data/set-of-emails/maildir/bsd/us-outlook-06.eml +75 -0
- data/set-of-emails/maildir/bsd/us-outlook-07.eml +70 -0
- data/set-of-emails/maildir/bsd/us-receivingses-01.eml +74 -0
- data/set-of-emails/maildir/bsd/us-receivingses-02.eml +74 -0
- data/set-of-emails/maildir/bsd/us-receivingses-03.eml +74 -0
- data/set-of-emails/maildir/bsd/us-receivingses-04.eml +74 -0
- data/set-of-emails/maildir/bsd/us-receivingses-05.eml +74 -0
- data/set-of-emails/maildir/bsd/us-receivingses-06.eml +74 -0
- data/set-of-emails/maildir/bsd/us-receivingses-07.eml +74 -0
- data/set-of-emails/maildir/bsd/us-sendgrid-01.eml +95 -0
- data/set-of-emails/maildir/bsd/us-sendgrid-02.eml +98 -0
- data/set-of-emails/maildir/bsd/us-sendgrid-03.eml +100 -0
- data/set-of-emails/maildir/bsd/us-verizon-01.eml +31 -0
- data/set-of-emails/maildir/bsd/us-yahoo-01.eml +78 -0
- data/set-of-emails/maildir/bsd/us-yahoo-02.eml +79 -0
- data/set-of-emails/maildir/bsd/us-yahoo-03.eml +93 -0
- data/set-of-emails/maildir/bsd/us-yahoo-04.eml +94 -0
- data/set-of-emails/maildir/bsd/us-yahoo-05.eml +94 -0
- data/set-of-emails/maildir/bsd/us-zoho-01.eml +40 -0
- data/set-of-emails/maildir/bsd/us-zoho-02.eml +38 -0
- data/set-of-emails/maildir/bsd/us-zoho-03.eml +37 -0
- data/set-of-emails/maildir/bsd/us-zoho-04.eml +47 -0
- data/set-of-emails/maildir/bsd/us-zoho-05.eml +37 -0
- data/set-of-emails/maildir/bsd/v5sendmail-01.eml +24 -0
- data/set-of-emails/maildir/bsd/v5sendmail-02.eml +26 -0
- data/set-of-emails/maildir/bsd/v5sendmail-03.eml +29 -0
- data/set-of-emails/maildir/bsd/v5sendmail-04.eml +29 -0
- data/set-of-emails/maildir/bsd/v5sendmail-05.eml +42 -0
- data/set-of-emails/maildir/bsd/v5sendmail-06.eml +28 -0
- data/set-of-emails/maildir/bsd/v5sendmail-07.eml +35 -0
- data/set-of-emails/maildir/bsd/x1-01.eml +61 -0
- data/set-of-emails/maildir/bsd/x1-02.eml +62 -0
- data/set-of-emails/maildir/bsd/x2-01.eml +41 -0
- data/set-of-emails/maildir/bsd/x2-02.eml +46 -0
- data/set-of-emails/maildir/bsd/x2-03.eml +34 -0
- data/set-of-emails/maildir/bsd/x2-04.eml +0 -0
- data/set-of-emails/maildir/bsd/x2-05.eml +98 -0
- data/set-of-emails/maildir/bsd/x3-01.eml +61 -0
- data/set-of-emails/maildir/bsd/x3-02.eml +64 -0
- data/set-of-emails/maildir/bsd/x3-03.eml +59 -0
- data/set-of-emails/maildir/bsd/x3-04.eml +106 -0
- data/set-of-emails/maildir/bsd/x4-01.eml +92 -0
- data/set-of-emails/maildir/bsd/x4-02.eml +112 -0
- data/set-of-emails/maildir/bsd/x4-03.eml +245 -0
- data/set-of-emails/maildir/bsd/x4-04.eml +81 -0
- data/set-of-emails/maildir/bsd/x4-05.eml +121 -0
- data/set-of-emails/maildir/bsd/x4-06.eml +32 -0
- data/set-of-emails/maildir/bsd/x4-07.eml +153 -0
- data/set-of-emails/maildir/bsd/x5-01.eml +155 -0
- data/set-of-emails/maildir/dos/activehunter-01.eml +54 -0
- data/set-of-emails/maildir/dos/apachejames-01.eml +46 -0
- data/set-of-emails/maildir/dos/arf-01.eml +66 -0
- data/set-of-emails/maildir/dos/courier-01.eml +79 -0
- data/set-of-emails/maildir/dos/de-einsundeins-01.eml +38 -0
- data/set-of-emails/maildir/dos/de-gmx-01.eml +52 -0
- data/set-of-emails/maildir/dos/domino-01.eml +33 -0
- data/set-of-emails/maildir/dos/exchange-01.eml +31 -0
- data/set-of-emails/maildir/dos/exim-01.eml +46 -0
- data/set-of-emails/maildir/dos/google-apps-01.eml +66 -0
- data/set-of-emails/maildir/dos/imailserver-01.eml +27 -0
- data/set-of-emails/maildir/dos/interscanmss-01.eml +49 -0
- data/set-of-emails/maildir/dos/jp-biglobe-01.eml +43 -0
- data/set-of-emails/maildir/dos/jp-ezweb-01.eml +36 -0
- data/set-of-emails/maildir/dos/jp-kddi-01.eml +49 -0
- data/set-of-emails/maildir/dos/mailfoundry-01.eml +50 -0
- data/set-of-emails/maildir/dos/mailmarshalsmtp-01.eml +43 -0
- data/set-of-emails/maildir/dos/mcafee-01.eml +63 -0
- data/set-of-emails/maildir/dos/messagingserver-01.eml +102 -0
- data/set-of-emails/maildir/dos/mfilter-01.eml +49 -0
- data/set-of-emails/maildir/dos/mxlogic-01.eml +47 -0
- data/set-of-emails/maildir/dos/notes-01.eml +42 -0
- data/set-of-emails/maildir/dos/opensmtpd-01.eml +33 -0
- data/set-of-emails/maildir/dos/postfix-01.eml +60 -0
- data/set-of-emails/maildir/dos/qmail-01.eml +40 -0
- data/set-of-emails/maildir/dos/rfc3464-01.eml +59 -0
- data/set-of-emails/maildir/dos/rfc3834-01.eml +37 -0
- data/set-of-emails/maildir/dos/ru-mailru-01.eml +54 -0
- data/set-of-emails/maildir/dos/ru-yandex-01.eml +102 -0
- data/set-of-emails/maildir/dos/sendmail-01.eml +69 -0
- data/set-of-emails/maildir/dos/surfcontrol-01.eml +79 -0
- data/set-of-emails/maildir/dos/uk-messagelabs-01.eml +76 -0
- data/set-of-emails/maildir/dos/us-amazonses-01.eml +59 -0
- data/set-of-emails/maildir/dos/us-aol-01.eml +1258 -0
- data/set-of-emails/maildir/dos/us-bigfoot-01.eml +64 -0
- data/set-of-emails/maildir/dos/us-facebook-01.eml +40 -0
- data/set-of-emails/maildir/dos/us-google-01.eml +70 -0
- data/set-of-emails/maildir/dos/us-outlook-01.eml +72 -0
- data/set-of-emails/maildir/dos/us-receivingses-01.eml +74 -0
- data/set-of-emails/maildir/dos/us-sendgrid-01.eml +95 -0
- data/set-of-emails/maildir/dos/us-verizon-01.eml +31 -0
- data/set-of-emails/maildir/dos/us-yahoo-01.eml +78 -0
- data/set-of-emails/maildir/dos/us-zoho-01.eml +40 -0
- data/set-of-emails/maildir/dos/v5sendmail-01.eml +24 -0
- data/set-of-emails/maildir/dos/x1-01.eml +61 -0
- data/set-of-emails/maildir/dos/x2-01.eml +41 -0
- data/set-of-emails/maildir/dos/x3-01.eml +61 -0
- data/set-of-emails/maildir/dos/x4-01.eml +90 -0
- data/set-of-emails/maildir/dos/x5-01.eml +155 -0
- data/set-of-emails/maildir/err/make-test-01.eml +70 -0
- data/set-of-emails/maildir/err/make-test-02.eml +70 -0
- data/set-of-emails/maildir/err/make-test-03.eml +64 -0
- data/set-of-emails/maildir/err/make-test-04.eml +64 -0
- data/set-of-emails/maildir/err/make-test-05.eml +66 -0
- data/set-of-emails/maildir/err/make-test-06.eml +118 -0
- data/set-of-emails/maildir/err/make-test-07.eml +26 -0
- data/set-of-emails/maildir/err/make-test-08.eml +67 -0
- data/set-of-emails/maildir/err/make-test-09.eml +55 -0
- data/set-of-emails/maildir/err/make-test-10.eml +69 -0
- data/set-of-emails/maildir/err/make-test-11.eml +64 -0
- data/set-of-emails/maildir/err/make-test-12.eml +66 -0
- data/set-of-emails/maildir/err/make-test-13.eml +67 -0
- data/set-of-emails/maildir/err/make-test-14.eml +66 -0
- data/set-of-emails/maildir/err/make-test-15.eml +70 -0
- data/set-of-emails/maildir/err/make-test-16.eml +68 -0
- data/set-of-emails/maildir/err/make-test-17.eml +68 -0
- data/set-of-emails/maildir/err/make-test-18.eml +68 -0
- data/set-of-emails/maildir/err/make-test-19.eml +69 -0
- data/set-of-emails/maildir/err/make-test-20.eml +67 -0
- data/set-of-emails/maildir/err/make-test-21.eml +69 -0
- data/set-of-emails/maildir/err/make-test-22.eml +66 -0
- data/set-of-emails/maildir/err/make-test-23.eml +70 -0
- data/set-of-emails/maildir/err/make-test-24.eml +69 -0
- data/set-of-emails/maildir/err/make-test-25.eml +67 -0
- data/set-of-emails/maildir/err/make-test-26.eml +69 -0
- data/set-of-emails/maildir/err/make-test-27.eml +69 -0
- data/set-of-emails/maildir/err/make-test-28.eml +66 -0
- data/set-of-emails/maildir/err/make-test-29.eml +68 -0
- data/set-of-emails/maildir/err/make-test-30.eml +68 -0
- data/set-of-emails/maildir/err/make-test-31.eml +80 -0
- data/set-of-emails/maildir/err/make-test-32.eml +66 -0
- data/set-of-emails/maildir/err/make-test-33.eml +68 -0
- data/set-of-emails/maildir/err/make-test-34.eml +56 -0
- data/set-of-emails/maildir/err/make-test-35.eml +59 -0
- data/set-of-emails/maildir/err/make-test-36.eml +53 -0
- data/set-of-emails/maildir/err/make-test-37.eml +62 -0
- data/set-of-emails/maildir/mac/activehunter-01.eml +1 -2
- data/set-of-emails/maildir/mac/apachejames-01.eml +1 -4
- data/set-of-emails/maildir/mac/arf-01.eml +1 -3
- data/set-of-emails/maildir/mac/courier-01.eml +1 -6
- data/set-of-emails/maildir/mac/de-einsundeins-01.eml +1 -1
- data/set-of-emails/maildir/mac/de-gmx-01.eml +1 -1
- data/set-of-emails/maildir/mac/domino-01.eml +1 -0
- data/set-of-emails/maildir/mac/exchange-01.eml +1 -0
- data/set-of-emails/maildir/mac/exim-01.eml +1 -1
- data/set-of-emails/maildir/mac/google-apps-01.eml +1 -4
- data/set-of-emails/maildir/mac/imailserver-01.eml +1 -0
- data/set-of-emails/maildir/mac/interscanmss-01.eml +1 -2
- data/set-of-emails/maildir/mac/jp-biglobe-01.eml +1 -2
- data/set-of-emails/maildir/mac/jp-ezweb-01.eml +1 -1
- data/set-of-emails/maildir/mac/jp-kddi-01.eml +1 -2
- data/set-of-emails/maildir/mac/mailfoundry-01.eml +1 -2
- data/set-of-emails/maildir/mac/mailmarshalsmtp-01.eml +1 -2
- data/set-of-emails/maildir/mac/mcafee-01.eml +1 -4
- data/set-of-emails/maildir/mac/messagingserver-01.eml +1 -4
- data/set-of-emails/maildir/mac/mfilter-01.eml +1 -3
- data/set-of-emails/maildir/mac/mxlogic-01.eml +1 -1
- data/set-of-emails/maildir/mac/notes-01.eml +1 -2
- data/set-of-emails/maildir/mac/opensmtpd-01.eml +1 -0
- data/set-of-emails/maildir/mac/postfix-01.eml +1 -3
- data/set-of-emails/maildir/mac/qmail-01.eml +1 -1
- data/set-of-emails/maildir/mac/rfc3464-01.eml +1 -4
- data/set-of-emails/maildir/mac/rfc3834-01.eml +1 -0
- data/set-of-emails/maildir/mac/ru-mailru-01.eml +1 -1
- data/set-of-emails/maildir/mac/ru-yandex-01.eml +1 -4
- data/set-of-emails/maildir/mac/sendmail-01.eml +1 -4
- data/set-of-emails/maildir/mac/surfcontrol-01.eml +1 -5
- data/set-of-emails/maildir/mac/uk-messagelabs-01.eml +1 -4
- data/set-of-emails/maildir/mac/us-amazonses-01.eml +1 -4
- data/set-of-emails/maildir/mac/us-aol-01.eml +1 -15
- data/set-of-emails/maildir/mac/us-bigfoot-01.eml +1 -4
- data/set-of-emails/maildir/mac/us-facebook-01.eml +1 -4
- data/set-of-emails/maildir/mac/us-google-01.eml +1 -1
- data/set-of-emails/maildir/mac/us-outlook-01.eml +1 -4
- data/set-of-emails/maildir/mac/us-receivingses-01.eml +1 -4
- data/set-of-emails/maildir/mac/us-sendgrid-01.eml +1 -3
- data/set-of-emails/maildir/mac/us-verizon-01.eml +1 -2
- data/set-of-emails/maildir/mac/us-yahoo-01.eml +1 -1
- data/set-of-emails/maildir/mac/us-zoho-01.eml +1 -2
- data/set-of-emails/maildir/mac/v5sendmail-01.eml +1 -0
- data/set-of-emails/maildir/mac/x1-01.eml +1 -4
- data/set-of-emails/maildir/mac/x2-01.eml +1 -1
- data/set-of-emails/maildir/mac/x3-01.eml +1 -3
- data/set-of-emails/maildir/mac/x4-01.eml +1 -2
- data/set-of-emails/maildir/mac/x5-01.eml +1 -8
- data/set-of-emails/maildir/not/is-not-bounce-01.eml +25 -0
- data/set-of-emails/to-be-debugged-because/reason-is-onhold/onhold-0001.eml +85 -0
- data/set-of-emails/to-be-debugged-because/reason-is-undefined/undefined-0002.eml +27 -0
- data/set-of-emails/to-be-debugged-because/reason-is-undefined/undefined-0003.eml +78 -0
- data/set-of-emails/to-be-debugged-because/sisimai-cannot-parse-yet/cannot-parse-this-email-0002.eml +25 -0
- data/set-of-emails/to-be-debugged-because/something-is-wrong/issue-106-01.eml +79 -0
- data/set-of-emails/to-be-debugged-because/something-is-wrong/issue-106-02.eml +72 -0
- data/set-of-emails/to-be-debugged-because/something-is-wrong/issue-106-03.eml +68 -0
- data/set-of-emails/to-be-debugged-because/something-is-wrong/no-message-id-from-pr-150.eml +75 -0
- data/set-of-emails/to-be-parsed-for-test/README.md +20 -0
- data/sisimai.gemspec +25 -0
- metadata +647 -0
data/Makefile
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
# rb-Sisimai/Makefile
|
2
|
+
# __ __ _ __ _ _
|
3
|
+
# | \/ | __ _| | _____ / _(_) | ___
|
4
|
+
# | |\/| |/ _` | |/ / _ \ |_| | |/ _ \
|
5
|
+
# | | | | (_| | < __/ _| | | __/
|
6
|
+
# |_| |_|\__,_|_|\_\___|_| |_|_|\___|
|
7
|
+
# -----------------------------------------------------------------------------
|
8
|
+
SHELL := /bin/sh
|
9
|
+
TIME := $(shell date '+%s')
|
10
|
+
NAME := sisimai
|
11
|
+
RUBY := ruby
|
12
|
+
RAKE := rake
|
13
|
+
MKDIR := mkdir -p
|
14
|
+
RSPEC := rspec -Ilib -f progress
|
15
|
+
CP := cp
|
16
|
+
RM := rm -f
|
17
|
+
|
18
|
+
.DEFAULT_GOAL = git-status
|
19
|
+
REPOS_TARGETS = git-status git-push git-commit-amend git-tag-list git-diff \
|
20
|
+
git-reset-soft git-rm-cached git-branch
|
21
|
+
|
22
|
+
# -----------------------------------------------------------------------------
|
23
|
+
.PHONY: clean
|
24
|
+
|
25
|
+
depend:
|
26
|
+
gem install bundle rake rspec coveralls
|
27
|
+
|
28
|
+
install-from-rubygems:
|
29
|
+
gem install $(NAME)
|
30
|
+
|
31
|
+
install-from-local:
|
32
|
+
bundle exec $(RAKE) install
|
33
|
+
|
34
|
+
release:
|
35
|
+
bundle exec $(RAKE) release
|
36
|
+
|
37
|
+
test: user-test
|
38
|
+
|
39
|
+
user-test:
|
40
|
+
$(RAKE) spec
|
41
|
+
|
42
|
+
patrol:
|
43
|
+
rubocop -fp --display-cop-names --display-style-guide --no-color lib
|
44
|
+
|
45
|
+
$(REPOS_TARGETS):
|
46
|
+
$(MAKE) -f Repository.mk $@
|
47
|
+
|
48
|
+
diff push branch:
|
49
|
+
@$(MAKE) git-$@
|
50
|
+
fix-commit-message: git-commit-amend
|
51
|
+
cancel-the-latest-commit: git-reset-soft
|
52
|
+
remove-added-file: git-rm-cached
|
53
|
+
|
54
|
+
clean:
|
55
|
+
$(MAKE) -f Repository.mk clean
|
56
|
+
|
data/README.md
ADDED
@@ -0,0 +1,300 @@
|
|
1
|
+
[![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](https://github.com/sisimai/rb-Sisimai/blob/master/LICENSE)
|
2
|
+
[![Coverage Status](https://img.shields.io/coveralls/sisimai/rb-Sisimai.svg)](https://coveralls.io/r/sisimai/rb-Sisimai)
|
3
|
+
[![Build Status](https://travis-ci.org/sisimai/rb-Sisimai.svg?branch=master)](https://travis-ci.org/sisimai/rb-Sisimai)
|
4
|
+
[![Codacy Badge](https://api.codacy.com/project/badge/grade/38340177e6284a65be69c0c7c3dc2b58)](https://www.codacy.com/app/azumakuniyuki/rb-Sisimai)
|
5
|
+
[![Ruby](https://img.shields.io/badge/ruby-v2.1.0--v2.3.0-red.svg)](https://www.ruby-lang.org/)
|
6
|
+
|
7
|
+
![](http://41.media.tumblr.com/45c8d33bea2f92da707f4bbe66251d6b/tumblr_nuf7bgeyH51uz9e9oo1_1280.png)
|
8
|
+
|
9
|
+
What is Sisimai ? | シシマイ?
|
10
|
+
=============================
|
11
|
+
Sisimai is a Ruby library for analyzing RFC5322 bounce emails and generating
|
12
|
+
structured data from parsed results. Ruby version of Sisimai is ported from
|
13
|
+
Perl version of Sisimai at https://github.com/sisimai/p5-Sisimai/ .
|
14
|
+
|
15
|
+
Sisimai(シシマイ)はRFC5322準拠のエラーメールを解析し、解析結果をデータ構造に
|
16
|
+
変換するインターフェイスを提供するRubyライブラリです。
|
17
|
+
https://github.com/sisimai/p5-Sisimai/で公開しているPerl版シシマイから移植しました。
|
18
|
+
|
19
|
+
Key Features | 主な特徴的機能
|
20
|
+
-----------------------------
|
21
|
+
* __Convert Bounce Mails to Structured Data__ | __エラーメールをデータ構造に変換__
|
22
|
+
* Supported formats are Perl and JSON | Perlのデータ形式とJSONに対応
|
23
|
+
* __Easy to Install, Use.__ | __インストールも使用も簡単__
|
24
|
+
* gem install
|
25
|
+
* git clone & make
|
26
|
+
|
27
|
+
|
28
|
+
Setting Up Sisimai | シシマイを使う準備
|
29
|
+
=======================================
|
30
|
+
|
31
|
+
System requirements | 動作環境
|
32
|
+
------------------------------
|
33
|
+
|
34
|
+
More details about system requirements are available at available at
|
35
|
+
[Sisimai | Getting Started](http://libsisimai.org/start) page.
|
36
|
+
|
37
|
+
* [Ruby 2.1.0 or later](http://www.ruby-lang.org/)
|
38
|
+
* Also works on JRuby 9.0.0.0 or later
|
39
|
+
|
40
|
+
|
41
|
+
Usage | 使い方
|
42
|
+
==============
|
43
|
+
|
44
|
+
Basic usage | 基本的な使い方
|
45
|
+
----------------------------
|
46
|
+
make() method provides feature for getting parsed data from bounced email
|
47
|
+
messages like following.
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
#! /usr/bin/env ruby
|
51
|
+
require 'sisimai'
|
52
|
+
v = Sisimai.make('/path/to/mbox') # or path to Maildir/
|
53
|
+
|
54
|
+
unless v.void
|
55
|
+
v.each do |e|
|
56
|
+
puts e.class # Sisimai::Data
|
57
|
+
puts e.recipient.class # Sisimai::Address
|
58
|
+
puts e.timestamp.class # Sisimai::Time
|
59
|
+
|
60
|
+
puts e.addresser.address # shironeko@example.org # From
|
61
|
+
puts e.recipient.address # kijitora@example.jp # To
|
62
|
+
puts e.recipient.host # example.jp
|
63
|
+
puts e.deliverystatus # 5.1.1
|
64
|
+
puts e.replycode # 550
|
65
|
+
puts e.reason # userunknown
|
66
|
+
|
67
|
+
h = e.damn # Convert to HASH
|
68
|
+
j = e.dump('json') # Convert to JSON string
|
69
|
+
puts e.dump('json') # JSON formatted bounce data
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
# Get JSON string from parsed mailbox or Maildir/
|
74
|
+
puts Sisimai.dump('/path/to/mbox') # or path to Maildir/
|
75
|
+
```
|
76
|
+
|
77
|
+
```json
|
78
|
+
[{"recipient": "kijitora@example.jp", "addresser": "shironeko@1jo.example.org", "feedbacktype": "", "action": "failed", "subject": "Nyaaaaan", "smtpcommand": "DATA", "diagnosticcode": "550 Unknown user kijitora@example.jp", "listid": "", "destination": "example.jp", "smtpagent": "Courier", "lhost": "1jo.example.org", "deliverystatus": "5.0.0", "timestamp": 1291954879, "messageid": "201012100421.oBA4LJFU042012@1jo.example.org", "diagnostictype": "SMTP", "timezoneoffset": "+0900", "reason": "filtered", "token": "ce999a4c869e3f5e4d8a77b2e310b23960fb32ab", "alias": "", "senderdomain": "1jo.example.org", "rhost": "mfsmax.example.jp"}, {"diagnostictype": "SMTP", "timezoneoffset": "+0900", "reason": "userunknown", "timestamp": 1381900535, "messageid": "E1C50F1B-1C83-4820-BC36-AC6FBFBE8568@example.org", "token": "9fe754876e9133aae5d20f0fd8dd7f05b4e9d9f0", "alias": "", "senderdomain": "example.org", "rhost": "mx.bouncehammer.jp", "action": "failed", "addresser": "kijitora@example.org", "recipient": "userunknown@bouncehammer.jp", "feedbacktype": "", "smtpcommand": "DATA", "subject": "バウンスメールのテスト(日本語)", "destination": "bouncehammer.jp", "listid": "", "diagnosticcode": "550 5.1.1 <userunknown@bouncehammer.jp>... User Unknown", "deliverystatus": "5.1.1", "lhost": "p0000-ipbfpfx00kyoto.kyoto.example.co.jp", "smtpagent": "Sendmail"}]
|
79
|
+
```
|
80
|
+
|
81
|
+
上記のようにSisimaiのmake()メソッドをmboxかMaildirのPATHを引数にして実行すると
|
82
|
+
解析結果が配列で返ってきます。
|
83
|
+
|
84
|
+
One-Liner | ワンライナーで
|
85
|
+
--------------------------
|
86
|
+
|
87
|
+
```shell
|
88
|
+
% ruby -rsisimai -e 'puts Sisimai.dump($*.shift)' /path/to/mbox
|
89
|
+
```
|
90
|
+
|
91
|
+
Differences between Perl version and Ruby version | Perl版との違い
|
92
|
+
------------------------------------------------------------------
|
93
|
+
The following table show the differences between Perl version of Sisimai
|
94
|
+
and Ruby version of Sisimai.
|
95
|
+
|
96
|
+
| Features | Ruby version | Perl version|
|
97
|
+
|------------------------------------------------|---------------|-------------|
|
98
|
+
| System requirements | Ruby 2.1-2.3 | Perl 5.10 - |
|
99
|
+
| Analytical precision ratio(2000 emails)[1] | 1.00 | 1.00 |
|
100
|
+
| The speed of parsing email(1000 emails) | 3.93s | 2.50s |
|
101
|
+
| How to install | gem install | cpanm |
|
102
|
+
| Dependencies (Except core modules) | 0 modules | 2 modules |
|
103
|
+
| LOC:Source lines of code | 11400 lines | 8900 lines |
|
104
|
+
| The number of tests in t/, xt/ directory | 89570 tests | 160500 tests|
|
105
|
+
| License | The BSD 2-Clause License |
|
106
|
+
| Support Contract provided by Developer | Coming soon | Available |
|
107
|
+
|
108
|
+
1. See ./ANALYTICAL-PRECISION
|
109
|
+
|
110
|
+
公開中のPerl版Sisimai(p5-Sisimai)とRuby版Sisimai(rb-Sisimai)は下記のような違いが
|
111
|
+
あります。
|
112
|
+
|
113
|
+
| 機能 | Ruby version | Perl version|
|
114
|
+
|------------------------------------------------|---------------|-------------|
|
115
|
+
| 動作環境 | Ruby 2.1-2.3 | Perl 5.10 - |
|
116
|
+
| 解析精度の割合(2000通のメール)[1] | 1.00 | 1.00 |
|
117
|
+
| メール解析速度(1000通のメール) | 3.93秒 | 2.50秒 |
|
118
|
+
| インストール方法 | gem install | cpanm |
|
119
|
+
| 依存モジュール数(コアモジュールを除く) | 0モジュール | 2モジュール |
|
120
|
+
| LOC:ソースコードの行数 | 11400行 | 8900行 |
|
121
|
+
| テスト件数(t/,xt/ディレクトリ) | 89570件 | 160500件 |
|
122
|
+
| ライセンス | 二条項BSD | 二条項BSD |
|
123
|
+
| 開発会社によるサポート契約 | 準備中 | 提供中 |
|
124
|
+
|
125
|
+
1. ./ANALYTICAL-PRECISIONを参照
|
126
|
+
|
127
|
+
MTA/MSP Modules | MTA/MSPモジュール一覧
|
128
|
+
---------------------------------------
|
129
|
+
The following table is the list of MTA/MSP:(Mail Service Provider) modules. More
|
130
|
+
details about these modules are available at
|
131
|
+
[Sisimai | Parser Engines](http://libsisimai.org/engine) page.
|
132
|
+
|
133
|
+
| Module Name(Sisimai::) | Description |
|
134
|
+
|--------------------------|---------------------------------------------------|
|
135
|
+
| MTA::Activehunter | TransWARE Active!hunter |
|
136
|
+
| MTA::ApacheJames | Java Apache Mail Enterprise Server |
|
137
|
+
| MTA::Courier | Courier MTA |
|
138
|
+
| MTA::Domino | IBM Domino Server |
|
139
|
+
| MTA::Exchange | Microsoft Exchange Server |
|
140
|
+
| MTA::Exim | Exim |
|
141
|
+
| MTA::IMailServer | IPSWITCH IMail Server |
|
142
|
+
| MTA::InterScanMSS | Trend Micro InterScan Messaging Security Suite |
|
143
|
+
| MTA::MXLogic | McAfee SaaS |
|
144
|
+
| MTA::MailFoundry | MailFoundry |
|
145
|
+
| MTA::MailMarshalSMTP | Trustwave Secure Email Gateway |
|
146
|
+
| MTA::McAfee | McAfee Email Appliance |
|
147
|
+
| MTA::MessagingServer | Oracle Communications Messaging Server |
|
148
|
+
| MTA::MFILTER | Digital Arts m-FILTER |
|
149
|
+
| MTA::Notes | Lotus Notes |
|
150
|
+
| MTA::OpenSMTPD | OpenSMTPD |
|
151
|
+
| MTA::Postfix | Postfix |
|
152
|
+
| MTA::Qmail | qmail |
|
153
|
+
| MTA::Sendmail | V8Sendmail: /usr/sbin/sendmail |
|
154
|
+
| MTA::SurfControl | WebSense SurfControl |
|
155
|
+
| MTA::V5sendmail | Sendmail version 5 |
|
156
|
+
| MTA::X1 | Unknown MTA #1 |
|
157
|
+
| MTA::X2 | Unknown MTA #2 |
|
158
|
+
| MTA::X3 | Unknown MTA #3 |
|
159
|
+
| MTA::X4 | Unknown MTA #4 qmail clones |
|
160
|
+
| MTA::X5 | Unknown MTA #5 |
|
161
|
+
| MSP::DE::EinsUndEins | 1&1: http://www.1and1.de |
|
162
|
+
| MSP::DE::GMX | GMX: http://www.gmx.net |
|
163
|
+
| MSP::JP::Biglobe | BIGLOBE: http://www.biglobe.ne.jp |
|
164
|
+
| MSP::JP::EZweb | au EZweb: http://www.au.kddi.com/mobile/ |
|
165
|
+
| MSP::JP::KDDI | au by KDDI: http://www.au.kddi.com |
|
166
|
+
| MSP::RU::MailRu | @mail.ru: https://mail.ru |
|
167
|
+
| MSP::RU::Yandex | Yandex.Mail: http://www.yandex.ru |
|
168
|
+
| MSP::UK::MessageLabs | Symantec.cloud http://www.messagelabs.com |
|
169
|
+
| MSP::US::AmazonSES | AmazonSES(Sending): http://aws.amazon.com/ses/ |
|
170
|
+
| MSP::US::Aol | Aol Mail: http://www.aol.com |
|
171
|
+
| MSP::US::Bigfoot | Bigfoot: http://www.bigfoot.com |
|
172
|
+
| MSP::US::Facebook | Facebook: https://www.facebook.com |
|
173
|
+
| MSP::US::Google | Google Gmail: https://mail.google.com |
|
174
|
+
| MSP::US::Outlook | Microsoft Outlook.com: https://www.outlook.com/ |
|
175
|
+
| MSP::US::ReceivingSES | AmazonSES(Receiving): http://aws.amazon.com/ses/ |
|
176
|
+
| MSP::US::SendGrid | SendGrid: http://sendgrid.com/ |
|
177
|
+
| MSP::US::Verizon | Verizon Wireless: http://www.verizonwireless.com |
|
178
|
+
| MSP::US::Yahoo | Yahoo! MAIL: https://www.yahoo.com |
|
179
|
+
| MSP::US::Zoho | Zoho Mail: https://www.zoho.com |
|
180
|
+
| ARF | Abuse Feedback Reporting Format |
|
181
|
+
| RFC3464 | Fallback Module for MTAs |
|
182
|
+
| RFC3834 | Detector for auto replied message |
|
183
|
+
|
184
|
+
上記はSisimaiに含まれてるMTA/MSP(メールサービスプロバイダ)モジュールの一覧です。
|
185
|
+
|
186
|
+
|
187
|
+
Bounce Reason List | バウンス理由の一覧
|
188
|
+
----------------------------------------
|
189
|
+
Sisimai can detect the following 25 bounce reasons. More details about reasons
|
190
|
+
are available at [Sisimai | Bounce Reason List](http://libsisimai.org/reason)
|
191
|
+
page.
|
192
|
+
|
193
|
+
| Reason(理由) | Description | 理由の説明 |
|
194
|
+
|----------------|----------------------------------------|----------------------------------|
|
195
|
+
| Blocked | Blocked due to client IP address | IPアドレスによる拒否 |
|
196
|
+
| ContentError | Invalid format email | 不正な形式のメール |
|
197
|
+
| ExceedLimit | Message size exceeded the limit(5.2.3) | メールサイズの超過 |
|
198
|
+
| Expired | Delivery time expired | 配送時間切れ |
|
199
|
+
| Feedback | Bounced for a complaint of the message | 元メールへの苦情によるバウンス |
|
200
|
+
| Filtered | Rejected after DATA command | DATAコマンド以降で拒否された |
|
201
|
+
| HasMoved | Destination mail addrees has moved | 宛先メールアドレスは移動した |
|
202
|
+
| HostUnknown | Unknown destination host name | 宛先ホスト名が存在しない |
|
203
|
+
| MailboxFull | Recipient's mailbox is full | メールボックスが一杯 |
|
204
|
+
| MailerError | Mailer program error | メールプログラムのエラー |
|
205
|
+
| MesgTooBig | Message size is too big(5.3.4) | メールが大き過ぎる |
|
206
|
+
| NetworkError | Network error: DNS or routing | DNS等ネットワーク関係のエラー |
|
207
|
+
| NotAccept | Destinaion does not accept any message | 宛先ホストはメールを受けとらない |
|
208
|
+
| OnHold | Deciding the bounce reason is on hold | エラー理由の特定は保留 |
|
209
|
+
| Rejected | Rejected due to envelope from address | エンベロープFromで拒否された |
|
210
|
+
| NoRelaying | Relay access denied | リレーの拒否 |
|
211
|
+
| SecurityError | Virus detected or authentication error | ウィルスの検出または認証失敗 |
|
212
|
+
| SpamDetected | Detected a message as spam | メールはスパムとして判定された |
|
213
|
+
| Suspend | Recipient's account is suspended | 宛先アカウントは一時的に停止中 |
|
214
|
+
| SystemError | Some error on the destination host | 宛先サーバでのOSレベルのエラー |
|
215
|
+
| SystemFull | Disk full on the destination host | 宛先サーバのディスクが一杯 |
|
216
|
+
| TooManyConn | Connection rate limit exceeded | 接続制限数を超過した |
|
217
|
+
| UserUnknown | Recipient's address does not exist | 宛先メールアドレスは存在しない |
|
218
|
+
| Undefined | Could not decide the error reason | バウンスした理由は特定出来ず |
|
219
|
+
| Vacation | Auto replied message | 自動応答メッセージ |
|
220
|
+
|
221
|
+
Sisimaiは上記のエラー25種を検出します。
|
222
|
+
|
223
|
+
|
224
|
+
Parsed data structure | 解析後のデータ構造
|
225
|
+
------------------------------------------
|
226
|
+
The following table shows a data structure(Sisimai::Data) of parsed bounce mail.
|
227
|
+
More details about data structure are available at available at
|
228
|
+
[Sisimai — Data Structure of Sisimai::Data](http://libsisimai.org/data) page.
|
229
|
+
|
230
|
+
| Name | Description | 値の説明 |
|
231
|
+
|----------------|---------------------------------------|--------------------------------|
|
232
|
+
| action | The value of Action: header | Action:ヘッダの値 |
|
233
|
+
| addresser | The From address | 送信者のアドレス |
|
234
|
+
| alias | Alias of the recipient | 受信者アドレスのエイリアス |
|
235
|
+
| destination | The domain part of the "recipinet" | "recipient"のドメイン部分 |
|
236
|
+
| deliverystatus | Delivery Status(DSN) | 配信状態(DSN)の値 |
|
237
|
+
| diagnosticcode | Error message | エラーメッセージ |
|
238
|
+
| diagnostictype | Error message type | エラーメッセージの種別 |
|
239
|
+
| feedbacktype | Feedback Type | Feedback-Typeのフィールド |
|
240
|
+
| lhost | local host name(local MTA) | 送信側MTAのホスト名 |
|
241
|
+
| listid | List-Id: header of each ML | List-Idヘッダの値 |
|
242
|
+
| messageid | Message-Id: of the original message | 元メールのMessage-Id |
|
243
|
+
| reason | Detected bounce reason | 検出したバウンスした理由 |
|
244
|
+
| recipient | Recipient address which bounced | バウンスした受信者のアドレス |
|
245
|
+
| replycode | SMTP Reply Code | SMTP応答コード |
|
246
|
+
| rhost | Remote host name(remote MTA) | 受信側MTAのホスト名 |
|
247
|
+
| senderdomain | The domain part of the "addresser" | "addresser"のドメイン部分 |
|
248
|
+
| softbounce | The bounce is soft bounce or not | ソフトバウンスであるかどうか |
|
249
|
+
| smtpagent | MTA name(Sisimai::MTA::, MSP::) | MTA名(Sisimai::MTA::,MSP::) |
|
250
|
+
| smtpcommand | The last SMTP command in the session | セッション中最後のSMTPコマンド |
|
251
|
+
| subject | Subject of the original message(UTF8) | 元メールのSubject(UTF-8) |
|
252
|
+
| timestamp | Date: header in the original message | 元メールのDate |
|
253
|
+
| timezoneoffset | Time zone offset(seconds) | タイムゾーンの時差 |
|
254
|
+
| token | MD5 value of addresser and recipient | 送信者と受信者のハッシュ値 |
|
255
|
+
|
256
|
+
上記の表は解析後のバウンスメールの構造(Sisimai::Data)です。
|
257
|
+
|
258
|
+
|
259
|
+
Emails could not be parsed | 解析出来ないメール
|
260
|
+
-----------------------------------------------
|
261
|
+
__Bounce mails__ which could not be parsed by Sisimai are saved in the directory
|
262
|
+
`set-of-emails/to-be-debugged-because/sisimai-cannot-parse-yet`. If you find any
|
263
|
+
bounce email cannot be parsed using Sisimai, please add the email into the directory
|
264
|
+
and send Pull-Request to this repository.
|
265
|
+
|
266
|
+
解析出来ない__バウンスメール__は`set-of-emails/to-be-debugged-because/sisimai-cannot-parse-yet`
|
267
|
+
ディレクトリにはいっています。もしもSisimaiで解析出来ないメールを見つけたら、
|
268
|
+
このディレクトリに追加してPull-Requestを送ってください。
|
269
|
+
|
270
|
+
|
271
|
+
Other Information | その他の情報
|
272
|
+
================================
|
273
|
+
|
274
|
+
Related Sites | 関連サイト
|
275
|
+
--------------------------
|
276
|
+
|
277
|
+
* __libsisimai.org__ | [Sisimai | The successor to bounceHammer, Library to parse bounce mails](http://libsisimai.org/)
|
278
|
+
* __GitHub__ | [github.com/sisimai/rb-Sisimai](https://github.com/sisimai/rb-Sisimai)
|
279
|
+
* __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-Sisimai)
|
280
|
+
|
281
|
+
SEE ALSO | 参考サイト
|
282
|
+
---------------------
|
283
|
+
* [RFC3463 - Enhanced Mail System Status Codes](https://tools.ietf.org/html/rfc3463)
|
284
|
+
* [RFC3464 - An Extensible Message Format for Delivery Status Notifications](https://tools.ietf.org/html/rfc3464)
|
285
|
+
* [RFC3834 - Recommendations for Automatic Responses to Electronic Mail](https://tools.ietf.org/html/rfc3834)
|
286
|
+
* [RFC5321 - Simple Mail Transfer Protocol](https://tools.ietf.org/html/rfc5321)
|
287
|
+
* [RFC5322 - Internet Message Format](https://tools.ietf.org/html/rfc5322)
|
288
|
+
|
289
|
+
AUTHOR | 作者
|
290
|
+
-------------
|
291
|
+
[@azumakuniyuki](https://twitter.com/azumakuniyuki)
|
292
|
+
|
293
|
+
COPYRIGHT | 著作権
|
294
|
+
------------------
|
295
|
+
Copyright (C) 2015-2016 azumakuniyuki, All Rights Reserved.
|
296
|
+
|
297
|
+
LICENSE | ライセンス
|
298
|
+
--------------------
|
299
|
+
This software is distributed under The BSD 2-Clause License.
|
300
|
+
|
data/Rakefile
ADDED
data/Repository.mk
ADDED
@@ -0,0 +1,69 @@
|
|
1
|
+
# rb-Sisimai/Repository.mk
|
2
|
+
# ____ _ _ _
|
3
|
+
# | _ \ ___ _ __ ___ ___(_) |_ ___ _ __ _ _ _ __ ___ | | __
|
4
|
+
# | |_) / _ \ '_ \ / _ \/ __| | __/ _ \| '__| | | | | '_ ` _ \| |/ /
|
5
|
+
# | _ < __/ |_) | (_) \__ \ | || (_) | | | |_| |_| | | | | | <
|
6
|
+
# |_| \_\___| .__/ \___/|___/_|\__\___/|_| \__, (_)_| |_| |_|_|\_\
|
7
|
+
# |_| |___/
|
8
|
+
# -----------------------------------------------------------------------------
|
9
|
+
SHELL := /bin/sh
|
10
|
+
GIT := /usr/bin/git
|
11
|
+
CP := cp
|
12
|
+
B = master
|
13
|
+
V = neko
|
14
|
+
RSYNC = rsync -var
|
15
|
+
EMAILS = set-of-emails
|
16
|
+
|
17
|
+
|
18
|
+
.DEFAULT_GOAL = git-status
|
19
|
+
|
20
|
+
# -----------------------------------------------------------------------------
|
21
|
+
.PHONY: clean
|
22
|
+
|
23
|
+
git-status:
|
24
|
+
$(GIT) status
|
25
|
+
|
26
|
+
git-push:
|
27
|
+
@ for v in `$(GIT) remote show | grep -v origin`; do \
|
28
|
+
printf "[%s]\n" $$v; \
|
29
|
+
$(GIT) push --tags $$v $(B); \
|
30
|
+
done
|
31
|
+
|
32
|
+
git-tag-list:
|
33
|
+
$(GIT) tag -l
|
34
|
+
|
35
|
+
git-diff:
|
36
|
+
$(GIT) diff -w
|
37
|
+
|
38
|
+
git-branch:
|
39
|
+
$(GIT) branch -a
|
40
|
+
|
41
|
+
git-commit-amend:
|
42
|
+
$(GIT) commit --amend
|
43
|
+
|
44
|
+
git-follow-log:
|
45
|
+
$(GIT) log --follow -p $(V) || \
|
46
|
+
printf "\nUsage:\n %% make -f Repository.mk $@ V=<filename>\n"
|
47
|
+
|
48
|
+
git-branch-tree:
|
49
|
+
$(GIT) log --graph \
|
50
|
+
--pretty='format:%C(yellow)%h%Creset %s %Cgreen(%an)%Creset %Cred%d%Creset'
|
51
|
+
|
52
|
+
git-rm-cached:
|
53
|
+
$(GIT) rm -f --cached $(V) || \
|
54
|
+
printf "\nUsage:\n %% make -f Repository.mk $@ V=<filename>\n"
|
55
|
+
|
56
|
+
git-reset-soft:
|
57
|
+
$(GIT) reset --soft HEAD^
|
58
|
+
|
59
|
+
import-set-of-emails:
|
60
|
+
test -d $(EMAILS)
|
61
|
+
$(CP) -vRp ../$(EMAILS)/README.md $(EMAILS)/
|
62
|
+
$(RSYNC) ../$(EMAILS)/mailbox/ ./$(EMAILS)/mailbox/
|
63
|
+
$(RSYNC) ../$(EMAILS)/maildir/ ./$(EMAILS)/maildir/
|
64
|
+
$(RSYNC) ../$(EMAILS)/private/ ./$(EMAILS)/private/
|
65
|
+
$(RSYNC) ../$(EMAILS)/to-be-debugged-because/ ./$(EMAILS)/to-be-debugged-because/
|
66
|
+
$(RSYNC) ../$(EMAILS)/to-be-parsed-for-test/ ./$(EMAILS)/to-be-parsed-for-test/
|
67
|
+
|
68
|
+
clean:
|
69
|
+
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "sisimai"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start
|