sisimai 4.21.1-java → 4.22.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/ANALYTICAL-PRECISION +56 -56
- data/ChangeLog.md +16 -0
- data/Developers.mk +15 -33
- data/LICENSE +1 -1
- data/README-JA.md +11 -11
- data/README.md +11 -11
- data/fig/sisimai-architecture.png +0 -0
- data/lib/sisimai.rb +4 -4
- data/lib/sisimai/address.rb +254 -5
- data/lib/sisimai/arf.rb +6 -6
- data/lib/sisimai/bite.rb +37 -0
- data/lib/sisimai/bite/email.rb +53 -0
- data/lib/sisimai/bite/email/activehunter.rb +124 -0
- data/lib/sisimai/bite/email/amazonses.rb +247 -0
- data/lib/sisimai/bite/email/amazonworkmail.rb +192 -0
- data/lib/sisimai/bite/email/aol.rb +208 -0
- data/lib/sisimai/bite/email/apachejames.rb +169 -0
- data/lib/sisimai/bite/email/bigfoot.rb +207 -0
- data/lib/sisimai/bite/email/biglobe.rb +148 -0
- data/lib/sisimai/bite/email/courier.rb +265 -0
- data/lib/sisimai/bite/email/domino.rb +174 -0
- data/lib/sisimai/bite/email/einsundeins.rb +143 -0
- data/lib/sisimai/bite/email/exchange2003.rb +284 -0
- data/lib/sisimai/bite/email/exchange2007.rb +178 -0
- data/lib/sisimai/bite/email/exim.rb +522 -0
- data/lib/sisimai/bite/email/ezweb.rb +260 -0
- data/lib/sisimai/bite/email/facebook.rb +274 -0
- data/lib/sisimai/bite/email/gmx.rb +167 -0
- data/lib/sisimai/bite/email/google.rb +320 -0
- data/lib/sisimai/bite/email/gsuite.rb +273 -0
- data/lib/sisimai/bite/email/imailserver.rb +181 -0
- data/lib/sisimai/bite/email/interscanmss.rb +146 -0
- data/lib/sisimai/bite/email/kddi.rb +166 -0
- data/lib/sisimai/bite/email/mailfoundry.rb +133 -0
- data/lib/sisimai/bite/email/mailmarshalsmtp.rb +173 -0
- data/lib/sisimai/bite/email/mailru.rb +271 -0
- data/lib/sisimai/bite/email/mcafee.rb +169 -0
- data/lib/sisimai/bite/email/messagelabs.rb +213 -0
- data/lib/sisimai/bite/email/messagingserver.rb +206 -0
- data/lib/sisimai/bite/email/mfilter.rb +165 -0
- data/lib/sisimai/bite/email/mxlogic.rb +253 -0
- data/lib/sisimai/bite/email/notes.rb +181 -0
- data/lib/sisimai/bite/email/office365.rb +262 -0
- data/lib/sisimai/bite/email/opensmtpd.rb +192 -0
- data/lib/sisimai/bite/email/outlook.rb +207 -0
- data/lib/sisimai/bite/email/postfix.rb +310 -0
- data/lib/sisimai/bite/email/qmail.rb +304 -0
- data/lib/sisimai/bite/email/receivingses.rb +221 -0
- data/lib/sisimai/bite/email/sendgrid.rb +223 -0
- data/lib/sisimai/bite/email/sendmail.rb +290 -0
- data/lib/sisimai/bite/email/surfcontrol.rb +162 -0
- data/lib/sisimai/bite/email/userdefined.rb +129 -0
- data/lib/sisimai/bite/email/v5sendmail.rb +208 -0
- data/lib/sisimai/bite/email/verizon.rb +265 -0
- data/lib/sisimai/bite/email/x1.rb +124 -0
- data/lib/sisimai/bite/email/x2.rb +125 -0
- data/lib/sisimai/bite/email/x3.rb +141 -0
- data/lib/sisimai/bite/email/x4.rb +325 -0
- data/lib/sisimai/bite/email/x5.rb +178 -0
- data/lib/sisimai/bite/email/yahoo.rb +148 -0
- data/lib/sisimai/bite/email/yandex.rb +204 -0
- data/lib/sisimai/bite/email/zoho.rb +167 -0
- data/lib/sisimai/bite/json.rb +38 -0
- data/lib/sisimai/bite/json/amazonses.rb +255 -0
- data/lib/sisimai/bite/json/sendgrid.rb +79 -0
- data/lib/sisimai/ced.rb +30 -6
- data/lib/sisimai/data.rb +5 -5
- data/lib/sisimai/message.rb +6 -6
- data/lib/sisimai/message/email.rb +12 -11
- data/lib/sisimai/message/json.rb +20 -19
- data/lib/sisimai/msp.rb +15 -3
- data/lib/sisimai/mta.rb +15 -3
- data/lib/sisimai/order.rb +1 -1
- data/lib/sisimai/order/email.rb +113 -119
- data/lib/sisimai/order/json.rb +11 -10
- data/lib/sisimai/reason.rb +5 -4
- data/lib/sisimai/reason/policyviolation.rb +64 -0
- data/lib/sisimai/reason/securityerror.rb +13 -23
- data/lib/sisimai/reason/spamdetected.rb +1 -0
- data/lib/sisimai/reason/syntaxerror.rb +1 -0
- data/lib/sisimai/reason/virusdetected.rb +56 -0
- data/lib/sisimai/rfc3464.rb +8 -8
- data/lib/sisimai/rfc3834.rb +2 -2
- data/lib/sisimai/rfc5322.rb +1 -1
- data/lib/sisimai/skeleton.rb +1 -1
- data/lib/sisimai/smtp/error.rb +3 -3
- data/lib/sisimai/smtp/status.rb +26 -24
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/README.md +1 -0
- data/set-of-emails/{jsonapi/ced-us-amazonses-01.json → jsonobj/json-amazonses-01.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-amazonses-02.json → jsonobj/json-amazonses-02.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-amazonses-03.json → jsonobj/json-amazonses-03.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-amazonses-04.json → jsonobj/json-amazonses-04.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-amazonses-05.json → jsonobj/json-amazonses-05.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-01.json → jsonobj/json-sendgrid-01.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-02.json → jsonobj/json-sendgrid-02.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-03.json → jsonobj/json-sendgrid-03.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-04.json → jsonobj/json-sendgrid-04.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-05.json → jsonobj/json-sendgrid-05.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-06.json → jsonobj/json-sendgrid-06.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-07.json → jsonobj/json-sendgrid-07.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-08.json → jsonobj/json-sendgrid-08.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-09.json → jsonobj/json-sendgrid-09.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-10.json → jsonobj/json-sendgrid-10.json} +0 -0
- data/set-of-emails/{jsonapi/ced-us-sendgrid-11.json → jsonobj/json-sendgrid-11.json} +0 -0
- data/set-of-emails/maildir/bsd/README.md +25 -17
- data/set-of-emails/maildir/bsd/{mta-activehunter-01.eml → email-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-activehunter-02.eml → email-activehunter-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-01.eml → email-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-02.eml → email-amazonses-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-03.eml → email-amazonses-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-04.eml → email-amazonses-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-05.eml → email-amazonses-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-06.eml → email-amazonses-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-07.eml → email-amazonses-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonses-08.eml → email-amazonses-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ced-us-amazonses-01.eml → email-amazonses-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ced-us-amazonses-02.eml → email-amazonses-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ced-us-amazonses-03.eml → email-amazonses-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ced-us-amazonses-04.eml → email-amazonses-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{ced-us-amazonses-05.eml → email-amazonses-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-01.eml → email-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-02.eml → email-amazonworkmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-03.eml → email-amazonworkmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-04.eml → email-amazonworkmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-05.eml → email-amazonworkmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-06.eml → email-amazonworkmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-amazonworkmail-07.eml → email-amazonworkmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-aol-01.eml → email-aol-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-aol-02.eml → email-aol-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-aol-03.eml → email-aol-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-aol-04.eml → email-aol-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-aol-05.eml → email-aol-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-aol-06.eml → email-aol-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-apachejames-01.eml → email-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-bigfoot-01.eml → email-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-biglobe-01.eml → email-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-courier-01.eml → email-courier-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-courier-02.eml → email-courier-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-courier-03.eml → email-courier-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-courier-04.eml → email-courier-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-domino-01.eml → email-domino-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-domino-02.eml → email-domino-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-de-einsundeins-01.eml → email-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2003-01.eml → email-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2003-02.eml → email-exchange2003-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2003-03.eml → email-exchange2003-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2003-04.eml → email-exchange2003-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2003-05.eml → email-exchange2003-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2003-06.eml → email-exchange2003-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2007-01.eml → email-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2007-02.eml → email-exchange2007-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exchange2007-03.eml → email-exchange2007-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-01.eml → email-exim-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-02.eml → email-exim-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-03.eml → email-exim-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-04.eml → email-exim-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-05.eml → email-exim-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-06.eml → email-exim-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-07.eml → email-exim-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-08.eml → email-exim-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-09.eml → email-exim-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-10.eml → email-exim-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-11.eml → email-exim-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-12.eml → email-exim-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-13.eml → email-exim-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-14.eml → email-exim-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-15.eml → email-exim-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-16.eml → email-exim-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-17.eml → email-exim-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-18.eml → email-exim-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-19.eml → email-exim-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-20.eml → email-exim-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-21.eml → email-exim-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-22.eml → email-exim-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-23.eml → email-exim-23.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-24.eml → email-exim-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-25.eml → email-exim-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-26.eml → email-exim-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-27.eml → email-exim-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-28.eml → email-exim-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-29.eml → email-exim-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-exim-30.eml → email-exim-30.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-ezweb-01.eml → email-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-ezweb-02.eml → email-ezweb-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-ezweb-03.eml → email-ezweb-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-ezweb-04.eml → email-ezweb-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-ezweb-05.eml → email-ezweb-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-ezweb-06.eml → email-ezweb-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-facebook-01.eml → email-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-facebook-02.eml → email-facebook-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-de-gmx-01.eml → email-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-de-gmx-02.eml → email-gmx-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-de-gmx-03.eml → email-gmx-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-de-gmx-04.eml → email-gmx-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-01.eml → email-google-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-02.eml → email-google-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-03.eml → email-google-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-04.eml → email-google-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-05.eml → email-google-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-06.eml → email-google-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-07.eml → email-google-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-08.eml → email-google-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-09.eml → email-google-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-10.eml → email-google-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-11.eml → email-google-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-12.eml → email-google-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-13.eml → email-google-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-14.eml → email-google-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-15.eml → email-google-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-16.eml → email-google-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-google-17.eml → email-google-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-01.eml → email-gsuite-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-02.eml → email-gsuite-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-03.eml → email-gsuite-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-04.eml → email-gsuite-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-05.eml → email-gsuite-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-06.eml → email-gsuite-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-gsuite-07.eml → email-gsuite-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-imailserver-01.eml → email-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-imailserver-02.eml → email-imailserver-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-imailserver-03.eml → email-imailserver-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-imailserver-04.eml → email-imailserver-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-imailserver-05.eml → email-imailserver-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-imailserver-06.eml → email-imailserver-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-interscanmss-01.eml → email-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-interscanmss-02.eml → email-interscanmss-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-kddi-01.eml → email-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-kddi-02.eml → email-kddi-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-jp-kddi-03.eml → email-kddi-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mailfoundry-01.eml → email-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mailfoundry-02.eml → email-mailfoundry-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mailmarshalsmtp-01.eml → email-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-mailru-01.eml → email-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-mailru-02.eml → email-mailru-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-mailru-03.eml → email-mailru-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-mailru-04.eml → email-mailru-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-mailru-05.eml → email-mailru-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-mailru-06.eml → email-mailru-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mcafee-01.eml → email-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mcafee-02.eml → email-mcafee-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mcafee-03.eml → email-mcafee-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-uk-messagelabs-01.eml → email-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-01.eml → email-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-02.eml → email-messagingserver-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-03.eml → email-messagingserver-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-04.eml → email-messagingserver-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-05.eml → email-messagingserver-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-06.eml → email-messagingserver-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-messagingserver-07.eml → email-messagingserver-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mfilter-01.eml → email-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mfilter-02.eml → email-mfilter-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mfilter-03.eml → email-mfilter-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mxlogic-01.eml → email-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mxlogic-02.eml → email-mxlogic-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-mxlogic-03.eml → email-mxlogic-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-notes-01.eml → email-notes-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-notes-02.eml → email-notes-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-notes-03.eml → email-notes-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-notes-04.eml → email-notes-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-office365-01.eml → email-office365-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-office365-02.eml → email-office365-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-opensmtpd-01.eml → email-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-opensmtpd-02.eml → email-opensmtpd-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-opensmtpd-03.eml → email-opensmtpd-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-opensmtpd-04.eml → email-opensmtpd-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-opensmtpd-05.eml → email-opensmtpd-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-opensmtpd-06.eml → email-opensmtpd-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-01.eml → email-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-02.eml → email-outlook-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-03.eml → email-outlook-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-04.eml → email-outlook-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-05.eml → email-outlook-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-06.eml → email-outlook-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-outlook-07.eml → email-outlook-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-01.eml → email-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-02.eml → email-postfix-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-03.eml → email-postfix-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-04.eml → email-postfix-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-05.eml → email-postfix-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-06.eml → email-postfix-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-07.eml → email-postfix-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-08.eml → email-postfix-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-09.eml → email-postfix-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-10.eml → email-postfix-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-11.eml → email-postfix-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-12.eml → email-postfix-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-13.eml → email-postfix-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-14.eml → email-postfix-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-15.eml → email-postfix-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-16.eml → email-postfix-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-17.eml → email-postfix-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-18.eml → email-postfix-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-19.eml → email-postfix-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-20.eml → email-postfix-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-21.eml → email-postfix-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-22.eml → email-postfix-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-23.eml → email-postfix-23.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-24.eml → email-postfix-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-25.eml → email-postfix-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-26.eml → email-postfix-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-27.eml → email-postfix-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-28.eml → email-postfix-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-postfix-29.eml → email-postfix-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-01.eml → email-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-02.eml → email-qmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-03.eml → email-qmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-04.eml → email-qmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-05.eml → email-qmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-06.eml → email-qmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-07.eml → email-qmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-08.eml → email-qmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-09.eml → email-qmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-10.eml → email-qmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-11.eml → email-qmail-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-qmail-12.eml → email-qmail-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-01.eml → email-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-02.eml → email-receivingses-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-03.eml → email-receivingses-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-04.eml → email-receivingses-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-05.eml → email-receivingses-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-06.eml → email-receivingses-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-receivingses-07.eml → email-receivingses-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-sendgrid-01.eml → email-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-sendgrid-02.eml → email-sendgrid-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-sendgrid-03.eml → email-sendgrid-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-01.eml → email-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-02.eml → email-sendmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-03.eml → email-sendmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-04.eml → email-sendmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-05.eml → email-sendmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-06.eml → email-sendmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-07.eml → email-sendmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-08.eml → email-sendmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-09.eml → email-sendmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-10.eml → email-sendmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-11.eml → email-sendmail-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-12.eml → email-sendmail-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-13.eml → email-sendmail-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-14.eml → email-sendmail-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-15.eml → email-sendmail-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-16.eml → email-sendmail-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-17.eml → email-sendmail-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-18.eml → email-sendmail-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-19.eml → email-sendmail-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-20.eml → email-sendmail-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-21.eml → email-sendmail-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-22.eml → email-sendmail-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-23.eml → email-sendmail-23.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-24.eml → email-sendmail-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-25.eml → email-sendmail-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-26.eml → email-sendmail-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-27.eml → email-sendmail-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-28.eml → email-sendmail-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-29.eml → email-sendmail-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-30.eml → email-sendmail-30.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-31.eml → email-sendmail-31.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-32.eml → email-sendmail-32.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-33.eml → email-sendmail-33.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-34.eml → email-sendmail-34.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-35.eml → email-sendmail-35.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-36.eml → email-sendmail-36.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-37.eml → email-sendmail-37.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-38.eml → email-sendmail-38.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-39.eml → email-sendmail-39.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-40.eml → email-sendmail-40.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-41.eml → email-sendmail-41.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-42.eml → email-sendmail-42.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-sendmail-43.eml → email-sendmail-43.eml} +0 -0
- data/set-of-emails/maildir/bsd/email-sendmail-44.eml +67 -0
- data/set-of-emails/maildir/bsd/{mta-surfcontrol-01.eml → email-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-surfcontrol-02.eml → email-surfcontrol-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-surfcontrol-03.eml → email-surfcontrol-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-01.eml → email-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-02.eml → email-v5sendmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-03.eml → email-v5sendmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-04.eml → email-v5sendmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-05.eml → email-v5sendmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-06.eml → email-v5sendmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-v5sendmail-07.eml → email-v5sendmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-verizon-01.eml → email-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-verizon-02.eml → email-verizon-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x1-01.eml → email-x1-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x1-02.eml → email-x1-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x2-01.eml → email-x2-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x2-02.eml → email-x2-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x2-03.eml → email-x2-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x2-04.eml → email-x2-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x2-05.eml → email-x2-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x3-01.eml → email-x3-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x3-02.eml → email-x3-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x3-03.eml → email-x3-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x3-04.eml → email-x3-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-01.eml → email-x4-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-02.eml → email-x4-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-03.eml → email-x4-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-04.eml → email-x4-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-05.eml → email-x4-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-06.eml → email-x4-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x4-07.eml → email-x4-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{mta-x5-01.eml → email-x5-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-yahoo-01.eml → email-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-yahoo-02.eml → email-yahoo-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-yahoo-03.eml → email-yahoo-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-yahoo-04.eml → email-yahoo-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-yahoo-05.eml → email-yahoo-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-yandex-01.eml → email-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-yandex-02.eml → email-yandex-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-ru-yandex-03.eml → email-yandex-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-zoho-01.eml → email-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-zoho-02.eml → email-zoho-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-zoho-03.eml → email-zoho-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-zoho-04.eml → email-zoho-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{msp-us-zoho-05.eml → email-zoho-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/rfc3464-31.eml +141 -0
- data/set-of-emails/maildir/bsd/rfc3464-32.eml +158 -0
- data/set-of-emails/maildir/dos/{mta-activehunter-01.eml → email-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-amazonses-01.eml → email-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-amazonworkmail-01.eml → email-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-aol-01.eml → email-aol-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-apachejames-01.eml → email-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-bigfoot-01.eml → email-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-jp-biglobe-01.eml → email-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-courier-01.eml → email-courier-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-domino-01.eml → email-domino-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-de-einsundeins-01.eml → email-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-exchange-01.eml → email-exchange-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-exchange2003-01.eml → email-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-exchange2007-01.eml → email-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-exim-01.eml → email-exim-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-jp-ezweb-01.eml → email-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-facebook-01.eml → email-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-de-gmx-01.eml → email-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-google-01.eml → email-google-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-imailserver-01.eml → email-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-interscanmss-01.eml → email-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-jp-kddi-01.eml → email-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-mailfoundry-01.eml → email-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-mailmarshalsmtp-01.eml → email-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-ru-mailru-01.eml → email-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-mcafee-01.eml → email-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-uk-messagelabs-01.eml → email-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-messagingserver-01.eml → email-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-mfilter-01.eml → email-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-mxlogic-01.eml → email-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-notes-01.eml → email-notes-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-office365-01.eml → email-office365-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-opensmtpd-01.eml → email-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-outlook-01.eml → email-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-postfix-01.eml → email-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-qmail-01.eml → email-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-receivingses-01.eml → email-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-sendgrid-01.eml → email-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-sendmail-01.eml → email-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-surfcontrol-01.eml → email-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-v5sendmail-01.eml → email-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-verizon-01.eml → email-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-x1-01.eml → email-x1-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-x2-01.eml → email-x2-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-x3-01.eml → email-x3-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-x4-01.eml → email-x4-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{mta-x5-01.eml → email-x5-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-yahoo-01.eml → email-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-ru-yandex-01.eml → email-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{msp-us-zoho-01.eml → email-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-activehunter-01.eml → email-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-amazonses-01.eml → email-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-amazonworkmail-01.eml → email-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-aol-01.eml → email-aol-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-apachejames-01.eml → email-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-bigfoot-01.eml → email-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-jp-biglobe-01.eml → email-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-courier-01.eml → email-courier-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-domino-01.eml → email-domino-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-de-einsundeins-01.eml → email-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-exchange-01.eml → email-exchange-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-exchange2003-01.eml → email-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-exchange2007-01.eml → email-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-exim-01.eml → email-exim-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-jp-ezweb-01.eml → email-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-facebook-01.eml → email-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-de-gmx-01.eml → email-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-google-01.eml → email-google-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-imailserver-01.eml → email-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-interscanmss-01.eml → email-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-jp-kddi-01.eml → email-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-mailfoundry-01.eml → email-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-mailmarshalsmtp-01.eml → email-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-ru-mailru-01.eml → email-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-mcafee-01.eml → email-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-uk-messagelabs-01.eml → email-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-messagingserver-01.eml → email-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-mfilter-01.eml → email-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-mxlogic-01.eml → email-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-notes-01.eml → email-notes-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-office365-01.eml → email-office365-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-opensmtpd-01.eml → email-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-outlook-01.eml → email-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-postfix-01.eml → email-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-qmail-01.eml → email-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-receivingses-01.eml → email-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-sendgrid-01.eml → email-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-sendmail-01.eml → email-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-surfcontrol-01.eml → email-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-v5sendmail-01.eml → email-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-verizon-01.eml → email-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-x1-01.eml → email-x1-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-x2-01.eml → email-x2-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-x3-01.eml → email-x3-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-x4-01.eml → email-x4-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{mta-x5-01.eml → email-x5-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-yahoo-01.eml → email-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-ru-yandex-01.eml → email-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{msp-us-zoho-01.eml → email-zoho-01.eml} +0 -0
- metadata +483 -478
- data/lib/sisimai/ced/us/amazonses.rb +0 -269
- data/lib/sisimai/ced/us/sendgrid.rb +0 -86
- data/lib/sisimai/msp/de/einsundeins.rb +0 -146
- data/lib/sisimai/msp/de/gmx.rb +0 -170
- data/lib/sisimai/msp/jp/biglobe.rb +0 -150
- data/lib/sisimai/msp/jp/ezweb.rb +0 -262
- data/lib/sisimai/msp/jp/kddi.rb +0 -168
- data/lib/sisimai/msp/ru/mailru.rb +0 -274
- data/lib/sisimai/msp/ru/yandex.rb +0 -207
- data/lib/sisimai/msp/uk/messagelabs.rb +0 -216
- data/lib/sisimai/msp/us/amazonses.rb +0 -237
- data/lib/sisimai/msp/us/amazonworkmail.rb +0 -195
- data/lib/sisimai/msp/us/aol.rb +0 -211
- data/lib/sisimai/msp/us/bigfoot.rb +0 -210
- data/lib/sisimai/msp/us/facebook.rb +0 -277
- data/lib/sisimai/msp/us/google.rb +0 -323
- data/lib/sisimai/msp/us/gsuite.rb +0 -277
- data/lib/sisimai/msp/us/office365.rb +0 -264
- data/lib/sisimai/msp/us/outlook.rb +0 -209
- data/lib/sisimai/msp/us/receivingses.rb +0 -224
- data/lib/sisimai/msp/us/sendgrid.rb +0 -226
- data/lib/sisimai/msp/us/verizon.rb +0 -267
- data/lib/sisimai/msp/us/yahoo.rb +0 -150
- data/lib/sisimai/msp/us/zoho.rb +0 -170
- data/lib/sisimai/mta/activehunter.rb +0 -126
- data/lib/sisimai/mta/apachejames.rb +0 -172
- data/lib/sisimai/mta/courier.rb +0 -268
- data/lib/sisimai/mta/domino.rb +0 -177
- data/lib/sisimai/mta/exchange2003.rb +0 -287
- data/lib/sisimai/mta/exchange2007.rb +0 -182
- data/lib/sisimai/mta/exim.rb +0 -525
- data/lib/sisimai/mta/imailserver.rb +0 -182
- data/lib/sisimai/mta/interscanmss.rb +0 -149
- data/lib/sisimai/mta/mailfoundry.rb +0 -137
- data/lib/sisimai/mta/mailmarshalsmtp.rb +0 -176
- data/lib/sisimai/mta/mcafee.rb +0 -172
- data/lib/sisimai/mta/messagingserver.rb +0 -208
- data/lib/sisimai/mta/mfilter.rb +0 -167
- data/lib/sisimai/mta/mxlogic.rb +0 -255
- data/lib/sisimai/mta/notes.rb +0 -183
- data/lib/sisimai/mta/opensmtpd.rb +0 -195
- data/lib/sisimai/mta/postfix.rb +0 -312
- data/lib/sisimai/mta/qmail.rb +0 -307
- data/lib/sisimai/mta/sendmail.rb +0 -293
- data/lib/sisimai/mta/surfcontrol.rb +0 -164
- data/lib/sisimai/mta/userdefined.rb +0 -132
- data/lib/sisimai/mta/v5sendmail.rb +0 -210
- data/lib/sisimai/mta/x1.rb +0 -127
- data/lib/sisimai/mta/x2.rb +0 -128
- data/lib/sisimai/mta/x3.rb +0 -144
- data/lib/sisimai/mta/x4.rb +0 -328
- data/lib/sisimai/mta/x5.rb +0 -181
- data/set-of-emails/maildir/bsd/mta-README.md +0 -319
- data/set-of-emails/maildir/dos/ced-us-amazonses-01.eml +0 -47
- data/set-of-emails/maildir/mac/ced-us-amazonses-01.eml +0 -2
data/lib/sisimai/mta/x1.rb
DELETED
@@ -1,127 +0,0 @@
|
|
1
|
-
module Sisimai
|
2
|
-
module MTA
|
3
|
-
# Sisimai::MTA::X1 parses a bounce email which created by Unknown MTA #1.
|
4
|
-
# Methods in the module are called from only Sisimai::Message.
|
5
|
-
module X1
|
6
|
-
# Imported from p5-Sisimail/lib/Sisimai/MTA/X1.pm
|
7
|
-
class << self
|
8
|
-
require 'sisimai/mta'
|
9
|
-
require 'sisimai/rfc5322'
|
10
|
-
|
11
|
-
Re0 = {
|
12
|
-
:from => %r/["]Mail Deliver System["] /,
|
13
|
-
:subject => %r/\AReturned Mail: /,
|
14
|
-
}
|
15
|
-
Re1 = {
|
16
|
-
:begin => %r/\AThe original message was received at (.+)\z/,
|
17
|
-
:endof => %r/\A__END_OF_EMAIL_MESSAGE__\z/,
|
18
|
-
:rfc822 => %r/\AReceived: from \d+[.]\d+[.]\d+[.]\d/,
|
19
|
-
}
|
20
|
-
Indicators = Sisimai::MTA.INDICATORS
|
21
|
-
|
22
|
-
def description; return 'Unknown MTA #1'; end
|
23
|
-
def smtpagent; return Sisimai::MTA.smtpagent(self); end
|
24
|
-
def headerlist; return []; end
|
25
|
-
def pattern; return Re0; end
|
26
|
-
|
27
|
-
# Parse bounce messages from Unknown MTA #1
|
28
|
-
# @param [Hash] mhead Message header of a bounce email
|
29
|
-
# @options mhead [String] from From header
|
30
|
-
# @options mhead [String] date Date header
|
31
|
-
# @options mhead [String] subject Subject header
|
32
|
-
# @options mhead [Array] received Received headers
|
33
|
-
# @options mhead [String] others Other required headers
|
34
|
-
# @param [String] mbody Message body of a bounce email
|
35
|
-
# @return [Hash, Nil] Bounce data list and message/rfc822
|
36
|
-
# part or nil if it failed to parse or
|
37
|
-
# the arguments are missing
|
38
|
-
def scan(mhead, mbody)
|
39
|
-
return nil unless mhead
|
40
|
-
return nil unless mbody
|
41
|
-
return nil unless mhead['subject'] =~ Re0[:subject]
|
42
|
-
return nil unless mhead['from'] =~ Re0[:from]
|
43
|
-
|
44
|
-
dscontents = [Sisimai::MTA.DELIVERYSTATUS]
|
45
|
-
hasdivided = mbody.split("\n")
|
46
|
-
rfc822list = [] # (Array) Each line in message/rfc822 part string
|
47
|
-
blanklines = 0 # (Integer) The number of blank lines
|
48
|
-
readcursor = 0 # (Integer) Points the current cursor position
|
49
|
-
recipients = 0 # (Integer) The number of 'Final-Recipient' header
|
50
|
-
datestring = '' # (String) Date string
|
51
|
-
v = nil
|
52
|
-
|
53
|
-
hasdivided.each do |e|
|
54
|
-
if readcursor.zero?
|
55
|
-
# Beginning of the bounce message or delivery status part
|
56
|
-
if e =~ Re1[:begin]
|
57
|
-
readcursor |= Indicators[:deliverystatus]
|
58
|
-
next
|
59
|
-
end
|
60
|
-
end
|
61
|
-
|
62
|
-
if readcursor & Indicators[:'message-rfc822'] == 0
|
63
|
-
# Beginning of the original message part
|
64
|
-
if e =~ Re1[:rfc822]
|
65
|
-
readcursor |= Indicators[:'message-rfc822']
|
66
|
-
next
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
if readcursor & Indicators[:'message-rfc822'] > 0
|
71
|
-
# After "message/rfc822"
|
72
|
-
if e.empty?
|
73
|
-
blanklines += 1
|
74
|
-
break if blanklines > 1
|
75
|
-
next
|
76
|
-
end
|
77
|
-
rfc822list << e
|
78
|
-
|
79
|
-
else
|
80
|
-
# Before "message/rfc822"
|
81
|
-
next if readcursor & Indicators[:deliverystatus] == 0
|
82
|
-
next if e.empty?
|
83
|
-
|
84
|
-
# The original message was received at Thu, 29 Apr 2010 23:34:45 +0900 (JST)
|
85
|
-
# from shironeko@example.jp
|
86
|
-
#
|
87
|
-
# ---The following addresses had delivery errors---
|
88
|
-
#
|
89
|
-
# kijitora@example.co.jp [User unknown]
|
90
|
-
v = dscontents[-1]
|
91
|
-
|
92
|
-
if cv = e.match(/\A([^ ]+?[@][^ ]+?)[ ]+\[(.+)\]\z/)
|
93
|
-
# kijitora@example.co.jp [User unknown]
|
94
|
-
if v['recipient']
|
95
|
-
# There are multiple recipient addresses in the message body.
|
96
|
-
dscontents << Sisimai::MTA.DELIVERYSTATUS
|
97
|
-
v = dscontents[-1]
|
98
|
-
end
|
99
|
-
v['recipient'] = cv[1]
|
100
|
-
v['diagnosis'] = cv[2]
|
101
|
-
recipients += 1
|
102
|
-
|
103
|
-
elsif cv = e.match(Re1[:begin])
|
104
|
-
# The original message was received at Thu, 29 Apr 2010 23:34:45 +0900 (JST)
|
105
|
-
datestring = cv[1]
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
return nil if recipients.zero?
|
110
|
-
require 'sisimai/string'
|
111
|
-
|
112
|
-
dscontents.map do |e|
|
113
|
-
e['agent'] = Sisimai::MTA::X1.smtpagent
|
114
|
-
e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
|
115
|
-
e['date'] = datestring || ''
|
116
|
-
e.each_key { |a| e[a] ||= '' }
|
117
|
-
end
|
118
|
-
|
119
|
-
rfc822part = Sisimai::RFC5322.weedout(rfc822list)
|
120
|
-
return { 'ds' => dscontents, 'rfc822' => rfc822part }
|
121
|
-
end
|
122
|
-
|
123
|
-
end
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
|
data/lib/sisimai/mta/x2.rb
DELETED
@@ -1,128 +0,0 @@
|
|
1
|
-
module Sisimai
|
2
|
-
module MTA
|
3
|
-
# Sisimai::MTA::X2 parses a bounce email which created by Unknown MTA #2.
|
4
|
-
# Methods in the module are called from only Sisimai::Message.
|
5
|
-
module X2
|
6
|
-
# Imported from p5-Sisimail/lib/Sisimai/MTA/X2.pm
|
7
|
-
class << self
|
8
|
-
require 'sisimai/mta'
|
9
|
-
require 'sisimai/rfc5322'
|
10
|
-
|
11
|
-
Re0 = {
|
12
|
-
:from => %r/MAILER-DAEMON[@]/,
|
13
|
-
:subject => %r{\A(?>
|
14
|
-
Delivery[ ]failure
|
15
|
-
|fail(?:ure|ed)[ ]delivery
|
16
|
-
)
|
17
|
-
}x,
|
18
|
-
}
|
19
|
-
Re1 = {
|
20
|
-
:begin => %r/\AUnable to deliver message to the following address/,
|
21
|
-
:rfc822 => %r/\A--- Original message follows/,
|
22
|
-
:endof => %r/\A__END_OF_EMAIL_MESSAGE__\z/,
|
23
|
-
}
|
24
|
-
Indicators = Sisimai::MTA.INDICATORS
|
25
|
-
|
26
|
-
def description; return 'Unknown MTA #2'; end
|
27
|
-
def smtpagent; return Sisimai::MTA.smtpagent(self); end
|
28
|
-
def headerlist; return []; end
|
29
|
-
def pattern; return Re0; end
|
30
|
-
|
31
|
-
# Parse bounce messages from Unknown MTA #2
|
32
|
-
# @param [Hash] mhead Message header of a bounce email
|
33
|
-
# @options mhead [String] from From header
|
34
|
-
# @options mhead [String] date Date header
|
35
|
-
# @options mhead [String] subject Subject header
|
36
|
-
# @options mhead [Array] received Received headers
|
37
|
-
# @options mhead [String] others Other required headers
|
38
|
-
# @param [String] mbody Message body of a bounce email
|
39
|
-
# @return [Hash, Nil] Bounce data list and message/rfc822
|
40
|
-
# part or nil if it failed to parse or
|
41
|
-
# the arguments are missing
|
42
|
-
def scan(mhead, mbody)
|
43
|
-
return nil unless mhead
|
44
|
-
return nil unless mbody
|
45
|
-
return nil unless mhead['subject'] =~ Re0[:subject]
|
46
|
-
return nil unless mhead['from'] =~ Re0[:from]
|
47
|
-
|
48
|
-
dscontents = [Sisimai::MTA.DELIVERYSTATUS]
|
49
|
-
hasdivided = mbody.split("\n")
|
50
|
-
rfc822list = [] # (Array) Each line in message/rfc822 part string
|
51
|
-
blanklines = 0 # (Integer) The number of blank lines
|
52
|
-
readcursor = 0 # (Integer) Points the current cursor position
|
53
|
-
recipients = 0 # (Integer) The number of 'Final-Recipient' header
|
54
|
-
v = nil
|
55
|
-
|
56
|
-
hasdivided.each do |e|
|
57
|
-
if readcursor.zero?
|
58
|
-
# Beginning of the bounce message or delivery status part
|
59
|
-
if e =~ Re1[:begin]
|
60
|
-
readcursor |= Indicators[:deliverystatus]
|
61
|
-
next
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
if readcursor & Indicators[:'message-rfc822'] == 0
|
66
|
-
# Beginning of the original message part
|
67
|
-
if e =~ Re1[:rfc822]
|
68
|
-
readcursor |= Indicators[:'message-rfc822']
|
69
|
-
next
|
70
|
-
end
|
71
|
-
end
|
72
|
-
|
73
|
-
if readcursor & Indicators[:'message-rfc822'] > 0
|
74
|
-
# After "message/rfc822"
|
75
|
-
if e.empty?
|
76
|
-
blanklines += 1
|
77
|
-
break if blanklines > 2
|
78
|
-
next
|
79
|
-
end
|
80
|
-
rfc822list << e
|
81
|
-
|
82
|
-
else
|
83
|
-
# Before "message/rfc822"
|
84
|
-
next if readcursor & Indicators[:deliverystatus] == 0
|
85
|
-
next if e.empty?
|
86
|
-
|
87
|
-
# Message from example.com.
|
88
|
-
# Unable to deliver message to the following address(es).
|
89
|
-
#
|
90
|
-
# <kijitora@example.com>:
|
91
|
-
# This user doesn't have a example.com account (kijitora@example.com) [0]
|
92
|
-
v = dscontents[-1]
|
93
|
-
|
94
|
-
if cv = e.match(/\A[<]([^ ]+[@][^ ]+)[>]:\z/)
|
95
|
-
# <kijitora@example.com>:
|
96
|
-
if v['recipient']
|
97
|
-
# There are multiple recipient addresses in the message body.
|
98
|
-
dscontents << Sisimai::MTA.DELIVERYSTATUS
|
99
|
-
v = dscontents[-1]
|
100
|
-
end
|
101
|
-
v['recipient'] = cv[1]
|
102
|
-
recipients += 1
|
103
|
-
|
104
|
-
else
|
105
|
-
# This user doesn't have a example.com account (kijitora@example.com) [0]
|
106
|
-
v['diagnosis'] ||= ''
|
107
|
-
v['diagnosis'] += ' ' + e
|
108
|
-
end
|
109
|
-
end
|
110
|
-
end
|
111
|
-
return nil if recipients.zero?
|
112
|
-
require 'sisimai/string'
|
113
|
-
|
114
|
-
dscontents.map do |e|
|
115
|
-
e['agent'] = Sisimai::MTA::X2.smtpagent
|
116
|
-
e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
|
117
|
-
e.each_key { |a| e[a] ||= '' }
|
118
|
-
end
|
119
|
-
|
120
|
-
rfc822part = Sisimai::RFC5322.weedout(rfc822list)
|
121
|
-
return { 'ds' => dscontents, 'rfc822' => rfc822part }
|
122
|
-
end
|
123
|
-
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
data/lib/sisimai/mta/x3.rb
DELETED
@@ -1,144 +0,0 @@
|
|
1
|
-
module Sisimai
|
2
|
-
module MTA
|
3
|
-
# Sisimai::MTA::X3 parses a bounce email which created by Unknown MTA #3.
|
4
|
-
# Methods in the module are called from only Sisimai::Message.
|
5
|
-
module X3
|
6
|
-
# Imported from p5-Sisimail/lib/Sisimai/MTA/X3.pm
|
7
|
-
class << self
|
8
|
-
require 'sisimai/mta'
|
9
|
-
require 'sisimai/rfc5322'
|
10
|
-
|
11
|
-
Re0 = {
|
12
|
-
:from => %r/\AMail Delivery System/,
|
13
|
-
:subject => %r/\ADelivery status notification/,
|
14
|
-
}
|
15
|
-
Re1 = {
|
16
|
-
:begin => %r/\A[ \t]+This is an automatically generated Delivery Status Notification/,
|
17
|
-
:rfc822 => %r|\AContent-Type: message/rfc822|,
|
18
|
-
:endof => %r/\A__END_OF_EMAIL_MESSAGE__\z/,
|
19
|
-
}
|
20
|
-
Indicators = Sisimai::MTA.INDICATORS
|
21
|
-
|
22
|
-
def description; return 'Unknown MTA #3'; end
|
23
|
-
def smtpagent; return Sisimai::MTA.smtpagent(self); end
|
24
|
-
def headerlist; return []; end
|
25
|
-
def pattern; return Re0; end
|
26
|
-
|
27
|
-
# Parse bounce messages from Unknown MTA #3
|
28
|
-
# @param [Hash] mhead Message header of a bounce email
|
29
|
-
# @options mhead [String] from From header
|
30
|
-
# @options mhead [String] date Date header
|
31
|
-
# @options mhead [String] subject Subject header
|
32
|
-
# @options mhead [Array] received Received headers
|
33
|
-
# @options mhead [String] others Other required headers
|
34
|
-
# @param [String] mbody Message body of a bounce email
|
35
|
-
# @return [Hash, Nil] Bounce data list and message/rfc822
|
36
|
-
# part or nil if it failed to parse or
|
37
|
-
# the arguments are missing
|
38
|
-
def scan(mhead, mbody)
|
39
|
-
return nil unless mhead
|
40
|
-
return nil unless mbody
|
41
|
-
return nil unless mhead['subject'] =~ Re0[:subject]
|
42
|
-
return nil unless mhead['from'] =~ Re0[:from]
|
43
|
-
|
44
|
-
dscontents = [Sisimai::MTA.DELIVERYSTATUS]
|
45
|
-
hasdivided = mbody.split("\n")
|
46
|
-
rfc822list = [] # (Array) Each line in message/rfc822 part string
|
47
|
-
blanklines = 0 # (Integer) The number of blank lines
|
48
|
-
readcursor = 0 # (Integer) Points the current cursor position
|
49
|
-
recipients = 0 # (Integer) The number of 'Final-Recipient' header
|
50
|
-
v = nil
|
51
|
-
|
52
|
-
hasdivided.each do |e|
|
53
|
-
if readcursor.zero?
|
54
|
-
# Beginning of the bounce message or delivery status part
|
55
|
-
if e =~ Re1[:begin]
|
56
|
-
readcursor |= Indicators[:deliverystatus]
|
57
|
-
next
|
58
|
-
end
|
59
|
-
end
|
60
|
-
|
61
|
-
if readcursor & Indicators[:'message-rfc822'] == 0
|
62
|
-
# Beginning of the original message part
|
63
|
-
if e =~ Re1[:rfc822]
|
64
|
-
readcursor |= Indicators[:'message-rfc822']
|
65
|
-
next
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
if readcursor & Indicators[:'message-rfc822'] > 0
|
70
|
-
# After "message/rfc822"
|
71
|
-
if e.empty?
|
72
|
-
blanklines += 1
|
73
|
-
break if blanklines > 1
|
74
|
-
next
|
75
|
-
end
|
76
|
-
rfc822list << e
|
77
|
-
|
78
|
-
else
|
79
|
-
# Before "message/rfc822"
|
80
|
-
next if readcursor & Indicators[:deliverystatus] == 0
|
81
|
-
next if e.empty?
|
82
|
-
|
83
|
-
# ============================================================================
|
84
|
-
# This is an automatically generated Delivery Status Notification.
|
85
|
-
#
|
86
|
-
# Delivery to the following recipients failed permanently:
|
87
|
-
#
|
88
|
-
# * kijitora@example.com
|
89
|
-
#
|
90
|
-
#
|
91
|
-
# ============================================================================
|
92
|
-
# Technical details:
|
93
|
-
#
|
94
|
-
# SMTP:RCPT host 192.0.2.8: 553 5.3.0 <kijitora@example.com>... No such user here
|
95
|
-
#
|
96
|
-
#
|
97
|
-
# ============================================================================
|
98
|
-
v = dscontents[-1]
|
99
|
-
|
100
|
-
if cv = e.match(/\A[ \t]+[*][ ]([^ ]+[@][^ ]+)\z/)
|
101
|
-
# * kijitora@example.com
|
102
|
-
if v['recipient']
|
103
|
-
# There are multiple recipient addresses in the message body.
|
104
|
-
dscontents << Sisimai::MTA.DELIVERYSTATUS
|
105
|
-
v = dscontents[-1]
|
106
|
-
end
|
107
|
-
v['recipient'] = cv[1]
|
108
|
-
recipients += 1
|
109
|
-
|
110
|
-
else
|
111
|
-
# Detect error message
|
112
|
-
if cv = e.match(/\ASMTP:([^ ]+)[ ](.+)\z/)
|
113
|
-
# SMTP:RCPT host 192.0.2.8: 553 5.3.0 <kijitora@example.com>... No such user here
|
114
|
-
v['command'] = cv[1].upcase
|
115
|
-
v['diagnosis'] = cv[2]
|
116
|
-
|
117
|
-
elsif cv = e.match(/\ARouting: (.+)/)
|
118
|
-
# Routing: Could not find a gateway for kijitora@example.co.jp
|
119
|
-
v['diagnosis'] = cv[1]
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
123
|
-
end
|
124
|
-
|
125
|
-
return nil if recipients.zero?
|
126
|
-
require 'sisimai/string'
|
127
|
-
require 'sisimai/smtp/status'
|
128
|
-
|
129
|
-
dscontents.map do |e|
|
130
|
-
e['agent'] = Sisimai::MTA::X3.smtpagent
|
131
|
-
e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
|
132
|
-
e['status'] = Sisimai::SMTP::Status.find(e['diagnosis'])
|
133
|
-
e.each_key { |a| e[a] ||= '' }
|
134
|
-
end
|
135
|
-
|
136
|
-
rfc822part = Sisimai::RFC5322.weedout(rfc822list)
|
137
|
-
return { 'ds' => dscontents, 'rfc822' => rfc822part }
|
138
|
-
end
|
139
|
-
|
140
|
-
end
|
141
|
-
end
|
142
|
-
end
|
143
|
-
end
|
144
|
-
|
data/lib/sisimai/mta/x4.rb
DELETED
@@ -1,328 +0,0 @@
|
|
1
|
-
module Sisimai
|
2
|
-
module MTA
|
3
|
-
# Sisimai::MTA::X4 parses a bounce email which created by some qmail clone.
|
4
|
-
# Methods in the module are called from only Sisimai::Message.
|
5
|
-
module X4
|
6
|
-
# Imported from p5-Sisimail/lib/Sisimai/MTA/X4.pm
|
7
|
-
class << self
|
8
|
-
require 'sisimai/mta'
|
9
|
-
require 'sisimai/rfc5322'
|
10
|
-
Re0 = {
|
11
|
-
:subject => %r{\A(?:
|
12
|
-
failure[ ]notice
|
13
|
-
|Permanent[ ]Delivery[ ]Failure
|
14
|
-
)
|
15
|
-
}xi,
|
16
|
-
:received => %r/\A[(]qmail[ ]+\d+[ ]+invoked[ ]+for[ ]+bounce[)]/,
|
17
|
-
}
|
18
|
-
# qmail-remote.c:248| if (code >= 500) {
|
19
|
-
# qmail-remote.c:249| out("h"); outhost(); out(" does not like recipient.\n");
|
20
|
-
# qmail-remote.c:265| if (code >= 500) quit("D"," failed on DATA command");
|
21
|
-
# qmail-remote.c:271| if (code >= 500) quit("D"," failed after I sent the message");
|
22
|
-
#
|
23
|
-
# Characters: K,Z,D in qmail-qmqpc.c, qmail-send.c, qmail-rspawn.c
|
24
|
-
# K = success, Z = temporary error, D = permanent error
|
25
|
-
#
|
26
|
-
# MTA module for qmail clones
|
27
|
-
Re1 = {
|
28
|
-
:begin => %r{\A(?>
|
29
|
-
He/Her[ ]is[ ]not.+[ ]user
|
30
|
-
|Hi[.][ ].+[ ]unable[ ]to[ ]deliver[ ]your[ ]message[ ]to[ ]
|
31
|
-
the[ ]following[ ]addresses
|
32
|
-
|Su[ ]mensaje[ ]no[ ]pudo[ ]ser[ ]entregado
|
33
|
-
|This[ ]is[ ]the[ ](?:
|
34
|
-
machine[ ]generated[ ]message[ ]from[ ]mail[ ]service
|
35
|
-
|mail[ ]delivery[ ]agent[ ]at
|
36
|
-
)
|
37
|
-
|Unable[ ]to[ ]deliver[ ]message[ ]to[ ]the[ ]following[ ]address
|
38
|
-
|Unfortunately,[ ]your[ ]mail[ ]was[ ]not[ ]delivered[ ]to[ ]the[ ]following[ ]address:
|
39
|
-
|Your[ ](?:
|
40
|
-
mail[ ]message[ ]to[ ]the[ ]following[ ]address
|
41
|
-
|message[ ]to[ ]the[ ]following[ ]addresses
|
42
|
-
)
|
43
|
-
|We're[ ]sorry[.]
|
44
|
-
)
|
45
|
-
}ix,
|
46
|
-
:rfc822 => %r{\A(?:
|
47
|
-
---[ ]Below[ ]this[ ]line[ ]is[ ]a[ ]copy[ ]of[ ]the[ ]message[.]
|
48
|
-
|---[ ]Original[ ]message[ ]follows[.]
|
49
|
-
)
|
50
|
-
}xi,
|
51
|
-
:error => %r/\ARemote host said:/,
|
52
|
-
:sorry => %r/\A[Ss]orry[,.][ ]/,
|
53
|
-
:endof => %r/\A__END_OF_EMAIL_MESSAGE__\z/,
|
54
|
-
}
|
55
|
-
ReSMTP = {
|
56
|
-
# Error text regular expressions which defined in qmail-remote.c
|
57
|
-
# qmail-remote.c:225| if (smtpcode() != 220) quit("ZConnected to "," but greeting failed");
|
58
|
-
conn: %r/(?:Error:)?Connected[ ]to[ ].+[ ]but[ ]greeting[ ]failed[.]/x,
|
59
|
-
# qmail-remote.c:231| if (smtpcode() != 250) quit("ZConnected to "," but my name was rejected");
|
60
|
-
ehlo: %r/(?:Error:)?Connected[ ]to[ ].+[ ]but[ ]my[ ]name[ ]was[ ]rejected[.]/x,
|
61
|
-
# qmail-remote.c:238| if (code >= 500) quit("DConnected to "," but sender was rejected");
|
62
|
-
# reason = rejected
|
63
|
-
mail: %r/(?:Error:)?Connected[ ]to[ ].+[ ]but[ ]sender[ ]was[ ]rejected[.]/x,
|
64
|
-
# qmail-remote.c:249| out("h"); outhost(); out(" does not like recipient.\n");
|
65
|
-
# qmail-remote.c:253| out("s"); outhost(); out(" does not like recipient.\n");
|
66
|
-
# reason = userunknown
|
67
|
-
rcpt: %r/(?:Error:)?.+[ ]does[ ]not[ ]like[ ]recipient[.]/x,
|
68
|
-
# qmail-remote.c:265| if (code >= 500) quit("D"," failed on DATA command");
|
69
|
-
# qmail-remote.c:266| if (code >= 400) quit("Z"," failed on DATA command");
|
70
|
-
# qmail-remote.c:271| if (code >= 500) quit("D"," failed after I sent the message");
|
71
|
-
# qmail-remote.c:272| if (code >= 400) quit("Z"," failed after I sent the message");
|
72
|
-
data: %r{(?:
|
73
|
-
(?:Error:)?.+[ ]failed[ ]on[ ]DATA[ ]command[.]
|
74
|
-
|(?:Error:)?.+[ ]failed[ ]after[ ]I[ ]sent[ ]the[ ]message[.]
|
75
|
-
)
|
76
|
-
}x,
|
77
|
-
}
|
78
|
-
# qmail-remote.c:261| if (!flagbother) quit("DGiving up on ","");
|
79
|
-
ReHost = %r{(?:
|
80
|
-
Giving[ ]up[ ]on[ ](.+[0-9a-zA-Z])[.]?\z
|
81
|
-
|Connected[ ]to[ ]([-0-9a-zA-Z.]+[0-9a-zA-Z])[ ]
|
82
|
-
|remote[ ]host[ ]([-0-9a-zA-Z.]+[0-9a-zA-Z])[ ]said:
|
83
|
-
)
|
84
|
-
}x
|
85
|
-
# qmail-ldap-1.03-20040101.patch:19817 - 19866
|
86
|
-
ReLDAP = {
|
87
|
-
suspend: %r/Mailaddress is administrative?le?y disabled/, # 5.2.1
|
88
|
-
userunknown: %r/[Ss]orry, no mailbox here by that name/, # 5.1.1
|
89
|
-
exceedlimit: %r/The message exeeded the maximum size the user accepts/, # 5.2.3
|
90
|
-
systemerror: %r{(?>
|
91
|
-
Automatic[ ]homedir[ ]creator[ ]crashed # 4.3.0
|
92
|
-
|Illegal[ ]value[ ]in[ ]LDAP[ ]attribute # 5.3.5
|
93
|
-
|LDAP[ ]attribute[ ]is[ ]not[ ]given[ ]but[ ]mandatory # 5.3.5
|
94
|
-
|Timeout[ ]while[ ]performing[ ]search[ ]on[ ]LDAP[ ]server # 4.4.3
|
95
|
-
|Too[ ]many[ ]results[ ]returned[ ]but[ ]needs[ ]to[ ]be[ ]unique # 5.3.5
|
96
|
-
|Permanent[ ]error[ ]while[ ]executing[ ]qmail[-]forward # 5.4.4
|
97
|
-
|Temporary[ ](?:
|
98
|
-
error[ ](?:
|
99
|
-
in[ ]automatic[ ]homedir[ ]creation # 4.3.0 or 5.3.0
|
100
|
-
|while[ ]executing[ ]qmail[-]forward # 4.4.4
|
101
|
-
)
|
102
|
-
|failure[ ]in[ ]LDAP[ ]lookup # 4.4.3
|
103
|
-
)
|
104
|
-
|Unable[ ]to[ ](?:
|
105
|
-
contact[ ]LDAP[ ]server # 4.4.3
|
106
|
-
|login[ ]into[ ]LDAP[ ]server,[ ]bad[ ]credentials # 4.4.3
|
107
|
-
)
|
108
|
-
)
|
109
|
-
}x,
|
110
|
-
}
|
111
|
-
# userunknown + expired
|
112
|
-
ReOnHold = %r/\A[^ ]+ does not like recipient[.][ ]+.+this message has been in the queue too long[.]\z/
|
113
|
-
# qmail-remote-fallback.patch
|
114
|
-
ReCommand = %r/Sorry,[ ]no[ ]SMTP[ ]connection[ ]got[ ]far[ ]enough;[ ]most[ ]progress[ ]was[ ]([A-Z]{4})[ ]/x
|
115
|
-
ReFailure = {
|
116
|
-
# qmail-local.c:589| strerr_die1x(100,"Sorry, no mailbox here by that name. (#5.1.1)");
|
117
|
-
# qmail-remote.c:253| out("s"); outhost(); out(" does not like recipient.\n");
|
118
|
-
userunknown: %r{(?:
|
119
|
-
no[ ]mailbox[ ]here[ ]by[ ]that[ ]name
|
120
|
-
|[ ]does[ ]not[ ]like[ ]recipient[.]
|
121
|
-
)
|
122
|
-
}x,
|
123
|
-
# error_str.c:192| X(EDQUOT,"disk quota exceeded")
|
124
|
-
mailboxfull: %r/disk[ ]quota[ ]exceeded/x,
|
125
|
-
# qmail-qmtpd.c:233| ... result = "Dsorry, that message size exceeds my databytes limit (#5.3.4)";
|
126
|
-
# qmail-smtpd.c:391| ... out("552 sorry, that message size exceeds my databytes limit (#5.3.4)\r\n"); return;
|
127
|
-
mesgtoobig: %r/Message[ ]size[ ]exceeds[ ]fixed[ ]maximum[ ]message[ ]size:/x,
|
128
|
-
# qmail-remote.c:68| Sorry, I couldn't find any host by that name. (#4.1.2)\n"); zerodie();
|
129
|
-
# qmail-remote.c:78| Sorry, I couldn't find any host named ");
|
130
|
-
hostunknown: %r/\ASorry[,][ ]I[ ]couldn[']t[ ]find[ ]any[ ]host[ ]/x,
|
131
|
-
systemerror: %r{(?>
|
132
|
-
bad[ ]interpreter:[ ]No[ ]such[ ]file[ ]or[ ]directory
|
133
|
-
|system[ ]error
|
134
|
-
|Unable[ ]to\b
|
135
|
-
)
|
136
|
-
}x,
|
137
|
-
networkerror: %r{Sorry(?:
|
138
|
-
[,][ ]I[ ]wasn[']t[ ]able[ ]to[ ]establish[ ]an[ ]SMTP[ ]connection
|
139
|
-
|[,][ ]I[ ]couldn[']t[ ]find[ ]a[ ]mail[ ]exchanger[ ]or[ ]IP[ ]address
|
140
|
-
|[.][ ]Although[ ]I[']m[ ]listed[ ]as[ ]a[ ]best[-]preference[ ]MX[ ]or[ ]A[ ]for[ ]that[ ]host
|
141
|
-
)
|
142
|
-
}x,
|
143
|
-
systemfull: %r/Requested action not taken: mailbox unavailable [(]not enough free space[)]/,
|
144
|
-
}
|
145
|
-
# qmail-send.c:922| ... (&dline[c],"I'm not going to try again; this message has been in the queue too long.\n")) nomem();
|
146
|
-
ReDelayed = %r/this[ ]message[ ]has[ ]been[ ]in[ ]the[ ]queue[ ]too[ ]long[.]\z/x
|
147
|
-
Indicators = Sisimai::MTA.INDICATORS
|
148
|
-
|
149
|
-
def description; return 'Unknown MTA #4'; end
|
150
|
-
def smtpagent; return Sisimai::MTA.smtpagent(self); end
|
151
|
-
def headerlist; return []; end
|
152
|
-
def pattern; return Re0; end
|
153
|
-
|
154
|
-
# Parse bounce messages from Unknown MTA #4
|
155
|
-
# @param [Hash] mhead Message header of a bounce email
|
156
|
-
# @options mhead [String] from From header
|
157
|
-
# @options mhead [String] date Date header
|
158
|
-
# @options mhead [String] subject Subject header
|
159
|
-
# @options mhead [Array] received Received headers
|
160
|
-
# @options mhead [String] others Other required headers
|
161
|
-
# @param [String] mbody Message body of a bounce email
|
162
|
-
# @return [Hash, Nil] Bounce data list and message/rfc822
|
163
|
-
# part or nil if it failed to parse or
|
164
|
-
# the arguments are missing
|
165
|
-
def scan(mhead, mbody)
|
166
|
-
return nil unless mhead
|
167
|
-
return nil unless mbody
|
168
|
-
|
169
|
-
# Pre process email headers and the body part of the message which generated
|
170
|
-
# by qmail, see http://cr.yp.to/qmail.html
|
171
|
-
# e.g.) Received: (qmail 12345 invoked for bounce); 29 Apr 2009 12:34:56 -0000
|
172
|
-
# Subject: failure notice
|
173
|
-
match = 0
|
174
|
-
match += 1 if mhead['subject'] =~ Re0[:subject]
|
175
|
-
match += 1 if mhead['received'].find { |a| a =~ Re0[:received] }
|
176
|
-
return nil if match.zero?
|
177
|
-
|
178
|
-
dscontents = [Sisimai::MTA.DELIVERYSTATUS]
|
179
|
-
hasdivided = mbody.split("\n")
|
180
|
-
rfc822list = [] # (Array) Each line in message/rfc822 part string
|
181
|
-
blanklines = 0 # (Integer) The number of blank lines
|
182
|
-
readcursor = 0 # (Integer) Points the current cursor position
|
183
|
-
recipients = 0 # (Integer) The number of 'Final-Recipient' header
|
184
|
-
v = nil
|
185
|
-
|
186
|
-
hasdivided.each do |e|
|
187
|
-
if readcursor.zero?
|
188
|
-
# Beginning of the bounce message or delivery status part
|
189
|
-
if e =~ Re1[:begin]
|
190
|
-
readcursor |= Indicators[:deliverystatus]
|
191
|
-
next
|
192
|
-
end
|
193
|
-
end
|
194
|
-
|
195
|
-
if readcursor & Indicators[:'message-rfc822'] == 0
|
196
|
-
# Beginning of the original message part
|
197
|
-
if e =~ Re1[:rfc822]
|
198
|
-
readcursor |= Indicators[:'message-rfc822']
|
199
|
-
next
|
200
|
-
end
|
201
|
-
end
|
202
|
-
|
203
|
-
if readcursor & Indicators[:'message-rfc822'] > 0
|
204
|
-
# After "message/rfc822"
|
205
|
-
if e.empty?
|
206
|
-
blanklines += 1
|
207
|
-
break if blanklines > 1
|
208
|
-
next
|
209
|
-
end
|
210
|
-
rfc822list << e
|
211
|
-
|
212
|
-
else
|
213
|
-
# Before "message/rfc822"
|
214
|
-
next if readcursor & Indicators[:deliverystatus] == 0
|
215
|
-
next if e.empty?
|
216
|
-
|
217
|
-
# <kijitora@example.jp>:
|
218
|
-
# 192.0.2.153 does not like recipient.
|
219
|
-
# Remote host said: 550 5.1.1 <kijitora@example.jp>... User Unknown
|
220
|
-
# Giving up on 192.0.2.153.
|
221
|
-
v = dscontents[-1]
|
222
|
-
|
223
|
-
if cv = e.match(/\A(?:To[ ]*:)?[<](.+[@].+)[>]:[ ]*\z/)
|
224
|
-
# <kijitora@example.jp>:
|
225
|
-
if v['recipient']
|
226
|
-
# There are multiple recipient addresses in the message body.
|
227
|
-
dscontents << Sisimai::MTA.DELIVERYSTATUS
|
228
|
-
v = dscontents[-1]
|
229
|
-
end
|
230
|
-
v['recipient'] = cv[1]
|
231
|
-
recipients += 1
|
232
|
-
|
233
|
-
elsif dscontents.size == recipients
|
234
|
-
# Append error message
|
235
|
-
next if e.empty?
|
236
|
-
v['diagnosis'] ||= ''
|
237
|
-
v['diagnosis'] += e + ' '
|
238
|
-
v['alterrors'] = e if e =~ Re1[:error]
|
239
|
-
|
240
|
-
next if v['rhost']
|
241
|
-
if cv = e.match(ReHost)
|
242
|
-
v['rhost'] = cv[1]
|
243
|
-
end
|
244
|
-
end
|
245
|
-
end
|
246
|
-
end
|
247
|
-
return nil if recipients.zero?
|
248
|
-
require 'sisimai/string'
|
249
|
-
|
250
|
-
dscontents.map do |e|
|
251
|
-
e['agent'] = Sisimai::MTA::X4.smtpagent
|
252
|
-
e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
|
253
|
-
|
254
|
-
unless e['command']
|
255
|
-
# Get the SMTP command name for the session
|
256
|
-
ReSMTP.each_key do |r|
|
257
|
-
# Verify each regular expression of SMTP commands
|
258
|
-
next unless e['diagnosis'] =~ ReSMTP[r]
|
259
|
-
e['command'] = r.to_s.upcase
|
260
|
-
break
|
261
|
-
end
|
262
|
-
|
263
|
-
unless e['command']
|
264
|
-
# Verify each regular expression of patches
|
265
|
-
if cv = e['diagnosis'].match(ReCommand)
|
266
|
-
e['command'] = cv[1].upcase
|
267
|
-
end
|
268
|
-
e['command'] ||= ''
|
269
|
-
end
|
270
|
-
end
|
271
|
-
|
272
|
-
# Detect the reason of bounce
|
273
|
-
if e['command'] == 'MAIL'
|
274
|
-
# MAIL | Connected to 192.0.2.135 but sender was rejected.
|
275
|
-
e['reason'] = 'rejected'
|
276
|
-
|
277
|
-
elsif e['command'] =~ /\A(?:HELO|EHLO)\z/
|
278
|
-
# HELO | Connected to 192.0.2.135 but my name was rejected.
|
279
|
-
e['reason'] = 'blocked'
|
280
|
-
|
281
|
-
else
|
282
|
-
# Try to match with each error message in the table
|
283
|
-
if e['diagnosis'] =~ ReOnHold
|
284
|
-
# To decide the reason require pattern match with
|
285
|
-
# Sisimai::Reason::* modules
|
286
|
-
e['reason'] = 'onhold'
|
287
|
-
|
288
|
-
else
|
289
|
-
ReFailure.each_key do |r|
|
290
|
-
# Verify each regular expression of session errors
|
291
|
-
if e['alterrors']
|
292
|
-
# Check the value of "alterrors"
|
293
|
-
next unless e['alterrors'] =~ ReFailure[r]
|
294
|
-
e['reason'] = r.to_s
|
295
|
-
end
|
296
|
-
break if e['reason']
|
297
|
-
|
298
|
-
next unless e['diagnosis'] =~ ReFailure[r]
|
299
|
-
e['reason'] = r.to_s
|
300
|
-
break
|
301
|
-
end
|
302
|
-
|
303
|
-
unless e['reason']
|
304
|
-
ReLDAP.each_key do |r|
|
305
|
-
# Verify each regular expression of LDAP errors
|
306
|
-
next unless e['diagnosis'] =~ ReLDAP[r]
|
307
|
-
e['reason'] = r.to_s
|
308
|
-
break
|
309
|
-
end
|
310
|
-
end
|
311
|
-
|
312
|
-
unless e['reason']
|
313
|
-
e['reason'] = 'expired' if e['diagnosis'] =~ ReDelayed
|
314
|
-
end
|
315
|
-
end
|
316
|
-
end
|
317
|
-
e.each_key { |a| e[a] ||= '' }
|
318
|
-
end
|
319
|
-
|
320
|
-
rfc822part = Sisimai::RFC5322.weedout(rfc822list)
|
321
|
-
return { 'ds' => dscontents, 'rfc822' => rfc822part }
|
322
|
-
end
|
323
|
-
|
324
|
-
end
|
325
|
-
end
|
326
|
-
end
|
327
|
-
end
|
328
|
-
|