sisimai 4.19.0-java → 4.20.0-java
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sisimai might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +1 -0
- data/ANALYTICAL-PRECISION +8 -6
- data/Changes +15 -0
- data/Developers.mk +13 -1
- data/Makefile +3 -3
- data/README-JA.md +35 -6
- data/README.md +44 -25
- data/Repository.mk +1 -1
- data/lib/sisimai.rb +92 -32
- data/lib/sisimai/address.rb +1 -1
- data/lib/sisimai/arf.rb +1 -1
- data/lib/sisimai/ced.rb +24 -0
- data/lib/sisimai/ced/us/amazonses.rb +270 -0
- data/lib/sisimai/ced/us/sendgrid.rb +86 -0
- data/lib/sisimai/data.rb +19 -4
- data/lib/sisimai/data/json.rb +4 -4
- data/lib/sisimai/data/yaml.rb +3 -2
- data/lib/sisimai/mail/maildir.rb +1 -1
- data/lib/sisimai/mail/mbox.rb +1 -1
- data/lib/sisimai/message.rb +43 -510
- data/lib/sisimai/message/email.rb +556 -0
- data/lib/sisimai/message/json.rb +201 -0
- data/lib/sisimai/msp.rb +4 -31
- data/lib/sisimai/msp/de/einsundeins.rb +1 -1
- data/lib/sisimai/msp/de/gmx.rb +1 -1
- data/lib/sisimai/msp/jp/biglobe.rb +1 -1
- data/lib/sisimai/msp/jp/ezweb.rb +1 -1
- data/lib/sisimai/msp/jp/kddi.rb +1 -1
- data/lib/sisimai/msp/ru/mailru.rb +1 -1
- data/lib/sisimai/msp/ru/yandex.rb +1 -1
- data/lib/sisimai/msp/uk/messagelabs.rb +1 -1
- data/lib/sisimai/msp/us/amazonses.rb +1 -1
- data/lib/sisimai/msp/us/amazonworkmail.rb +1 -1
- data/lib/sisimai/msp/us/aol.rb +1 -1
- data/lib/sisimai/msp/us/bigfoot.rb +1 -1
- data/lib/sisimai/msp/us/facebook.rb +1 -1
- data/lib/sisimai/msp/us/google.rb +1 -1
- data/lib/sisimai/msp/us/office365.rb +1 -1
- data/lib/sisimai/msp/us/outlook.rb +1 -1
- data/lib/sisimai/msp/us/receivingses.rb +1 -1
- data/lib/sisimai/msp/us/sendgrid.rb +1 -1
- data/lib/sisimai/msp/us/verizon.rb +1 -1
- data/lib/sisimai/msp/us/yahoo.rb +1 -1
- data/lib/sisimai/msp/us/zoho.rb +1 -1
- data/lib/sisimai/mta.rb +4 -32
- data/lib/sisimai/mta/activehunter.rb +1 -1
- data/lib/sisimai/mta/apachejames.rb +1 -1
- data/lib/sisimai/mta/courier.rb +1 -1
- data/lib/sisimai/mta/domino.rb +1 -1
- data/lib/sisimai/mta/exchange2003.rb +1 -1
- data/lib/sisimai/mta/exchange2007.rb +1 -1
- data/lib/sisimai/mta/exim.rb +1 -1
- data/lib/sisimai/mta/imailserver.rb +1 -1
- data/lib/sisimai/mta/interscanmss.rb +1 -1
- data/lib/sisimai/mta/mailfoundry.rb +1 -1
- data/lib/sisimai/mta/mailmarshalsmtp.rb +1 -1
- data/lib/sisimai/mta/mcafee.rb +1 -1
- data/lib/sisimai/mta/messagingserver.rb +1 -1
- data/lib/sisimai/mta/mfilter.rb +1 -1
- data/lib/sisimai/mta/mxlogic.rb +1 -1
- data/lib/sisimai/mta/notes.rb +1 -1
- data/lib/sisimai/mta/opensmtpd.rb +2 -2
- data/lib/sisimai/mta/postfix.rb +1 -1
- data/lib/sisimai/mta/qmail.rb +1 -1
- data/lib/sisimai/mta/sendmail.rb +2 -1
- data/lib/sisimai/mta/surfcontrol.rb +1 -1
- data/lib/sisimai/mta/userdefined.rb +1 -1
- data/lib/sisimai/mta/v5sendmail.rb +1 -1
- data/lib/sisimai/mta/x1.rb +1 -1
- data/lib/sisimai/mta/x2.rb +1 -1
- data/lib/sisimai/mta/x3.rb +1 -1
- data/lib/sisimai/mta/x4.rb +1 -1
- data/lib/sisimai/mta/x5.rb +1 -1
- data/lib/sisimai/order.rb +7 -216
- data/lib/sisimai/order/email.rb +231 -0
- data/lib/sisimai/order/json.rb +56 -0
- data/lib/sisimai/reason/hostunknown.rb +1 -0
- data/lib/sisimai/reason/norelaying.rb +2 -0
- data/lib/sisimai/reason/notaccept.rb +5 -1
- data/lib/sisimai/rfc3464.rb +1 -1
- data/lib/sisimai/skeleton.rb +43 -0
- data/lib/sisimai/smtp.rb +11 -48
- data/lib/sisimai/smtp/error.rb +3 -1
- data/lib/sisimai/string.rb +1 -0
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/jsonapi/ced-us-amazonses-01.json +1 -0
- data/set-of-emails/jsonapi/ced-us-amazonses-02.json +11 -0
- data/set-of-emails/jsonapi/ced-us-amazonses-03.json +1 -0
- data/set-of-emails/jsonapi/ced-us-amazonses-04.json +1 -0
- data/set-of-emails/jsonapi/ced-us-amazonses-05.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-01.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-02.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-03.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-04.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-05.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-06.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-07.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-08.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-09.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-10.json +1 -0
- data/set-of-emails/jsonapi/ced-us-sendgrid-11.json +1 -0
- data/set-of-emails/maildir/bsd/README.md +50 -50
- data/set-of-emails/maildir/bsd/ced-us-amazonses-01.eml +47 -0
- data/set-of-emails/maildir/bsd/ced-us-amazonses-02.eml +51 -0
- data/set-of-emails/maildir/bsd/ced-us-amazonses-03.eml +47 -0
- data/set-of-emails/maildir/bsd/ced-us-amazonses-04.eml +46 -0
- data/set-of-emails/maildir/bsd/ced-us-amazonses-05.eml +46 -0
- data/set-of-emails/maildir/bsd/{de-einsundeins-01.eml → msp-de-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{de-gmx-01.eml → msp-de-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{de-gmx-02.eml → msp-de-gmx-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{de-gmx-03.eml → msp-de-gmx-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{de-gmx-04.eml → msp-de-gmx-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-biglobe-01.eml → msp-jp-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-ezweb-01.eml → msp-jp-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-ezweb-02.eml → msp-jp-ezweb-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-ezweb-03.eml → msp-jp-ezweb-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-ezweb-04.eml → msp-jp-ezweb-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-ezweb-05.eml → msp-jp-ezweb-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-ezweb-06.eml → msp-jp-ezweb-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-kddi-01.eml → msp-jp-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-kddi-02.eml → msp-jp-kddi-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{jp-kddi-03.eml → msp-jp-kddi-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-mailru-01.eml → msp-ru-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-mailru-02.eml → msp-ru-mailru-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-mailru-03.eml → msp-ru-mailru-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-mailru-04.eml → msp-ru-mailru-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-yandex-01.eml → msp-ru-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-yandex-02.eml → msp-ru-yandex-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ru-yandex-03.eml → msp-ru-yandex-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{uk-messagelabs-01.eml → msp-uk-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-01.eml → msp-us-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-02.eml → msp-us-amazonses-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-03.eml → msp-us-amazonses-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-04.eml → msp-us-amazonses-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-05.eml → msp-us-amazonses-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-06.eml → msp-us-amazonses-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-07.eml → msp-us-amazonses-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonses-08.eml → msp-us-amazonses-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-01.eml → msp-us-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-02.eml → msp-us-amazonworkmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-03.eml → msp-us-amazonworkmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-04.eml → msp-us-amazonworkmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-05.eml → msp-us-amazonworkmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-06.eml → msp-us-amazonworkmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-amazonworkmail-07.eml → msp-us-amazonworkmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-aol-01.eml → msp-us-aol-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-aol-02.eml → msp-us-aol-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-aol-03.eml → msp-us-aol-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-aol-04.eml → msp-us-aol-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-bigfoot-01.eml → msp-us-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-facebook-01.eml → msp-us-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-facebook-02.eml → msp-us-facebook-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-01.eml → msp-us-google-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-02.eml → msp-us-google-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-03.eml → msp-us-google-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-04.eml → msp-us-google-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-05.eml → msp-us-google-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-06.eml → msp-us-google-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-07.eml → msp-us-google-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-08.eml → msp-us-google-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-09.eml → msp-us-google-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-10.eml → msp-us-google-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-11.eml → msp-us-google-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-12.eml → msp-us-google-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-13.eml → msp-us-google-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-14.eml → msp-us-google-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-15.eml → msp-us-google-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-16.eml → msp-us-google-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-google-17.eml → msp-us-google-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-office365-01.eml → msp-us-office365-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-office365-02.eml → msp-us-office365-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-01.eml → msp-us-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-02.eml → msp-us-outlook-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-03.eml → msp-us-outlook-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-04.eml → msp-us-outlook-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-05.eml → msp-us-outlook-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-06.eml → msp-us-outlook-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-outlook-07.eml → msp-us-outlook-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-01.eml → msp-us-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-02.eml → msp-us-receivingses-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-03.eml → msp-us-receivingses-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-04.eml → msp-us-receivingses-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-05.eml → msp-us-receivingses-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-06.eml → msp-us-receivingses-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-receivingses-07.eml → msp-us-receivingses-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-sendgrid-01.eml → msp-us-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-sendgrid-02.eml → msp-us-sendgrid-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-sendgrid-03.eml → msp-us-sendgrid-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-verizon-01.eml → msp-us-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/msp-us-verizon-02.eml +46 -0
- data/set-of-emails/maildir/bsd/{us-yahoo-01.eml → msp-us-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-yahoo-02.eml → msp-us-yahoo-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-yahoo-03.eml → msp-us-yahoo-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-yahoo-04.eml → msp-us-yahoo-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-yahoo-05.eml → msp-us-yahoo-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-zoho-01.eml → msp-us-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-zoho-02.eml → msp-us-zoho-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-zoho-03.eml → msp-us-zoho-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-zoho-04.eml → msp-us-zoho-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{us-zoho-05.eml → msp-us-zoho-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/mta-README.md +319 -0
- data/set-of-emails/maildir/bsd/{activehunter-01.eml → mta-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{activehunter-02.eml → mta-activehunter-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{apachejames-01.eml → mta-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{courier-01.eml → mta-courier-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{courier-02.eml → mta-courier-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{courier-03.eml → mta-courier-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{courier-04.eml → mta-courier-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{domino-01.eml → mta-domino-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{domino-02.eml → mta-domino-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2003-01.eml → mta-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2003-02.eml → mta-exchange2003-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2003-03.eml → mta-exchange2003-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2003-04.eml → mta-exchange2003-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2003-05.eml → mta-exchange2003-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2003-06.eml → mta-exchange2003-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2007-01.eml → mta-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2007-02.eml → mta-exchange2007-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange2007-03.eml → mta-exchange2007-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-01.eml → mta-exim-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-02.eml → mta-exim-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-03.eml → mta-exim-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-04.eml → mta-exim-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-05.eml → mta-exim-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-06.eml → mta-exim-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-07.eml → mta-exim-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-08.eml → mta-exim-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-09.eml → mta-exim-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-10.eml → mta-exim-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-11.eml → mta-exim-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-12.eml → mta-exim-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-13.eml → mta-exim-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-14.eml → mta-exim-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-15.eml → mta-exim-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-16.eml → mta-exim-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-17.eml → mta-exim-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-18.eml → mta-exim-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-19.eml → mta-exim-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-20.eml → mta-exim-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-21.eml → mta-exim-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-22.eml → mta-exim-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-23.eml → mta-exim-23.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-24.eml → mta-exim-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-25.eml → mta-exim-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-26.eml → mta-exim-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-27.eml → mta-exim-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-28.eml → mta-exim-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exim-29.eml → mta-exim-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{imailserver-01.eml → mta-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{imailserver-02.eml → mta-imailserver-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{imailserver-03.eml → mta-imailserver-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{imailserver-04.eml → mta-imailserver-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{imailserver-05.eml → mta-imailserver-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{imailserver-06.eml → mta-imailserver-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{interscanmss-01.eml → mta-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{interscanmss-02.eml → mta-interscanmss-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mailfoundry-01.eml → mta-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mailfoundry-02.eml → mta-mailfoundry-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mailmarshalsmtp-01.eml → mta-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mcafee-01.eml → mta-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mcafee-02.eml → mta-mcafee-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mcafee-03.eml → mta-mcafee-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-01.eml → mta-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-02.eml → mta-messagingserver-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-03.eml → mta-messagingserver-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-04.eml → mta-messagingserver-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-05.eml → mta-messagingserver-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-06.eml → mta-messagingserver-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{messagingserver-07.eml → mta-messagingserver-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mfilter-01.eml → mta-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mfilter-02.eml → mta-mfilter-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mfilter-03.eml → mta-mfilter-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mxlogic-01.eml → mta-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mxlogic-02.eml → mta-mxlogic-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mxlogic-03.eml → mta-mxlogic-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{notes-01.eml → mta-notes-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{notes-02.eml → mta-notes-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{notes-03.eml → mta-notes-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{notes-04.eml → mta-notes-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{opensmtpd-01.eml → mta-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{opensmtpd-02.eml → mta-opensmtpd-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{opensmtpd-03.eml → mta-opensmtpd-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{opensmtpd-04.eml → mta-opensmtpd-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{opensmtpd-05.eml → mta-opensmtpd-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/mta-opensmtpd-06.eml +67 -0
- data/set-of-emails/maildir/bsd/{postfix-01.eml → mta-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-02.eml → mta-postfix-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-03.eml → mta-postfix-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-04.eml → mta-postfix-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-05.eml → mta-postfix-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-06.eml → mta-postfix-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-07.eml → mta-postfix-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-08.eml → mta-postfix-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-09.eml → mta-postfix-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-10.eml → mta-postfix-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-11.eml → mta-postfix-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-12.eml → mta-postfix-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-13.eml → mta-postfix-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-14.eml → mta-postfix-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-15.eml → mta-postfix-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-16.eml → mta-postfix-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-17.eml → mta-postfix-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-18.eml → mta-postfix-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-19.eml → mta-postfix-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-20.eml → mta-postfix-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-21.eml → mta-postfix-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-22.eml → mta-postfix-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-23.eml → mta-postfix-23.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-24.eml → mta-postfix-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-25.eml → mta-postfix-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-26.eml → mta-postfix-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{postfix-27.eml → mta-postfix-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-01.eml → mta-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-02.eml → mta-qmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-03.eml → mta-qmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-04.eml → mta-qmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-05.eml → mta-qmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-06.eml → mta-qmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-07.eml → mta-qmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-08.eml → mta-qmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-09.eml → mta-qmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-10.eml → mta-qmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-11.eml → mta-qmail-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{qmail-12.eml → mta-qmail-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-01.eml → mta-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-02.eml → mta-sendmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-03.eml → mta-sendmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-04.eml → mta-sendmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-05.eml → mta-sendmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-06.eml → mta-sendmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-07.eml → mta-sendmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-08.eml → mta-sendmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-09.eml → mta-sendmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-10.eml → mta-sendmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-11.eml → mta-sendmail-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-12.eml → mta-sendmail-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-13.eml → mta-sendmail-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-14.eml → mta-sendmail-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-15.eml → mta-sendmail-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-16.eml → mta-sendmail-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-17.eml → mta-sendmail-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-18.eml → mta-sendmail-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-19.eml → mta-sendmail-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-20.eml → mta-sendmail-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-21.eml → mta-sendmail-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-22.eml → mta-sendmail-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-23.eml → mta-sendmail-23.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-24.eml → mta-sendmail-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-25.eml → mta-sendmail-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-26.eml → mta-sendmail-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-27.eml → mta-sendmail-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-28.eml → mta-sendmail-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-29.eml → mta-sendmail-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-30.eml → mta-sendmail-30.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-31.eml → mta-sendmail-31.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-32.eml → mta-sendmail-32.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-33.eml → mta-sendmail-33.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-34.eml → mta-sendmail-34.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-35.eml → mta-sendmail-35.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-36.eml → mta-sendmail-36.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-37.eml → mta-sendmail-37.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-38.eml → mta-sendmail-38.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-39.eml → mta-sendmail-39.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-40.eml → mta-sendmail-40.eml} +0 -0
- data/set-of-emails/maildir/bsd/{sendmail-41.eml → mta-sendmail-41.eml} +0 -0
- data/set-of-emails/maildir/bsd/mta-sendmail-42.eml +64 -0
- data/set-of-emails/maildir/bsd/{surfcontrol-01.eml → mta-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{surfcontrol-02.eml → mta-surfcontrol-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{surfcontrol-03.eml → mta-surfcontrol-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-01.eml → mta-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-02.eml → mta-v5sendmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-03.eml → mta-v5sendmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-04.eml → mta-v5sendmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-05.eml → mta-v5sendmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-06.eml → mta-v5sendmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{v5sendmail-07.eml → mta-v5sendmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x1-01.eml → mta-x1-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x1-02.eml → mta-x1-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x2-01.eml → mta-x2-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x2-02.eml → mta-x2-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x2-03.eml → mta-x2-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x2-04.eml → mta-x2-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x2-05.eml → mta-x2-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x3-01.eml → mta-x3-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x3-02.eml → mta-x3-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x3-03.eml → mta-x3-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x3-04.eml → mta-x3-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-01.eml → mta-x4-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-02.eml → mta-x4-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-03.eml → mta-x4-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-04.eml → mta-x4-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-05.eml → mta-x4-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-06.eml → mta-x4-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x4-07.eml → mta-x4-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{x5-01.eml → mta-x5-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{exchange-online-01.eml → rhost-exchange-online-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{google-apps-01.eml → rhost-google-apps-01.eml} +0 -0
- data/set-of-emails/maildir/dos/ced-us-amazonses-01.eml +47 -0
- data/set-of-emails/maildir/dos/{de-einsundeins-01.eml → msp-de-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{de-gmx-01.eml → msp-de-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{jp-biglobe-01.eml → msp-jp-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{jp-ezweb-01.eml → msp-jp-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{jp-kddi-01.eml → msp-jp-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{ru-mailru-01.eml → msp-ru-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{ru-yandex-01.eml → msp-ru-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{uk-messagelabs-01.eml → msp-uk-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-amazonses-01.eml → msp-us-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-amazonworkmail-01.eml → msp-us-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-aol-01.eml → msp-us-aol-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-bigfoot-01.eml → msp-us-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-facebook-01.eml → msp-us-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-google-01.eml → msp-us-google-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-office365-01.eml → msp-us-office365-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-outlook-01.eml → msp-us-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-receivingses-01.eml → msp-us-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-sendgrid-01.eml → msp-us-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-verizon-01.eml → msp-us-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-yahoo-01.eml → msp-us-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{us-zoho-01.eml → msp-us-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{activehunter-01.eml → mta-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{apachejames-01.eml → mta-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{courier-01.eml → mta-courier-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{domino-01.eml → mta-domino-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{exchange-01.eml → mta-exchange-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{exchange2003-01.eml → mta-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{exchange2007-01.eml → mta-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{exim-01.eml → mta-exim-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{imailserver-01.eml → mta-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{interscanmss-01.eml → mta-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mailfoundry-01.eml → mta-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mailmarshalsmtp-01.eml → mta-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mcafee-01.eml → mta-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{messagingserver-01.eml → mta-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mfilter-01.eml → mta-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mxlogic-01.eml → mta-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{notes-01.eml → mta-notes-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{opensmtpd-01.eml → mta-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{postfix-01.eml → mta-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{qmail-01.eml → mta-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{sendmail-01.eml → mta-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{surfcontrol-01.eml → mta-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{v5sendmail-01.eml → mta-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{x1-01.eml → mta-x1-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{x2-01.eml → mta-x2-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{x3-01.eml → mta-x3-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{x4-01.eml → mta-x4-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{x5-01.eml → mta-x5-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{exchange-online-01.eml → rhost-exchange-online-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{google-apps-01.eml → rhost-google-apps-01.eml} +0 -0
- data/set-of-emails/maildir/mac/ced-us-amazonses-01.eml +1 -1
- data/set-of-emails/maildir/mac/{de-einsundeins-01.eml → msp-de-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{de-gmx-01.eml → msp-de-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{jp-biglobe-01.eml → msp-jp-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{jp-ezweb-01.eml → msp-jp-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{jp-kddi-01.eml → msp-jp-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{ru-mailru-01.eml → msp-ru-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{ru-yandex-01.eml → msp-ru-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{uk-messagelabs-01.eml → msp-uk-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-amazonses-01.eml → msp-us-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-amazonworkmail-01.eml → msp-us-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-aol-01.eml → msp-us-aol-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-bigfoot-01.eml → msp-us-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-facebook-01.eml → msp-us-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-google-01.eml → msp-us-google-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-office365-01.eml → msp-us-office365-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-outlook-01.eml → msp-us-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-receivingses-01.eml → msp-us-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-sendgrid-01.eml → msp-us-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-verizon-01.eml → msp-us-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-yahoo-01.eml → msp-us-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{us-zoho-01.eml → msp-us-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{activehunter-01.eml → mta-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{apachejames-01.eml → mta-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{courier-01.eml → mta-courier-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{domino-01.eml → mta-domino-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{exchange-01.eml → mta-exchange-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{exchange2003-01.eml → mta-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{exchange2007-01.eml → mta-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{exim-01.eml → mta-exim-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{imailserver-01.eml → mta-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{interscanmss-01.eml → mta-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mailfoundry-01.eml → mta-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mailmarshalsmtp-01.eml → mta-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mcafee-01.eml → mta-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{messagingserver-01.eml → mta-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mfilter-01.eml → mta-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mxlogic-01.eml → mta-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{notes-01.eml → mta-notes-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{opensmtpd-01.eml → mta-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{postfix-01.eml → mta-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{qmail-01.eml → mta-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{sendmail-01.eml → mta-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{surfcontrol-01.eml → mta-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{v5sendmail-01.eml → mta-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{x1-01.eml → mta-x1-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{x2-01.eml → mta-x2-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{x3-01.eml → mta-x3-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{x4-01.eml → mta-x4-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{x5-01.eml → mta-x5-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{exchange-online-01.eml → rhost-exchange-online-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{google-apps-01.eml → rhost-google-apps-01.eml} +0 -0
- metadata +444 -408
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4aa57e1cf8c2d9527a687e5d7898a45c7614fd26
|
4
|
+
data.tar.gz: 2f1e6693b52cce3ea971bc63bc473929c7f1bd8f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f6e3a09494458a23b719264207ff0a77c283578a4fcb4452d9f1446f6f2c2311639014033452d2a6bfb28ff4e482bd905d7f13b3faf47460cd17a6478190bb69
|
7
|
+
data.tar.gz: 6a6ccffbf4f81b16fc547a6cb0f129161bab038d4e3bc0c15512f9d816593191eda91f6f714b052a9a2493ad726af5872db74aa7feb9ce721e9d1ae9d9e003ee
|
data/.travis.yml
CHANGED
data/ANALYTICAL-PRECISION
CHANGED
@@ -16,9 +16,9 @@ MTA::MailMarshalSMTP .... 0/0003 0.0000 Trustwave Secure Email Gateway
|
|
16
16
|
MTA::McAfee ............. 0/0010 0.0000 McAfee Email Appliance
|
17
17
|
MTA::MessagingServer .... 19/0022 0.8636 Oracle Communications Messaging Server
|
18
18
|
MTA::Notes .............. 0/0012 0.0000 Lotus Notes
|
19
|
-
MTA::OpenSMTPD ..........
|
19
|
+
MTA::OpenSMTPD .......... 6/0024 0.2500 OpenSMTPD
|
20
20
|
MTA::Postfix ............ 171/0189 0.9048 Postfix
|
21
|
-
MTA::Sendmail ...........
|
21
|
+
MTA::Sendmail ........... 332/0255 1.0000 V8Sendmail: /usr/sbin/sendmail
|
22
22
|
MTA::SurfControl ........ 6/0008 0.7500 WebSense SurfControl
|
23
23
|
MTA::V5sendmail ......... 0/0386 0.0000 Sendmail version 5
|
24
24
|
MTA::X1 ................. 0/0007 0.0000 Unknown MTA #1
|
@@ -46,12 +46,14 @@ MSP::US::Office365 ...... 8/0011 0.7273 Microsoft Office 365: http://office
|
|
46
46
|
MSP::US::Outlook ........ 19/0021 0.9048 Microsoft Outlook.com: https://www.outlook.com/
|
47
47
|
MSP::US::ReceivingSES ... 0/0007 0.0000 Amazon SES(Receiving): http://aws.amazon.com/ses/
|
48
48
|
MSP::US::SendGrid ....... 7/0012 0.5833 SendGrid: http://sendgrid.com/
|
49
|
-
MSP::US::Verizon ........
|
49
|
+
MSP::US::Verizon ........ 4/0004 1.0000 Verizon Wireless: http://www.verizonwireless.com
|
50
50
|
MSP::US::Yahoo .......... 0/0009 0.0000 Yahoo! MAIL: https://www.yahoo.com
|
51
51
|
MSP::US::Zoho ........... 0/0011 0.0000 Zoho Mail: https://www.zoho.com
|
52
|
+
CED::US::AmazonSES ...... 0/0009 0.0000 Amazon SES(JSON): http://aws.amazon.com/ses/
|
53
|
+
CED::US::SendGrid ....... 0/0000 1.0000 SendGrid(JSON): http://sendgrid.com/
|
52
54
|
ARF ..................... 9/0050 0.1800 Abuse Feedback Reporting Format
|
53
|
-
RFC3464 ................. 136/
|
55
|
+
RFC3464 ................. 136/0278 0.4892 Fallback Module for MTAs
|
54
56
|
RFC3834 ................. 0/0006 0.0000 Detector for auto replied message
|
55
57
|
-------------------------------------------------------------------------------
|
56
|
-
bounceHammer 2.7.13p3
|
57
|
-
Sisimai 4.
|
58
|
+
bounceHammer 2.7.13p3 1204/2192 0.5493
|
59
|
+
Sisimai 4.20.0 2192/2192 1.0000
|
data/Changes
CHANGED
@@ -1,5 +1,20 @@
|
|
1
1
|
Revision history for Ruby version of Sisimai
|
2
2
|
|
3
|
+
4.20.0 Sat, 31 Dec 2016 13:36:22 +0900 (JST)
|
4
|
+
- Experimental implementation: New MTA modules for 2 Cloud Email Deliveries,
|
5
|
+
Sisimai::CED::US::AmazonSES and Sisimai::CED::US::SendGrid. These modules
|
6
|
+
can parse JSON formatted bounce objects and can convert to Sisimai::Data
|
7
|
+
object.
|
8
|
+
- Format of "smtpagent" in the parsed result has been changed. It includes
|
9
|
+
the category name of MTA/MSP modules like "MTA::Sendmail", "MTA::Exim",
|
10
|
+
and "MSP::US::SendGrid".
|
11
|
+
- The Domain part of dummy email address defined in Sisimai::Address module
|
12
|
+
has been changed from "dummy-domain.invalid" to "libsisimai.org.invalid".
|
13
|
+
- Sisimai::SMTP.is_softbounce() method has been deleted.
|
14
|
+
- Improved code for avoid "Invalid byte sequence in UTF-8 (ArgumentError)"
|
15
|
+
error in Sisimai::String.to_plain method reported from M.R.
|
16
|
+
- Sisimai works on Ruby 2.4.0.
|
17
|
+
|
3
18
|
4.19.0 Tue, 18 Oct 2016 14:19:10 +0900 (JST)
|
4
19
|
- Implement a callback feature at Sisimai.make and Sisimai.dump methods.
|
5
20
|
More imformation about the feature are available at the following pages:
|
data/Developers.mk
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
SHELL := /bin/sh
|
10
10
|
HERE := $(shell pwd)
|
11
11
|
NAME := Sisimai
|
12
|
-
RUBY
|
12
|
+
RUBY ?= ruby
|
13
13
|
MKDIR := mkdir -p
|
14
14
|
LS := ls -1
|
15
15
|
CP := cp
|
@@ -21,6 +21,7 @@ PERL_SISIMAI := p5-Sisimai
|
|
21
21
|
PRECISIONTAB := ANALYTICAL-PRECISION
|
22
22
|
BENCHMARKDIR := tmp/benchmark
|
23
23
|
PARSERLOGDIR := var/log
|
24
|
+
CEDMODULEDIR := lib/sisimai/ced
|
24
25
|
MTAMODULEDIR := lib/sisimai/mta
|
25
26
|
MSPMODULEDIR := lib/sisimai/msp
|
26
27
|
MTARELATIVES := ARF rfc3464 rfc3834
|
@@ -28,11 +29,13 @@ EMAIL_PARSER := sbin/emparser
|
|
28
29
|
BENCHMARKEMP := sbin/mp
|
29
30
|
VELOCITYTEST := tmp/emails-for-velocity-measurement
|
30
31
|
BENCHMARKSET := tmp/sample
|
32
|
+
|
31
33
|
SET_OF_EMAIL := set-of-emails
|
32
34
|
PRIVATEMAILS := $(SET_OF_EMAIL)/private
|
33
35
|
PUBLICEMAILS := $(SET_OF_EMAIL)/maildir/bsd
|
34
36
|
DOSFORMATSET := $(SET_OF_EMAIL)/maildir/dos
|
35
37
|
MACFORMATSET := $(SET_OF_EMAIL)/maildir/mac
|
38
|
+
|
36
39
|
INDEX_LENGTH := 24
|
37
40
|
DESCR_LENGTH := 48
|
38
41
|
BH_CAN_PARSE := courier exim messagingserver postfix sendmail surfcontrol x5 \
|
@@ -74,6 +77,15 @@ sample:
|
|
74
77
|
$(CP) $(PRIVATEMAILS)/$$DIR-$$MSP/* $(BENCHMARKSET)/$$DIR-$$MSP/ ;\
|
75
78
|
done ;\
|
76
79
|
done
|
80
|
+
for c in `$(LS) ./$(CEDMODULEDIR)`; do \
|
81
|
+
for v in `$(LS) ./$(CEDMODULEDIR)/$$c/*.rb`; do \
|
82
|
+
DIR=`echo $$c | tr '[A-Z]' '[a-z]' | tr -d '/'` ;\
|
83
|
+
CED="`echo $$v | cut -d/ -f6 | tr '[A-Z]' '[a-z]' | sed 's/.rb//g'`" ;\
|
84
|
+
$(MKDIR) $(BENCHMARKSET)/$$DIR-$$CED ;\
|
85
|
+
$(CP) $(PUBLICEMAILS)/$$DIR-$$CED-*.eml $(BENCHMARKSET)/$$DIR-$$CED/ ;\
|
86
|
+
$(CP) $(PRIVATEMAILS)/$$DIR-$$CED/* $(BENCHMARKSET)/$$DIR-$$CED/ ;\
|
87
|
+
done ;\
|
88
|
+
done
|
77
89
|
for v in arf rfc3464 rfc3834; do \
|
78
90
|
$(MKDIR) $(BENCHMARKSET)/$$v ;\
|
79
91
|
$(CP) $(PUBLICEMAILS)/$$v*.eml $(BENCHMARKSET)/$$v/ ;\
|
data/Makefile
CHANGED
data/README-JA.md
CHANGED
@@ -97,7 +97,7 @@ v = Sisimai.make('/path/to/mbox') # or path to Maildir/
|
|
97
97
|
# option to make() method like the following:
|
98
98
|
v = Sisimai.make('/path/to/mbox', delivered: true)
|
99
99
|
|
100
|
-
|
100
|
+
if v.is_a? Array
|
101
101
|
v.each do |e|
|
102
102
|
puts e.class # Sisimai::Data
|
103
103
|
puts e.recipient.class # Sisimai::Address
|
@@ -123,9 +123,28 @@ puts Sisimai.dump('/path/to/mbox') # or path to Maildir/
|
|
123
123
|
puts Sisimai.dump('/path/to/mbox', delivered: true)
|
124
124
|
```
|
125
125
|
|
126
|
-
|
127
|
-
|
126
|
+
バウンスオブジェクト(JSON)を読む
|
127
|
+
--------------------------------
|
128
|
+
メール配信クラウドからAPIで取得したバウンスオブジェクト(JSON)を読んで解析する
|
129
|
+
場合は、次のようなコードを書いてください。この機能はSisimai v4.20.0で実装され
|
130
|
+
ました。
|
131
|
+
|
132
|
+
```ruby
|
133
|
+
#! /usr/bin/env ruby
|
134
|
+
require 'json'
|
135
|
+
require 'sisimai'
|
136
|
+
|
137
|
+
j = JSON.load('{"notificationType"=>"Bounce", "bounce"=>{"...') # JSON String
|
138
|
+
v = Sisimai.make(j, input: 'json')
|
139
|
+
|
140
|
+
if v.is_a? Array
|
141
|
+
v.each do |e|
|
142
|
+
...
|
143
|
+
end
|
144
|
+
end
|
128
145
|
```
|
146
|
+
現時点ではAmazon SESとSendGridのみをサポートしています。
|
147
|
+
|
129
148
|
|
130
149
|
コールバック機能
|
131
150
|
----------------
|
@@ -163,6 +182,15 @@ puts data[0].catch['x-mailer'] # Apple Mail (2.1283)
|
|
163
182
|
% ruby -rsisimai -e 'puts Sisimai.dump($*.shift)' /path/to/mbox
|
164
183
|
```
|
165
184
|
|
185
|
+
解析結果の例(JSON)
|
186
|
+
------------------
|
187
|
+
```json
|
188
|
+
[{"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"}]
|
189
|
+
```
|
190
|
+
|
191
|
+
シシマイの仕様
|
192
|
+
==============
|
193
|
+
|
166
194
|
Perl版Sisimaiとの違い
|
167
195
|
---------------------
|
168
196
|
公開中のPerl版Sisimai(p5-Sisimai)とRuby版Sisimai(rb-Sisimai)は下記のような違いが
|
@@ -171,14 +199,14 @@ Perl版Sisimaiとの違い
|
|
171
199
|
|
172
200
|
| 機能 | Ruby version | Perl version |
|
173
201
|
|---------------------------------------------|----------------|---------------|
|
174
|
-
| 動作環境 | Ruby 2.1-2.
|
202
|
+
| 動作環境 | Ruby 2.1 - 2.4 | Perl 5.10 - |
|
175
203
|
| | JRuby 9.0.4.0- | |
|
176
204
|
| 解析精度の割合(2000通のメール)[1] | 1.00 | 1.00 |
|
177
205
|
| メール解析速度(1000通のメール) | 3.30秒 | 2.33秒 |
|
178
206
|
| インストール方法 | gem install | cpanm |
|
179
207
|
| 依存モジュール数(コアモジュールを除く) | 1モジュール | 2モジュール |
|
180
|
-
| LOC:ソースコードの行数 |
|
181
|
-
| テスト件数(spec/,t/,xt/ディレクトリ) |
|
208
|
+
| LOC:ソースコードの行数 | 12200行 | 8800行 |
|
209
|
+
| テスト件数(spec/,t/,xt/ディレクトリ) | 106600件 | 188000件 |
|
182
210
|
| ライセンス | 二条項BSD | 二条項BSD |
|
183
211
|
| 開発会社によるサポート契約 | 準備中 | 提供中 |
|
184
212
|
|
@@ -292,6 +320,7 @@ Sisimaiは下記のエラー27種を検出します。バウンス理由につ
|
|
292
320
|
| action | Action:ヘッダの値 |
|
293
321
|
| addresser | 送信者のアドレス |
|
294
322
|
| alias | 受信者アドレスのエイリアス |
|
323
|
+
| catch | 引数に指定したフックメソッドが返すデータ |
|
295
324
|
| destination | "recipient"のドメイン部分 |
|
296
325
|
| deliverystatus | 配信状態(DSN)の値(例: 5.1.1, 4.4.7) |
|
297
326
|
| diagnosticcode | エラーメッセージ |
|
data/README.md
CHANGED
@@ -24,6 +24,7 @@ Key Features
|
|
24
24
|
* 2 times higher than bounceHammer
|
25
25
|
* Support 22 known MTAs and 5 unknown MTAs
|
26
26
|
* Support 21 major MSPs(Mail Service Providers)
|
27
|
+
* Support 2 major Cloud Email Delivery Services(JSON format)
|
27
28
|
* Support Feedback Loop Message(ARF)
|
28
29
|
* Can detect 27 error reasons
|
29
30
|
|
@@ -46,10 +47,10 @@ Install
|
|
46
47
|
|
47
48
|
```shell
|
48
49
|
% sudo gem install sisimai
|
49
|
-
Fetching: sisimai-4.
|
50
|
-
Successfully installed sisimai-4.
|
51
|
-
Parsing documentation for sisimai-4.
|
52
|
-
Installing ri documentation for sisimai-4.
|
50
|
+
Fetching: sisimai-4.20.0.gem (100%)
|
51
|
+
Successfully installed sisimai-4.20.0
|
52
|
+
Parsing documentation for sisimai-4.20.0
|
53
|
+
Installing ri documentation for sisimai-4.20.0
|
53
54
|
Done installing documentation for sisimai after 6 seconds
|
54
55
|
1 gem installed
|
55
56
|
```
|
@@ -62,22 +63,11 @@ Done installing documentation for sisimai after 6 seconds
|
|
62
63
|
% cd ./rb-Sisimai
|
63
64
|
% sudo make depend install-from-local
|
64
65
|
gem install bundle rake rspec coveralls
|
65
|
-
|
66
|
-
Parsing documentation for bundle-0.0.1
|
67
|
-
Done installing documentation for bundle after 0 seconds
|
68
|
-
Successfully installed rake-10.5.0
|
69
|
-
Parsing documentation for rake-10.5.0
|
70
|
-
Done installing documentation for rake after 1 seconds
|
71
|
-
Successfully installed rspec-3.4.0
|
72
|
-
Parsing documentation for rspec-3.4.0
|
73
|
-
Done installing documentation for rspec after 0 seconds
|
74
|
-
Successfully installed coveralls-0.8.10
|
75
|
-
Parsing documentation for coveralls-0.8.10
|
76
|
-
Done installing documentation for coveralls after 0 seconds
|
66
|
+
...
|
77
67
|
4 gems installed
|
78
68
|
bundle exec rake install
|
79
|
-
sisimai 4.
|
80
|
-
sisimai (4.
|
69
|
+
sisimai 4.20.0 built to pkg/sisimai-4.20.0.gem.
|
70
|
+
sisimai (4.20.0) installed.
|
81
71
|
```
|
82
72
|
|
83
73
|
Usage
|
@@ -96,7 +86,7 @@ v = Sisimai.make('/path/to/mbox') # or path to Maildir/
|
|
96
86
|
# option to make() method like the following:
|
97
87
|
v = Sisimai.make('/path/to/mbox', delivered: true)
|
98
88
|
|
99
|
-
|
89
|
+
if v.is_a? Array
|
100
90
|
v.each do |e|
|
101
91
|
puts e.class # Sisimai::Data
|
102
92
|
puts e.recipient.class # Sisimai::Address
|
@@ -122,9 +112,27 @@ puts Sisimai.dump('/path/to/mbox') # or path to Maildir/
|
|
122
112
|
puts Sisimai.dump('/path/to/mbox', delivered: true)
|
123
113
|
```
|
124
114
|
|
125
|
-
|
126
|
-
|
115
|
+
Read bounce object(JSON)
|
116
|
+
------------------------
|
117
|
+
The way to read a bounce object retrived from Cloud Email Services as JSON using
|
118
|
+
their API is the following code. This feature is available at Sisimai 4.20.0 or
|
119
|
+
later.
|
120
|
+
|
121
|
+
```ruby
|
122
|
+
#! /usr/bin/env ruby
|
123
|
+
require 'json'
|
124
|
+
require 'sisimai'
|
125
|
+
|
126
|
+
j = JSON.load('{"notificationType"=>"Bounce", "bounce"=>{"...') # JSON String
|
127
|
+
v = Sisimai.make(j, input: 'json')
|
128
|
+
|
129
|
+
if v.is_a? Array
|
130
|
+
v.each do |e|
|
131
|
+
...
|
132
|
+
end
|
133
|
+
end
|
127
134
|
```
|
135
|
+
As of present, Only Amazon SES and SendGrid are supported.
|
128
136
|
|
129
137
|
Callback Feature
|
130
138
|
----------------
|
@@ -154,7 +162,6 @@ More information about the callback feature is available at
|
|
154
162
|
[Sisimai | How To Parse - Callback](http://libsisimai.org/en/usage/#callback)
|
155
163
|
Page.
|
156
164
|
|
157
|
-
|
158
165
|
One-Liner
|
159
166
|
---------
|
160
167
|
|
@@ -162,6 +169,15 @@ One-Liner
|
|
162
169
|
% ruby -rsisimai -e 'puts Sisimai.dump($*.shift)' /path/to/mbox
|
163
170
|
```
|
164
171
|
|
172
|
+
Parsed results as JSON
|
173
|
+
----------------------
|
174
|
+
```json
|
175
|
+
[{"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"}]
|
176
|
+
```
|
177
|
+
|
178
|
+
Sisimai Specification
|
179
|
+
=====================
|
180
|
+
|
165
181
|
Differences between Perl version and Ruby version
|
166
182
|
-------------------------------------------------
|
167
183
|
The following table show the differences between Perl version of Sisimai
|
@@ -171,14 +187,14 @@ and bounceHammer are available at
|
|
171
187
|
|
172
188
|
| Features | Ruby version | Perl version |
|
173
189
|
|---------------------------------------------|----------------|---------------|
|
174
|
-
| System requirements | Ruby 2.1-2.
|
190
|
+
| System requirements | Ruby 2.1 - 2.4 | Perl 5.10 - |
|
175
191
|
| | JRuby 9.0.4.0- | |
|
176
192
|
| Analytical precision ratio(2000 emails)[1] | 1.00 | 1.00 |
|
177
193
|
| The speed of parsing email(1000 emails) | 3.30s | 2.33s |
|
178
194
|
| How to install | gem install | cpanm |
|
179
195
|
| Dependencies (Except core modules) | 1 module | 2 modules |
|
180
|
-
| LOC:Source lines of code |
|
181
|
-
| The number of tests(spec/,t/,xt/) directory |
|
196
|
+
| LOC:Source lines of code | 12200 lines | 8800 lines |
|
197
|
+
| The number of tests(spec/,t/,xt/) directory | 106400 tests | 188000 tests |
|
182
198
|
| License | BSD 2-Clause | BSD 2-Clause |
|
183
199
|
| Support Contract provided by Developer | Coming soon | Available |
|
184
200
|
|
@@ -240,6 +256,8 @@ details about these modules are available at
|
|
240
256
|
| MSP::US::Verizon | Verizon Wireless: http://www.verizonwireless.com |
|
241
257
|
| MSP::US::Yahoo | Yahoo! MAIL: https://www.yahoo.com |
|
242
258
|
| MSP::US::Zoho | Zoho Mail: https://www.zoho.com |
|
259
|
+
| CED::US::AmazonSES | AmazonSES(JSON): http://aws.amazon.com/ses/ |
|
260
|
+
| CED::US::SendGrid | SendGrid(JSON): http://sendgrid.com/ |
|
243
261
|
| ARF | Abuse Feedback Reporting Format |
|
244
262
|
| RFC3464 | Fallback Module for MTAs |
|
245
263
|
| RFC3834 | Detector for auto replied message |
|
@@ -293,6 +311,7 @@ More details about data structure are available at available at
|
|
293
311
|
| action | The value of Action: header |
|
294
312
|
| addresser | The sender's email address (From:) |
|
295
313
|
| alias | Alias of the recipient |
|
314
|
+
| catch | Data returned from a hook mehotd |
|
296
315
|
| destination | The domain part of the "recipinet" |
|
297
316
|
| deliverystatus | Delivery Status(DSN), ex) 5.1.1, 4.4.7 |
|
298
317
|
| diagnosticcode | Error message |
|
data/Repository.mk
CHANGED
data/lib/sisimai.rb
CHANGED
@@ -13,49 +13,109 @@ module Sisimai
|
|
13
13
|
def libname(); return 'Sisimai'; end
|
14
14
|
|
15
15
|
# Wrapper method for parsing mailbox/maidir
|
16
|
-
# @param [String]
|
17
|
-
# @param [Hash]
|
18
|
-
# @
|
19
|
-
# @
|
16
|
+
# @param [String] argv0 Path to mbox or Maildir/
|
17
|
+
# @param [Hash] argv0 or Hash (decoded JSON)
|
18
|
+
# @param [IO] argv0 or STDIN object
|
19
|
+
# @param [Hash] argv1 Parser options(delivered=false)
|
20
|
+
# @options argv1 [Boolean] delivered true: Include "delivered" reason
|
21
|
+
# @options argv1 [Lambda] hook Lambda object to be called back
|
22
|
+
# @options argv1 [String] input Input data format: 'email', 'json'
|
20
23
|
# @return [Array] Parsed objects
|
21
24
|
# @return [nil] nil if the argument was wrong or an empty array
|
22
|
-
def make(
|
23
|
-
return nil unless
|
25
|
+
def make(argv0, **argv1)
|
26
|
+
return nil unless argv0
|
24
27
|
|
25
|
-
require 'sisimai/mail'
|
26
|
-
mail = Sisimai::Mail.new(path)
|
27
|
-
list = []
|
28
|
-
|
29
|
-
return nil unless mail
|
30
28
|
require 'sisimai/data'
|
31
29
|
require 'sisimai/message'
|
32
30
|
|
33
|
-
|
34
|
-
|
31
|
+
input = argv1[:input] || nil
|
32
|
+
rtype = nil
|
33
|
+
|
34
|
+
unless input
|
35
|
+
# "input" did not specified, try to detect automatically.
|
36
|
+
rtype = argv0.class.to_s
|
37
|
+
if rtype == 'String'
|
38
|
+
# The argument may be a path to email
|
39
|
+
input = 'email'
|
40
|
+
|
41
|
+
elsif rtype =~ /\A(?:Array|Hash)\z/
|
42
|
+
# The argument may be a decoded JSON object
|
43
|
+
input = 'json'
|
44
|
+
end
|
45
|
+
end
|
35
46
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
47
|
+
methodargv = {}
|
48
|
+
delivered1 = argv1[:delivered] || false
|
49
|
+
hookmethod = argv1[:hook] || nil
|
50
|
+
bouncedata = []
|
51
|
+
|
52
|
+
if input == 'email'
|
53
|
+
# Path to mailbox or Maildir/, or STDIN: 'input' => 'email'
|
54
|
+
require 'sisimai/mail'
|
55
|
+
mail = Sisimai::Mail.new(argv0)
|
56
|
+
return nil unless mail
|
57
|
+
|
58
|
+
while r = mail.read do
|
59
|
+
# Read and parse each mail file
|
60
|
+
methodargv = { data: r, hook: hookmethod, input: 'email' }
|
61
|
+
mesg = Sisimai::Message.new(methodargv)
|
62
|
+
next if mesg.void
|
63
|
+
|
64
|
+
methodargv = { data: mesg, hook: hookmethod, input: 'email', delivered: delivered1 }
|
65
|
+
data = Sisimai::Data.make(methodargv)
|
66
|
+
next unless data
|
67
|
+
bouncedata.concat(data) if data.size > 0
|
68
|
+
end
|
69
|
+
|
70
|
+
elsif input == 'json'
|
71
|
+
# Decoded JSON object: 'input' => 'json'
|
72
|
+
type = argv0.class.to_s
|
73
|
+
list = []
|
74
|
+
|
75
|
+
if type == 'Array'
|
76
|
+
# [ {...}, {...}, ... ]
|
77
|
+
argv0.each do |e|
|
78
|
+
next unless e.class.to_s == 'Hash'
|
79
|
+
list << e
|
80
|
+
end
|
81
|
+
else
|
82
|
+
list << argv0
|
83
|
+
end
|
84
|
+
|
85
|
+
list.each do |e|
|
86
|
+
methodargv = { data: e, hook: hookmethod, input: 'json' }
|
87
|
+
mesg = Sisimai::Message.new(methodargv)
|
88
|
+
next if mesg.void
|
89
|
+
|
90
|
+
methodargv = { data: mesg, hook: hookmethod, input: 'json', delivered: delivered1 }
|
91
|
+
data = Sisimai::Data.make(methodargv)
|
92
|
+
|
93
|
+
next unless data
|
94
|
+
bouncedata.concat(data) if data.size > 0
|
95
|
+
end
|
96
|
+
|
97
|
+
else
|
98
|
+
# The value of "input" neither "email" nor "json"
|
99
|
+
fail ' ***error: invalid value of "input"'
|
43
100
|
end
|
44
101
|
|
45
|
-
return nil if
|
46
|
-
return
|
102
|
+
return nil if bouncedata.size == 0
|
103
|
+
return bouncedata
|
47
104
|
end
|
48
105
|
|
49
106
|
# Wrapper method to parse mailbox/Maildir and dump as JSON
|
50
|
-
# @param [String]
|
51
|
-
# @param [Hash]
|
52
|
-
# @
|
53
|
-
# @
|
107
|
+
# @param [String] argv0 Path to mbox or Maildir/
|
108
|
+
# @param [Hash] argv0 or Hash (decoded JSON)
|
109
|
+
# @param [IO] argv0 or STDIN object
|
110
|
+
# @param [Hash] argv1 Parser options
|
111
|
+
# @options argv1 [Integer] delivered true: Include "delivered" reason
|
112
|
+
# @options argv1 [Lambda] hook Lambda object to be called back
|
113
|
+
# @options argv1 [String] input Input data format: 'email', 'json'
|
54
114
|
# @return [String] Parsed data as JSON text
|
55
|
-
def dump(
|
56
|
-
return nil unless
|
115
|
+
def dump(argv0, **argv1)
|
116
|
+
return nil unless argv0
|
57
117
|
|
58
|
-
nyaan = Sisimai.make(
|
118
|
+
nyaan = Sisimai.make(argv0, argv1) || []
|
59
119
|
if RUBY_PLATFORM =~ /java/
|
60
120
|
# java-based ruby environment like JRuby.
|
61
121
|
require 'jrjackson'
|
@@ -70,15 +130,15 @@ module Sisimai
|
|
70
130
|
# Parser engine list (MTA/MSP modules)
|
71
131
|
# @return [Hash] Parser engine table
|
72
132
|
def engine
|
73
|
-
names = %w|MTA MSP ARF RFC3464 RFC3834|
|
133
|
+
names = %w|MTA MSP CED ARF RFC3464 RFC3834|
|
74
134
|
table = {}
|
75
135
|
|
76
136
|
names.each do |e|
|
77
137
|
r = 'Sisimai::' + e
|
78
138
|
require r.gsub('::', '/').downcase
|
79
139
|
|
80
|
-
if e == 'MTA' || e == 'MSP'
|
81
|
-
# Sisimai::MTA or Sisimai::MSP
|
140
|
+
if e == 'MTA' || e == 'MSP' || e == 'CED'
|
141
|
+
# Sisimai::MTA or Sisimai::MSP or Sisimai::CED
|
82
142
|
Module.const_get(r).send(:index).each do |ee|
|
83
143
|
# Load and get the value of "description" from each module
|
84
144
|
rr = sprintf('Sisimai::%s::%s', e, ee)
|