sisimai 4.25.5-java → 4.25.11-java
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of sisimai might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +4 -3
- data/ANALYTICAL-PRECISION +60 -56
- data/Benchmarks.mk +5 -3
- data/ChangeLog.md +148 -1
- data/Developers.mk +2 -2
- data/Makefile +1 -1
- data/README-JA.md +22 -22
- data/README.md +23 -22
- data/Repository.mk +1 -1
- data/lib/sisimai.rb +8 -14
- data/lib/sisimai/address.rb +6 -3
- data/lib/sisimai/arf.rb +42 -44
- data/lib/sisimai/data.rb +12 -33
- data/lib/sisimai/datetime.rb +18 -17
- data/lib/sisimai/lhost.rb +25 -33
- data/lib/sisimai/lhost/activehunter.rb +6 -21
- data/lib/sisimai/lhost/amavis.rb +78 -20
- data/lib/sisimai/lhost/amazonses.rb +11 -25
- data/lib/sisimai/lhost/amazonworkmail.rb +8 -24
- data/lib/sisimai/lhost/aol.rb +15 -29
- data/lib/sisimai/lhost/apachejames.rb +6 -21
- data/lib/sisimai/lhost/barracuda.rb +94 -0
- data/lib/sisimai/lhost/bigfoot.rb +5 -17
- data/lib/sisimai/lhost/biglobe.rb +5 -16
- data/lib/sisimai/lhost/courier.rb +6 -19
- data/lib/sisimai/lhost/domino.rb +34 -21
- data/lib/sisimai/lhost/einsundeins.rb +6 -17
- data/lib/sisimai/lhost/exchange2003.rb +10 -19
- data/lib/sisimai/lhost/exchange2007.rb +17 -20
- data/lib/sisimai/lhost/exim.rb +20 -32
- data/lib/sisimai/lhost/ezweb.rb +6 -18
- data/lib/sisimai/lhost/facebook.rb +5 -16
- data/lib/sisimai/lhost/fml.rb +6 -20
- data/lib/sisimai/lhost/{google.rb → gmail.rb} +9 -21
- data/lib/sisimai/lhost/gmx.rb +9 -23
- data/lib/sisimai/lhost/googlegroups.rb +77 -0
- data/lib/sisimai/lhost/gsuite.rb +10 -17
- data/lib/sisimai/lhost/imailserver.rb +13 -25
- data/lib/sisimai/lhost/interscanmss.rb +11 -22
- data/lib/sisimai/lhost/kddi.rb +5 -16
- data/lib/sisimai/lhost/mailfoundry.rb +9 -25
- data/lib/sisimai/lhost/mailmarshalsmtp.rb +8 -23
- data/lib/sisimai/lhost/mailru.rb +5 -16
- data/lib/sisimai/lhost/mcafee.rb +6 -18
- data/lib/sisimai/lhost/messagelabs.rb +10 -22
- data/lib/sisimai/lhost/messagingserver.rb +5 -18
- data/lib/sisimai/lhost/mfilter.rb +7 -19
- data/lib/sisimai/lhost/mxlogic.rb +9 -22
- data/lib/sisimai/lhost/notes.rb +7 -19
- data/lib/sisimai/lhost/office365.rb +25 -35
- data/lib/sisimai/lhost/opensmtpd.rb +5 -19
- data/lib/sisimai/lhost/outlook.rb +7 -21
- data/lib/sisimai/lhost/postfix.rb +9 -27
- data/lib/sisimai/lhost/powermta.rb +120 -0
- data/lib/sisimai/lhost/qmail.rb +13 -24
- data/lib/sisimai/lhost/receivingses.rb +7 -22
- data/lib/sisimai/lhost/sendgrid.rb +9 -22
- data/lib/sisimai/lhost/sendmail.rb +7 -23
- data/lib/sisimai/lhost/surfcontrol.rb +9 -25
- data/lib/sisimai/lhost/v5sendmail.rb +5 -18
- data/lib/sisimai/lhost/verizon.rb +9 -21
- data/lib/sisimai/lhost/x1.rb +7 -19
- data/lib/sisimai/lhost/x2.rb +8 -23
- data/lib/sisimai/lhost/x3.rb +11 -19
- data/lib/sisimai/lhost/x4.rb +15 -27
- data/lib/sisimai/lhost/x5.rb +15 -26
- data/lib/sisimai/lhost/x6.rb +74 -0
- data/lib/sisimai/lhost/yahoo.rb +11 -24
- data/lib/sisimai/lhost/yandex.rb +14 -26
- data/lib/sisimai/lhost/zoho.rb +8 -28
- data/lib/sisimai/mail.rb +23 -27
- data/lib/sisimai/mail/maildir.rb +27 -28
- data/lib/sisimai/mail/memory.rb +18 -16
- data/lib/sisimai/mail/stdin.rb +5 -5
- data/lib/sisimai/mda.rb +6 -12
- data/lib/sisimai/message.rb +131 -301
- data/lib/sisimai/mime.rb +26 -31
- data/lib/sisimai/order.rb +149 -183
- data/lib/sisimai/reason.rb +25 -14
- data/lib/sisimai/reason/blocked.rb +40 -26
- data/lib/sisimai/reason/exceedlimit.rb +4 -1
- data/lib/sisimai/reason/expired.rb +2 -0
- data/lib/sisimai/reason/filtered.rb +1 -0
- data/lib/sisimai/reason/hostunknown.rb +3 -0
- data/lib/sisimai/reason/mailererror.rb +1 -1
- data/lib/sisimai/reason/norelaying.rb +5 -0
- data/lib/sisimai/reason/notaccept.rb +2 -0
- data/lib/sisimai/reason/policyviolation.rb +4 -0
- data/lib/sisimai/reason/rejected.rb +6 -1
- data/lib/sisimai/reason/securityerror.rb +5 -6
- data/lib/sisimai/reason/spamdetected.rb +17 -15
- data/lib/sisimai/reason/suspend.rb +1 -0
- data/lib/sisimai/reason/systemerror.rb +2 -0
- data/lib/sisimai/reason/userunknown.rb +37 -26
- data/lib/sisimai/rfc1894.rb +24 -22
- data/lib/sisimai/rfc3464.rb +10 -28
- data/lib/sisimai/rfc3834.rb +6 -19
- data/lib/sisimai/rfc5322.rb +8 -4
- data/lib/sisimai/rhost.rb +6 -8
- data/lib/sisimai/rhost/cox.rb +112 -0
- data/lib/sisimai/rhost/exchangeonline.rb +33 -23
- data/lib/sisimai/rhost/googleapps.rb +4 -1
- data/lib/sisimai/rhost/spectrum.rb +73 -0
- data/lib/sisimai/smtp.rb +0 -13
- data/lib/sisimai/smtp/error.rb +8 -6
- data/lib/sisimai/smtp/reply.rb +1 -1
- data/lib/sisimai/smtp/status.rb +1 -1
- data/lib/sisimai/string.rb +3 -11
- data/lib/sisimai/time.rb +1 -2
- data/lib/sisimai/version.rb +1 -1
- data/set-of-emails/README.md +5 -4
- data/set-of-emails/maildir/bsd/arf-24.eml +50 -0
- data/set-of-emails/maildir/bsd/arf-25.eml +61 -0
- data/set-of-emails/maildir/bsd/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-activehunter-02.eml → lhost-activehunter-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amavis-02.eml → lhost-amavis-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-amavis-03.eml +90 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-02.eml → lhost-amazonses-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-03.eml → lhost-amazonses-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-05.eml → lhost-amazonses-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-06.eml → lhost-amazonses-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-07.eml → lhost-amazonses-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-08.eml → lhost-amazonses-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-09.eml → lhost-amazonses-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-10.eml → lhost-amazonses-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-11.eml → lhost-amazonses-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-12.eml → lhost-amazonses-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-13.eml → lhost-amazonses-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-14.eml → lhost-amazonses-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-15.eml → lhost-amazonses-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-16.eml → lhost-amazonses-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-17.eml → lhost-amazonses-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-18.eml → lhost-amazonses-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-19.eml → lhost-amazonses-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-20.eml → lhost-amazonses-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonses-21.eml → lhost-amazonses-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-02.eml → lhost-amazonworkmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-03.eml → lhost-amazonworkmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-04.eml → lhost-amazonworkmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-05.eml → lhost-amazonworkmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-07.eml → lhost-amazonworkmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-amazonworkmail-08.eml → lhost-amazonworkmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-aol-02.eml → lhost-aol-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-aol-03.eml → lhost-aol-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-aol-04.eml → lhost-aol-04.eml} +23 -23
- data/set-of-emails/maildir/bsd/{email-aol-05.eml → lhost-aol-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-aol-06.eml → lhost-aol-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-barracuda-01.eml +67 -0
- data/set-of-emails/maildir/bsd/lhost-barracuda-02.eml +71 -0
- data/set-of-emails/maildir/bsd/{email-bigfoot-02.eml → lhost-bigfoot-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-courier-02.eml → lhost-courier-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-courier-03.eml → lhost-courier-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-courier-04.eml → lhost-courier-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-domino-02.eml → lhost-domino-02.eml} +1 -2
- data/set-of-emails/maildir/bsd/{email-domino-03.eml → lhost-domino-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-einsundeins-02.eml → lhost-einsundeins-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-einsundeins-03.eml → lhost-einsundeins-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2003-02.eml → lhost-exchange2003-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2003-03.eml → lhost-exchange2003-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2003-04.eml → lhost-exchange2003-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2003-05.eml → lhost-exchange2003-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2003-07.eml → lhost-exchange2003-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2007-02.eml → lhost-exchange2007-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2007-03.eml → lhost-exchange2007-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2007-04.eml → lhost-exchange2007-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2007-05.eml → lhost-exchange2007-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exchange2007-06.eml → lhost-exchange2007-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-exchange2007-07.eml +128 -0
- data/set-of-emails/maildir/bsd/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-02.eml → lhost-exim-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-03.eml → lhost-exim-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-04.eml → lhost-exim-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-05.eml → lhost-exim-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-06.eml → lhost-exim-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-07.eml → lhost-exim-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-08.eml → lhost-exim-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-29.eml → lhost-exim-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-30.eml → lhost-exim-30.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-31.eml → lhost-exim-31.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-32.eml → lhost-exim-32.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-33.eml → lhost-exim-33.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-34.eml → lhost-exim-34.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-35.eml → lhost-exim-35.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-36.eml → lhost-exim-36.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-37.eml → lhost-exim-37.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-38.eml → lhost-exim-38.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-39.eml → lhost-exim-39.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-40.eml → lhost-exim-40.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-41.eml → lhost-exim-41.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-42.eml → lhost-exim-42.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-43.eml → lhost-exim-43.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-44.eml → lhost-exim-44.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-45.eml → lhost-exim-45.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-46.eml → lhost-exim-46.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-47.eml → lhost-exim-47.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-48.eml → lhost-exim-48.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-49.eml → lhost-exim-49.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-50.eml → lhost-exim-50.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-51.eml → lhost-exim-51.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-52.eml → lhost-exim-52.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-53.eml → lhost-exim-53.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-54.eml → lhost-exim-54.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-55.eml → lhost-exim-55.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-56.eml → lhost-exim-56.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-57.eml → lhost-exim-57.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-58.eml → lhost-exim-58.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-59.eml → lhost-exim-59.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-exim-60.eml → lhost-exim-60.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-exim-61.eml +40 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-02.eml → lhost-ezweb-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-03.eml → lhost-ezweb-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-04.eml → lhost-ezweb-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-05.eml → lhost-ezweb-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-07.eml → lhost-ezweb-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-ezweb-08.eml → lhost-ezweb-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-facebook-03.eml → lhost-facebook-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-facebook-04.eml → lhost-facebook-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-fml-02.eml → lhost-fml-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-fml-03.eml → lhost-fml-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-03.eml → lhost-gmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-04.eml → lhost-gmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-05.eml → lhost-gmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-06.eml → lhost-gmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-07.eml → lhost-gmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-08.eml → lhost-gmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-09.eml → lhost-gmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-10.eml → lhost-gmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-11.eml → lhost-gmail-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-15.eml → lhost-gmail-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-16.eml → lhost-gmail-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-17.eml → lhost-gmail-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-18.eml → lhost-gmail-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-google-19.eml → lhost-gmail-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gmx-02.eml → lhost-gmx-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gmx-03.eml → lhost-gmx-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gmx-04.eml → lhost-gmx-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-01.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-02.eml +114 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-03.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-04.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-05.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-06.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-07.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-08.eml +115 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-09.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-10.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-11.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-12.eml +116 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-13.eml +115 -0
- data/set-of-emails/maildir/bsd/lhost-googlegroups-14.eml +127 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-02.eml → lhost-gsuite-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-03.eml → lhost-gsuite-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-04.eml → lhost-gsuite-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-05.eml → lhost-gsuite-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-06.eml → lhost-gsuite-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-07.eml → lhost-gsuite-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-08.eml → lhost-gsuite-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-09.eml → lhost-gsuite-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-10.eml → lhost-gsuite-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-11.eml → lhost-gsuite-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-12.eml → lhost-gsuite-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-gsuite-13.eml → lhost-gsuite-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-gsuite-14.eml +273 -0
- data/set-of-emails/maildir/bsd/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-imailserver-02.eml → lhost-imailserver-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-imailserver-03.eml → lhost-imailserver-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-imailserver-04.eml → lhost-imailserver-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-imailserver-06.eml → lhost-imailserver-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-interscanmss-02.eml +70 -0
- data/set-of-emails/maildir/bsd/lhost-interscanmss-03.eml +73 -0
- data/set-of-emails/maildir/bsd/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-kddi-02.eml → lhost-kddi-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-kddi-03.eml → lhost-kddi-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailfoundry-02.eml → lhost-mailfoundry-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailmarshalsmtp-02.eml → lhost-mailmarshalsmtp-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-02.eml → lhost-mailru-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-03.eml → lhost-mailru-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-04.eml → lhost-mailru-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-05.eml → lhost-mailru-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-06.eml → lhost-mailru-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-07.eml → lhost-mailru-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-08.eml → lhost-mailru-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-09.eml → lhost-mailru-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mailru-10.eml → lhost-mailru-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mcafee-02.eml → lhost-mcafee-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mcafee-03.eml → lhost-mcafee-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mcafee-04.eml → lhost-mcafee-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mcafee-05.eml → lhost-mcafee-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagelabs-02.eml → lhost-messagelabs-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagelabs-03.eml → lhost-messagelabs-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-02.eml → lhost-messagingserver-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-03.eml → lhost-messagingserver-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-04.eml → lhost-messagingserver-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-05.eml → lhost-messagingserver-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-06.eml → lhost-messagingserver-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-07.eml → lhost-messagingserver-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-08.eml → lhost-messagingserver-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-09.eml → lhost-messagingserver-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-10.eml → lhost-messagingserver-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-11.eml → lhost-messagingserver-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-messagingserver-12.eml → lhost-messagingserver-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mfilter-02.eml → lhost-mfilter-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mfilter-03.eml → lhost-mfilter-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mfilter-04.eml → lhost-mfilter-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mxlogic-02.eml → lhost-mxlogic-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-mxlogic-03.eml → lhost-mxlogic-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-notes-02.eml → lhost-notes-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-notes-03.eml → lhost-notes-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-02.eml → lhost-office365-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-03.eml → lhost-office365-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-04.eml → lhost-office365-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-05.eml → lhost-office365-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-06.eml → lhost-office365-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-07.eml → lhost-office365-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-08.eml → lhost-office365-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-09.eml → lhost-office365-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-10.eml → lhost-office365-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-11.eml → lhost-office365-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-office365-12.eml → lhost-office365-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-office365-13.eml +259 -0
- data/set-of-emails/maildir/bsd/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-opensmtpd-02.eml → lhost-opensmtpd-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-opensmtpd-03.eml → lhost-opensmtpd-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-opensmtpd-04.eml → lhost-opensmtpd-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-opensmtpd-05.eml → lhost-opensmtpd-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-opensmtpd-06.eml → lhost-opensmtpd-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-02.eml → lhost-outlook-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-03.eml → lhost-outlook-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-04.eml → lhost-outlook-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-06.eml → lhost-outlook-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-07.eml → lhost-outlook-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-08.eml → lhost-outlook-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-outlook-09.eml → lhost-outlook-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-02.eml → lhost-postfix-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-03.eml → lhost-postfix-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-04.eml → lhost-postfix-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-05.eml → lhost-postfix-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-06.eml → lhost-postfix-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-07.eml → lhost-postfix-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-08.eml → lhost-postfix-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-09.eml → lhost-postfix-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-10.eml → lhost-postfix-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-11.eml → lhost-postfix-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-13.eml → lhost-postfix-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-14.eml → lhost-postfix-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-15.eml → lhost-postfix-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-16.eml → lhost-postfix-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-17.eml → lhost-postfix-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-28.eml → lhost-postfix-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-29.eml → lhost-postfix-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-30.eml → lhost-postfix-30.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-31.eml → lhost-postfix-31.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-32.eml → lhost-postfix-32.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-33.eml → lhost-postfix-33.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-34.eml → lhost-postfix-34.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-35.eml → lhost-postfix-35.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-36.eml → lhost-postfix-36.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-37.eml → lhost-postfix-37.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-38.eml → lhost-postfix-38.eml} +1 -1
- data/set-of-emails/maildir/bsd/{email-postfix-39.eml → lhost-postfix-39.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-40.eml → lhost-postfix-40.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-41.eml → lhost-postfix-41.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-42.eml → lhost-postfix-42.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-43.eml → lhost-postfix-43.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-44.eml → lhost-postfix-44.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-45.eml → lhost-postfix-45.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-46.eml → lhost-postfix-46.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-47.eml → lhost-postfix-47.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-48.eml → lhost-postfix-48.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-49.eml → lhost-postfix-49.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-50.eml → lhost-postfix-50.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-51.eml → lhost-postfix-51.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-52.eml → lhost-postfix-52.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-53.eml → lhost-postfix-53.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-54.eml → lhost-postfix-54.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-55.eml → lhost-postfix-55.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-56.eml → lhost-postfix-56.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-57.eml → lhost-postfix-57.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-58.eml → lhost-postfix-58.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-59.eml → lhost-postfix-59.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-60.eml → lhost-postfix-60.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-61.eml → lhost-postfix-61.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-62.eml → lhost-postfix-62.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-63.eml → lhost-postfix-63.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-postfix-64.eml → lhost-postfix-64.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-65.eml +69 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-66.eml +80 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-67.eml +80 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-68.eml +82 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-69.eml +80 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-70.eml +87 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-71.eml +81 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-72.eml +81 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-73.eml +79 -0
- data/set-of-emails/maildir/bsd/lhost-postfix-74.eml +83 -0
- data/set-of-emails/maildir/bsd/{rfc3464-05.eml → lhost-powermta-01.eml} +19 -18
- data/set-of-emails/maildir/bsd/lhost-powermta-02.eml +58 -0
- data/set-of-emails/maildir/bsd/lhost-powermta-03.eml +71 -0
- data/set-of-emails/maildir/bsd/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-02.eml → lhost-qmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-03.eml → lhost-qmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-04.eml → lhost-qmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-05.eml → lhost-qmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-06.eml → lhost-qmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-07.eml → lhost-qmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-08.eml → lhost-qmail-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-09.eml → lhost-qmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-qmail-10.eml → lhost-qmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-02.eml → lhost-receivingses-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-03.eml → lhost-receivingses-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-04.eml → lhost-receivingses-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-05.eml → lhost-receivingses-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-06.eml → lhost-receivingses-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-receivingses-07.eml → lhost-receivingses-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendgrid-02.eml → lhost-sendgrid-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendgrid-03.eml → lhost-sendgrid-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-02.eml → lhost-sendmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-03.eml → lhost-sendmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-04.eml → lhost-sendmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-05.eml → lhost-sendmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-06.eml → lhost-sendmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-07.eml → lhost-sendmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-08.eml → lhost-sendmail-08.eml} +1 -1
- data/set-of-emails/maildir/bsd/{email-sendmail-09.eml → lhost-sendmail-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-10.eml → lhost-sendmail-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-11.eml → lhost-sendmail-11.eml} +1 -1
- data/set-of-emails/maildir/bsd/{email-sendmail-12.eml → lhost-sendmail-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-13.eml → lhost-sendmail-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-14.eml → lhost-sendmail-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-15.eml → lhost-sendmail-15.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-16.eml → lhost-sendmail-16.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-17.eml → lhost-sendmail-17.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-18.eml → lhost-sendmail-18.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-19.eml → lhost-sendmail-19.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-20.eml → lhost-sendmail-20.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-21.eml → lhost-sendmail-21.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-22.eml → lhost-sendmail-22.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-24.eml → lhost-sendmail-24.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-25.eml → lhost-sendmail-25.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-26.eml → lhost-sendmail-26.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-27.eml → lhost-sendmail-27.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-28.eml → lhost-sendmail-28.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-29.eml → lhost-sendmail-29.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-30.eml → lhost-sendmail-30.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-31.eml → lhost-sendmail-31.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-32.eml → lhost-sendmail-32.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-33.eml → lhost-sendmail-33.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-34.eml → lhost-sendmail-34.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-35.eml → lhost-sendmail-35.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-36.eml → lhost-sendmail-36.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-37.eml → lhost-sendmail-37.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-38.eml → lhost-sendmail-38.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-39.eml → lhost-sendmail-39.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-40.eml → lhost-sendmail-40.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-41.eml → lhost-sendmail-41.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-42.eml → lhost-sendmail-42.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-43.eml → lhost-sendmail-43.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-44.eml → lhost-sendmail-44.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-45.eml → lhost-sendmail-45.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-46.eml → lhost-sendmail-46.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-47.eml → lhost-sendmail-47.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-48.eml → lhost-sendmail-48.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-49.eml → lhost-sendmail-49.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-50.eml → lhost-sendmail-50.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-51.eml → lhost-sendmail-51.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-52.eml → lhost-sendmail-52.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-53.eml → lhost-sendmail-53.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-54.eml → lhost-sendmail-54.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-55.eml → lhost-sendmail-55.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-sendmail-56.eml → lhost-sendmail-56.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-57.eml +59 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-58.eml +70 -0
- data/set-of-emails/maildir/bsd/lhost-sendmail-59.eml +68 -0
- data/set-of-emails/maildir/bsd/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-surfcontrol-02.eml → lhost-surfcontrol-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-surfcontrol-03.eml → lhost-surfcontrol-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-02.eml → lhost-v5sendmail-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-03.eml → lhost-v5sendmail-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-04.eml → lhost-v5sendmail-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-05.eml → lhost-v5sendmail-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-06.eml → lhost-v5sendmail-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-v5sendmail-07.eml → lhost-v5sendmail-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-verizon-02.eml → lhost-verizon-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x1-02.eml → lhost-x1-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x2-02.eml → lhost-x2-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x2-03.eml → lhost-x2-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x2-04.eml → lhost-x2-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x2-05.eml → lhost-x2-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x3-02.eml → lhost-x3-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x3-03.eml → lhost-x3-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x3-05.eml → lhost-x3-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-x3-06.eml +53 -0
- data/set-of-emails/maildir/bsd/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x4-08.eml → lhost-x4-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/lhost-x6-01.eml +71 -0
- data/set-of-emails/maildir/bsd/lhost-x6-02.eml +68 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-02.eml → lhost-yahoo-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-03.eml → lhost-yahoo-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-04.eml → lhost-yahoo-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-05.eml → lhost-yahoo-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-06.eml → lhost-yahoo-06.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-07.eml → lhost-yahoo-07.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-08.eml → lhost-yahoo-08.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-09.eml → lhost-yahoo-09.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-10.eml → lhost-yahoo-10.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-11.eml → lhost-yahoo-11.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-12.eml → lhost-yahoo-12.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-13.eml → lhost-yahoo-13.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yahoo-14.eml → lhost-yahoo-14.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yandex-02.eml → lhost-yandex-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-yandex-03.eml → lhost-yandex-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-zoho-02.eml → lhost-zoho-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-zoho-03.eml → lhost-zoho-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-zoho-04.eml → lhost-zoho-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/{email-zoho-05.eml → lhost-zoho-05.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rfc3464-41.eml → rfc3834-04.eml} +0 -0
- data/set-of-emails/maildir/bsd/rhost-cox-01.eml +192 -0
- data/set-of-emails/maildir/bsd/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-exchange-online-02.eml → rhost-exchangeonline-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-exchange-online-03.eml → rhost-exchangeonline-03.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
- data/set-of-emails/maildir/bsd/{rhost-google-apps-02.eml → rhost-googleapps-02.eml} +0 -0
- data/set-of-emails/maildir/bsd/rhost-spectrum-01.eml +111 -0
- data/set-of-emails/maildir/dos/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/dos/lhost-barracuda-01.eml +67 -0
- data/set-of-emails/maildir/dos/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/dos/lhost-googlegroups-01.eml +116 -0
- data/set-of-emails/maildir/dos/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/dos/lhost-powermta-01.eml +64 -0
- data/set-of-emails/maildir/dos/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
- data/set-of-emails/maildir/dos/lhost-x6-01.eml +71 -0
- data/set-of-emails/maildir/dos/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
- data/set-of-emails/maildir/dos/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
- data/set-of-emails/maildir/dos/rhost-iua-01.eml +70 -0
- data/set-of-emails/maildir/mac/{email-activehunter-01.eml → lhost-activehunter-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-amavis-01.eml → lhost-amavis-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-amazonses-01.eml → lhost-amazonses-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-amazonworkmail-01.eml → lhost-amazonworkmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-aol-01.eml → lhost-aol-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-apachejames-01.eml → lhost-apachejames-01.eml} +0 -0
- data/set-of-emails/maildir/mac/lhost-barracuda-01.eml +1 -4
- data/set-of-emails/maildir/mac/{email-bigfoot-01.eml → lhost-bigfoot-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-biglobe-01.eml → lhost-biglobe-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-courier-01.eml → lhost-courier-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-domino-01.eml → lhost-domino-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-einsundeins-01.eml → lhost-einsundeins-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-exchange-01.eml → lhost-exchange-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-exchange2003-01.eml → lhost-exchange2003-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-exchange2007-01.eml → lhost-exchange2007-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-exim-01.eml → lhost-exim-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-ezweb-01.eml → lhost-ezweb-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-facebook-01.eml → lhost-facebook-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-google-01.eml → lhost-gmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-gmx-01.eml → lhost-gmx-01.eml} +0 -0
- data/set-of-emails/maildir/mac/lhost-googlegroups-01.eml +1 -1
- data/set-of-emails/maildir/mac/{email-gsuite-01.eml → lhost-gsuite-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-imailserver-01.eml → lhost-imailserver-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-interscanmss-01.eml → lhost-interscanmss-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-kddi-01.eml → lhost-kddi-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-mailfoundry-01.eml → lhost-mailfoundry-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-mailmarshalsmtp-01.eml → lhost-mailmarshalsmtp-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-mailru-01.eml → lhost-mailru-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-mcafee-01.eml → lhost-mcafee-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-messagelabs-01.eml → lhost-messagelabs-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-messagingserver-01.eml → lhost-messagingserver-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-mfilter-01.eml → lhost-mfilter-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-mxlogic-01.eml → lhost-mxlogic-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-notes-01.eml → lhost-notes-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-office365-01.eml → lhost-office365-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-opensmtpd-01.eml → lhost-opensmtpd-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-outlook-01.eml → lhost-outlook-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-postfix-01.eml → lhost-postfix-01.eml} +0 -0
- data/set-of-emails/maildir/mac/lhost-powermta-01.eml +1 -4
- data/set-of-emails/maildir/mac/{email-qmail-01.eml → lhost-qmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-receivingses-01.eml → lhost-receivingses-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-sendgrid-01.eml → lhost-sendgrid-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-sendmail-01.eml → lhost-sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-surfcontrol-01.eml → lhost-surfcontrol-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-v5sendmail-01.eml → lhost-v5sendmail-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-verizon-01.eml → lhost-verizon-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-x1-01.eml → lhost-x1-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-x2-01.eml → lhost-x2-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-x3-01.eml → lhost-x3-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-x4-01.eml → lhost-x4-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-x5-01.eml → lhost-x5-01.eml} +0 -0
- data/set-of-emails/maildir/mac/lhost-x6-01.eml +1 -3
- data/set-of-emails/maildir/mac/{email-yahoo-01.eml → lhost-yahoo-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-yandex-01.eml → lhost-yandex-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{email-zoho-01.eml → lhost-zoho-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{rhost-exchange-online-01.eml → rhost-exchangeonline-01.eml} +0 -0
- data/set-of-emails/maildir/mac/{rhost-google-apps-01.eml → rhost-googleapps-01.eml} +0 -0
- data/set-of-emails/maildir/mac/rhost-iua-01.eml +1 -4
- data/sisimai-java.gemspec +4 -4
- data/sisimai.gemspec +4 -4
- metadata +584 -524
- data/lib/sisimai/lhost/userdefined.rb +0 -95
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|

|
2
2
|
|
3
|
-
[](https://github.com/sisimai/rb-
|
4
|
-
[](https://www.codacy.com/app/azumakuniyuki/rb-
|
3
|
+
[](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
|
4
|
+
[](https://coveralls.io/r/sisimai/rb-sisimai)
|
5
|
+
[](https://travis-ci.org/sisimai/rb-sisimai)
|
6
|
+
[](https://www.codacy.com/app/azumakuniyuki/rb-sisimai)
|
7
7
|
[](https://www.ruby-lang.org/)
|
8
8
|
[](https://badge.fury.io/rb/sisimai)
|
9
9
|
|
@@ -39,7 +39,7 @@ What is Sisimai
|
|
39
39
|
===============================================================================
|
40
40
|
Sisimai is a Ruby library for analyzing RFC5322 bounce emails and generating
|
41
41
|
structured data from parsed results. The Ruby version of Sisimai is ported from
|
42
|
-
the Perl version of Sisimai at [github.com/sisimai/p5-
|
42
|
+
the Perl version of Sisimai at [github.com/sisimai/p5-sisimai](https://github.com/sisimai/p5-sisimai/).
|
43
43
|
|
44
44
|

|
45
45
|
|
@@ -52,15 +52,14 @@ Key Features
|
|
52
52
|
* git clone & make
|
53
53
|
* __High Precision of Analysis__
|
54
54
|
* 2 times higher than bounceHammer
|
55
|
-
* Support
|
56
|
-
* Support 22 major MSPs(Mail Service Providers)
|
55
|
+
* Support 68 MTAs/MDAs/ESPs
|
57
56
|
* Support Feedback Loop Message(ARF)
|
58
57
|
* Can detect 29 error reasons
|
59
58
|
|
60
59
|
Command line demo
|
61
60
|
-------------------------------------------------------------------------------
|
62
61
|
The following screen shows a demonstration of Sisimai at the command line using
|
63
|
-
Ruby(rb-
|
62
|
+
Ruby(rb-sisimai) and Perl(p5-sisimai) version of Sisimai.
|
64
63
|

|
65
64
|
|
66
65
|
Setting Up Sisimai
|
@@ -95,8 +94,8 @@ Done installing documentation for sisimai after 6 seconds
|
|
95
94
|
|
96
95
|
```shell
|
97
96
|
$ cd /usr/local/src
|
98
|
-
$ git clone https://github.com/sisimai/rb-
|
99
|
-
$ cd ./rb-
|
97
|
+
$ git clone https://github.com/sisimai/rb-sisimai.git
|
98
|
+
$ cd ./rb-sisimai
|
100
99
|
$ sudo make depend install-from-local
|
101
100
|
gem install bundle rake rspec coveralls
|
102
101
|
...
|
@@ -112,7 +111,9 @@ Usage
|
|
112
111
|
Basic usage
|
113
112
|
-------------------------------------------------------------------------------
|
114
113
|
`make()` method provides feature for getting parsed data from bounced email
|
115
|
-
messages like following.
|
114
|
+
messages like following. Beginning with v4.25.6, new accessor `origin` which
|
115
|
+
keeps the path to email file as a data source is available.
|
116
|
+
|
116
117
|
|
117
118
|
```ruby
|
118
119
|
#! /usr/bin/env ruby
|
@@ -140,6 +141,7 @@ if v.is_a? Array
|
|
140
141
|
puts e.deliverystatus # 5.1.1
|
141
142
|
puts e.replycode # 550
|
142
143
|
puts e.reason # userunknown
|
144
|
+
puts e.origin # /var/spool/bounce/Maildir/new/1740074341.eml
|
143
145
|
|
144
146
|
h = e.damn # Convert to HASH
|
145
147
|
j = e.dump('json') # Convert to JSON string
|
@@ -180,9 +182,8 @@ callbackto = lambda do |v|
|
|
180
182
|
return r
|
181
183
|
end
|
182
184
|
|
183
|
-
|
184
|
-
|
185
|
-
json = Sisimai.dump('/path/to/mbox', hook: callbackto, field: list)
|
185
|
+
data = Sisimai.make('/path/to/mbox', hook: callbackto)
|
186
|
+
json = Sisimai.dump('/path/to/mbox', hook: callbackto)
|
186
187
|
|
187
188
|
puts data[0].catch['x-mailer'] # Apple Mail (2.1283)
|
188
189
|
```
|
@@ -203,7 +204,7 @@ Output example
|
|
203
204
|

|
204
205
|
|
205
206
|
```json
|
206
|
-
[{"
|
207
|
+
[{"catch":{"x-mailer":"","return-path":"<shironeko@mx.example.co.jp>"},"token":"cf17945938502bd876603a375f0e9517c921bbab","lhost":"localhost","rhost":"mx-s.neko.example.jp","alias":"","listid":"","reason":"hasmoved","action":"failed","origin":"set-of-emails/maildir/bsd/lhost-sendmail-22.eml","subject":"Nyaaaan","messageid":"0000000011111.fff0000000003@mx.example.co.jp","replycode":"","smtpagent":"Sendmail","softbounce":0,"smtpcommand":"DATA","destination":"example.net","senderdomain":"example.co.jp","feedbacktype":"","diagnosticcode":"450 busy - please try later 551 not our customer 503 need RCPT command [data]","diagnostictype":"SMTP","deliverystatus":"5.1.6","timezoneoffset":"+0900","addresser":"shironeko@example.co.jp","recipient":"kijitora@example.net","timestamp":1397054085}]
|
207
208
|
```
|
208
209
|
|
209
210
|
Sisimai Specification
|
@@ -224,12 +225,12 @@ and bounceHammer are available at
|
|
224
225
|
| The speed of parsing email(1000 emails) | 2.22s[2] | 1.35s |
|
225
226
|
| How to install | gem install | cpanm, cpm |
|
226
227
|
| Dependencies (Except core modules) | 1 module | 2 modules |
|
227
|
-
| LOC:Source lines of code | 10300 lines |
|
228
|
-
| The number of tests(spec/,t/,xt/) directory |
|
228
|
+
| LOC:Source lines of code | 10300 lines | 10500 lines |
|
229
|
+
| The number of tests(spec/,t/,xt/) directory | 236000 tests | 265000 tests |
|
229
230
|
| License | BSD 2-Clause | BSD 2-Clause |
|
230
231
|
| Support Contract provided by Developer | Available | Available |
|
231
232
|
|
232
|
-
1. See [./ANALYTICAL-PRECISION](https://github.com/sisimai/rb-
|
233
|
+
1. See [./ANALYTICAL-PRECISION](https://github.com/sisimai/rb-sisimai/blob/master/ANALYTICAL-PRECISION)
|
233
234
|
2. Xeon E5-2640 2.5GHz x 2 cores | 5000 bogomips | 1GB RAM | Ruby 2.3.4p301
|
234
235
|
|
235
236
|
Other specification of Sisimai
|
@@ -243,7 +244,7 @@ Contributing
|
|
243
244
|
|
244
245
|
Bug report
|
245
246
|
-------------------------------------------------------------------------------
|
246
|
-
Please use the [issue tracker](https://github.com/sisimai/rb-
|
247
|
+
Please use the [issue tracker](https://github.com/sisimai/rb-sisimai/issues)
|
247
248
|
to report any bugs.
|
248
249
|
|
249
250
|
Emails could not be parsed
|
@@ -262,14 +263,14 @@ Related Sites
|
|
262
263
|
* __libSISIMAI.ORG__ | [Sisimai | The successor to bounceHammer, Library to parse bounce mails](https://libsisimai.org/)
|
263
264
|
* __Sisimai Blog__ | [blog.libsisimai.org](http://blog.libsisimai.org/)
|
264
265
|
* __Facebook Page__ | [facebook.com/libsisimai](https://www.facebook.com/libsisimai/)
|
265
|
-
* __GitHub__ | [github.com/sisimai/rb-
|
266
|
+
* __GitHub__ | [github.com/sisimai/rb-sisimai](https://github.com/sisimai/rb-sisimai)
|
266
267
|
* __RubyGems.org__ | [rubygems.org/gems/sisimai](https://rubygems.org/gems/sisimai)
|
267
|
-
* __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-
|
268
|
+
* __Perl verson__ | [Perl version of Sisimai](https://github.com/sisimai/p5-sisimai)
|
268
269
|
* __Fixtures__ | [set-of-emails - Sample emails for "make test"](https://github.com/sisimai/set-of-emails)
|
269
270
|
|
270
271
|
See also
|
271
272
|
-------------------------------------------------------------------------------
|
272
|
-
* [README-JA.md - README.md in Japanese(日本語)](https://github.com/sisimai/rb-
|
273
|
+
* [README-JA.md - README.md in Japanese(日本語)](https://github.com/sisimai/rb-sisimai/blob/master/README-JA.md)
|
273
274
|
* [RFC3463 - Enhanced Mail System Status Codes](https://tools.ietf.org/html/rfc3463)
|
274
275
|
* [RFC3464 - An Extensible Message Format for Delivery Status Notifications](https://tools.ietf.org/html/rfc3464)
|
275
276
|
* [RFC3834 - Recommendations for Automatic Responses to Electronic Mail](https://tools.ietf.org/html/rfc3834)
|
data/Repository.mk
CHANGED
data/lib/sisimai.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
require 'sisimai/version'
|
2
|
-
|
3
1
|
# Sisimai is the system formerly known as bounceHammer 4, is a Ruby module for
|
4
2
|
# analyzing bounce mails and generate structured data in a JSON format (YAML is
|
5
3
|
# also available if "YAML" module is installed on your system) from parsed bounce
|
6
4
|
# messages. Sisimai is a coined word: Sisi (the number 4 is pronounced "Si" in
|
7
5
|
# Japanese) and MAI (acronym of "Mail Analyzing Interface").
|
6
|
+
require 'sisimai/version'
|
8
7
|
module Sisimai
|
9
8
|
# Imported from p5-Sisimail/lib/Sisimai.pm
|
10
9
|
class << self
|
@@ -19,29 +18,24 @@ module Sisimai
|
|
19
18
|
# @param [Hash] argv1 Parser options(delivered=false)
|
20
19
|
# @options argv1 [Boolean] delivered true: Include "delivered" reason
|
21
20
|
# @options argv1 [Lambda] hook Lambda object to be called back
|
22
|
-
# @options argv1 [Array] field Email header name to be captured
|
23
21
|
# @return [Array] Parsed objects
|
24
22
|
# @return [nil] nil if the argument was wrong or an empty array
|
25
23
|
def make(argv0, **argv1)
|
26
24
|
return nil unless argv0
|
27
|
-
|
28
|
-
field = argv1[:field] || []
|
29
|
-
raise ' ***error: "field" accepts an array only' unless field.is_a? Array
|
30
|
-
|
31
25
|
require 'sisimai/data'
|
32
26
|
require 'sisimai/message'
|
33
27
|
require 'sisimai/mail'
|
34
28
|
|
35
29
|
list = []
|
36
30
|
return nil unless mail = Sisimai::Mail.new(argv0)
|
37
|
-
while r = mail.read do
|
38
|
-
# Read and parse each
|
39
|
-
methodargv = { data: r, hook: argv1[:hook]
|
40
|
-
mesg = Sisimai::Message.new(methodargv)
|
31
|
+
while r = mail.data.read do
|
32
|
+
# Read and parse each email file
|
33
|
+
methodargv = { data: r, hook: argv1[:hook] }
|
34
|
+
mesg = Sisimai::Message.new(**methodargv)
|
41
35
|
next if mesg.void
|
42
36
|
|
43
|
-
methodargv = { data: mesg, delivered: argv1[:delivered] }
|
44
|
-
next unless data = Sisimai::Data.make(methodargv)
|
37
|
+
methodargv = { data: mesg, delivered: argv1[:delivered], origin: mail.data.path }
|
38
|
+
next unless data = Sisimai::Data.make(**methodargv)
|
45
39
|
list += data unless data.empty?
|
46
40
|
end
|
47
41
|
|
@@ -60,7 +54,7 @@ module Sisimai
|
|
60
54
|
def dump(argv0, **argv1)
|
61
55
|
return nil unless argv0
|
62
56
|
|
63
|
-
nyaan = Sisimai.make(argv0, argv1) || []
|
57
|
+
nyaan = Sisimai.make(argv0, **argv1) || []
|
64
58
|
if RUBY_PLATFORM.start_with?('java')
|
65
59
|
# java-based ruby environment like JRuby.
|
66
60
|
require 'jrjackson'
|
data/lib/sisimai/address.rb
CHANGED
@@ -240,7 +240,7 @@ module Sisimai
|
|
240
240
|
|
241
241
|
# Remove angle brackets, other brackets, and quotations: []<>{}'`
|
242
242
|
# except a domain part is an IP address like neko@[192.0.2.222]
|
243
|
-
e[:address] = e[:address].sub(/\A[\[<{('`]/, '').sub(/['`>})]\z/, '')
|
243
|
+
e[:address] = e[:address].sub(/\A[\[<{('`]/, '').sub(/[.'`>});]\z/, '')
|
244
244
|
e[:address].chomp!(']') unless e[:address] =~ /[@]\[[0-9A-Za-z:\.]+\]\z/
|
245
245
|
e[:address] = e[:address].sub(/\A["]/, '').chomp('"') unless e[:address] =~ /\A["].+["][@]/
|
246
246
|
|
@@ -321,13 +321,16 @@ module Sisimai
|
|
321
321
|
addrs = Sisimai::Address.find(argv1)
|
322
322
|
return nil unless addrs
|
323
323
|
return nil if addrs.empty?
|
324
|
+
|
324
325
|
thing = addrs.shift
|
326
|
+
heads = ['<']
|
327
|
+
tails = ['>', ',', '.', ';']
|
325
328
|
|
326
329
|
if cv = thing[:address].match(/\A([^\s]+)[@]([^@]+)\z/) ||
|
327
330
|
thing[:address].match(/\A(["].+?["])[@]([^@]+)\z/)
|
328
331
|
# Get the local part and the domain part from the email address
|
329
|
-
lpart = cv[1]
|
330
|
-
dpart = cv[2]
|
332
|
+
lpart = cv[1]; heads.each { |e| lpart.gsub!(/\A#{e}/, '') if lpart.start_with?(e) }
|
333
|
+
dpart = cv[2]; tails.each { |e| dpart.gsub!(/#{e}\z/, '') if dpart.end_with?(e) }
|
331
334
|
email = Sisimai::Address.expand_verp(thing[:address])
|
332
335
|
aname = nil
|
333
336
|
|
data/lib/sisimai/arf.rb
CHANGED
@@ -14,28 +14,31 @@ module Sisimai
|
|
14
14
|
# OpenDMARC 1.3.0 uses: This is an authentication failure report for an email message received from IP
|
15
15
|
# Abusix ARF uses this is an autogenerated email abuse complaint regarding your network.
|
16
16
|
Indicators = Sisimai::Lhost.INDICATORS
|
17
|
-
StartingOf = {
|
17
|
+
StartingOf = {
|
18
|
+
rfc822: ['Content-Type: message/rfc822', 'Content-Type: text/rfc822-headers'],
|
19
|
+
report: ['Content-Type: message/feedback-report'],
|
20
|
+
}.freeze
|
18
21
|
MarkingsOf = {
|
19
22
|
message: %r{\A(?>
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
23
|
+
[Tt]his[ ]is[ ]a[ ][^ ]+[ ](?:email[ ])?[Aa]buse[ ][Rr]eport
|
24
|
+
|[Tt]his[ ]is[ ]an[ ]email[ ]abuse[ ]report
|
25
|
+
|[Tt]his[ ]is[ ](?:
|
26
|
+
a[ ][^ ]+[ ]authentication[ -]failure[ ]report
|
27
|
+
|an[ ]authentication[ -]failure[ ]report
|
28
|
+
|an[ ]autogenerated[ ]email[ ]abuse[ ]complaint
|
29
|
+
|an?[ ][^ ]+[ ]report[ ]for
|
30
|
+
)
|
26
31
|
)
|
27
32
|
}x,
|
28
33
|
}.freeze
|
34
|
+
ReportFrom = /(?:staff[@]hotmail[.]com|complaints[@]email-abuse[.]amazonses[.]com)\z/.freeze
|
29
35
|
LongFields = Sisimai::RFC5322.LONGFIELDS
|
30
36
|
RFC822Head = Sisimai::RFC5322.HEADERFIELDS
|
31
37
|
|
32
38
|
def description; return 'Abuse Feedback Reporting Format'; end
|
33
|
-
def smtpagent; return 'FeedBack-Loop'; end
|
34
|
-
def headerlist; return []; end
|
35
39
|
|
36
40
|
# Email is a Feedback-Loop message or not
|
37
|
-
# @param [Hash] heads Email header including "Content-Type", "From",
|
38
|
-
# and "Subject" field
|
41
|
+
# @param [Hash] heads Email header including "Content-Type", "From", and "Subject" field
|
39
42
|
# @return [True,False] true: Feedback Loop
|
40
43
|
# false: is not Feedback loop
|
41
44
|
def is_arf(heads)
|
@@ -49,13 +52,8 @@ module Sisimai
|
|
49
52
|
elsif heads['content-type'].start_with?('multipart/mixed')
|
50
53
|
# Microsoft (Hotmail, MSN, Live, Outlook) uses its own report format.
|
51
54
|
# Amazon SES Complaints bounces
|
52
|
-
|
53
|
-
|
54
|
-
staff[@]hotmail[.]com
|
55
|
-
|complaints[@]email-abuse[.]amazonses[.]com
|
56
|
-
)\z
|
57
|
-
}x
|
58
|
-
if hfrom =~ mfrom && heads['subject'].include?('complaint about message from ')
|
55
|
+
p = Sisimai::Address.s3s4(heads['from'])
|
56
|
+
if p =~ ReportFrom && heads['subject'].include?('complaint about message from ')
|
59
57
|
# From: staff@hotmail.com
|
60
58
|
# From: complaints@email-abuse.amazonses.com
|
61
59
|
# Subject: complaint about message from 192.0.2.1
|
@@ -66,16 +64,10 @@ module Sisimai
|
|
66
64
|
end
|
67
65
|
|
68
66
|
# Detect an error for Feedback Loop
|
69
|
-
# @param
|
70
|
-
# @
|
71
|
-
# @
|
72
|
-
# @
|
73
|
-
# @options mhead [Array] received Received headers
|
74
|
-
# @options mhead [String] others Other required headers
|
75
|
-
# @param [String] mbody Message body of a bounce email
|
76
|
-
# @return [Hash, Nil] Bounce data list and message/rfc822 part
|
77
|
-
# or nil if it failed to parse or the
|
78
|
-
# arguments are missing
|
67
|
+
# @param [Hash] mhead Message headers of a bounce email
|
68
|
+
# @param [String] mbody Message body of a bounce email
|
69
|
+
# @return [Hash] Bounce data list and message/rfc822 part
|
70
|
+
# @return [Nil] it failed to parse or the arguments are missing
|
79
71
|
def make(mhead, mbody)
|
80
72
|
return nil unless self.is_arf(mhead)
|
81
73
|
|
@@ -121,12 +113,17 @@ module Sisimai
|
|
121
113
|
# this specification is set to "1".
|
122
114
|
#
|
123
115
|
while e = bodyslices.shift do
|
116
|
+
# This is an email abuse report for an email message with the
|
117
|
+
# message-id of 0000-000000000000000000000000000000000@mx
|
118
|
+
# received from IP address 192.0.2.1 on
|
119
|
+
# Thu, 29 Apr 2010 00:00:00 +0900 (JST)
|
120
|
+
if e =~ MarkingsOf[:message]
|
121
|
+
commondata['diagnosis'] = e if commondata['diagnosis'].empty?
|
122
|
+
end
|
123
|
+
|
124
124
|
if readcursor == 0
|
125
125
|
# Beginning of the bounce message or message/delivery-status part
|
126
|
-
if e
|
127
|
-
readcursor |= Indicators[:deliverystatus]
|
128
|
-
next
|
129
|
-
end
|
126
|
+
readcursor |= Indicators[:deliverystatus] if e.start_with?(StartingOf[:report][0])
|
130
127
|
end
|
131
128
|
|
132
129
|
if (readcursor & Indicators[:'message-rfc822']) == 0
|
@@ -153,11 +150,18 @@ module Sisimai
|
|
153
150
|
elsif cv = e.match(/\AFrom:[ ]*(.+)\z/)
|
154
151
|
# Microsoft ARF: original sender.
|
155
152
|
commondata['from'] = Sisimai::Address.s3s4(cv[1]) if commondata['from'].empty?
|
153
|
+
previousfn = 'from'
|
156
154
|
|
157
155
|
elsif e.start_with?(' ', "\t")
|
158
156
|
# Continued line from the previous line
|
159
|
-
|
160
|
-
|
157
|
+
if previousfn == 'from'
|
158
|
+
# Multiple lines at "From:" field
|
159
|
+
commondata['from'] << e
|
160
|
+
next
|
161
|
+
else
|
162
|
+
rfc822part << e + "\n" if LongFields[previousfn]
|
163
|
+
next unless e.empty?
|
164
|
+
end
|
161
165
|
rcptintext << e if previousfn == 'to'
|
162
166
|
|
163
167
|
else
|
@@ -174,7 +178,7 @@ module Sisimai
|
|
174
178
|
rcptintext = rhs if lhs == 'to'
|
175
179
|
end
|
176
180
|
else
|
177
|
-
# message/
|
181
|
+
# message/feedback-report part
|
178
182
|
next unless readcursor & Indicators[:deliverystatus] > 0
|
179
183
|
next if e.empty?
|
180
184
|
|
@@ -231,7 +235,7 @@ module Sisimai
|
|
231
235
|
# Reporting-MTA: dns; mx.example.jp
|
232
236
|
commondata['rhost'] = cv[1]
|
233
237
|
|
234
|
-
elsif cv = e.match(/\ASource-
|
238
|
+
elsif cv = e.match(/\ASource-I[Pp]:[ ]*(.+)\z/)
|
235
239
|
# The header is optional and MUST NOT appear more than once.
|
236
240
|
# Source-IP: 192.0.2.45
|
237
241
|
arfheaders['rhost'] = cv[1]
|
@@ -241,12 +245,6 @@ module Sisimai
|
|
241
245
|
# Original-Mail-From: <somespammer@example.net>
|
242
246
|
commondata['from'] = Sisimai::Address.s3s4(cv[1]) if commondata['from'].empty?
|
243
247
|
|
244
|
-
elsif e =~ MarkingsOf[:message]
|
245
|
-
# This is an email abuse report for an email message with the
|
246
|
-
# message-id of 0000-000000000000000000000000000000000@mx
|
247
|
-
# received from IP address 192.0.2.1 on
|
248
|
-
# Thu, 29 Apr 2010 00:00:00 +0900 (JST)
|
249
|
-
commondata['diagnosis'] = e
|
250
248
|
end
|
251
249
|
end
|
252
250
|
end
|
@@ -292,9 +290,10 @@ module Sisimai
|
|
292
290
|
|
293
291
|
e['softbounce'] = -1
|
294
292
|
e['diagnosis'] = commondata['diagnosis'] unless e['diagnosis']
|
293
|
+
e['diagnosis'] = Sisimai::String.sweep(e['diagnosis'])
|
295
294
|
e['date'] = mhead['date'] if e['date'].empty?
|
296
295
|
e['reason'] = 'feedback'
|
297
|
-
e['agent'] =
|
296
|
+
e['agent'] = 'Feedback-Loop'
|
298
297
|
%w[command action status alias].each { |a| e[a] = '' }
|
299
298
|
|
300
299
|
# Get the remote IP address from the message body
|
@@ -308,7 +307,6 @@ module Sisimai
|
|
308
307
|
# from IP address 24.64.1.1 on Thu, 29 Apr 2010 00:00:00 +0000
|
309
308
|
e['rhost'] = cv[1]
|
310
309
|
end
|
311
|
-
|
312
310
|
end
|
313
311
|
return { 'ds' => dscontents, 'rfc822' => rfc822part }
|
314
312
|
end
|
data/lib/sisimai/data.rb
CHANGED
@@ -8,6 +8,7 @@ module Sisimai
|
|
8
8
|
require 'sisimai/rhost'
|
9
9
|
require 'sisimai/time'
|
10
10
|
require 'sisimai/datetime'
|
11
|
+
require 'sisimai/smtp/error'
|
11
12
|
|
12
13
|
@@rwaccessors = [
|
13
14
|
:catch, # [?] Results generated by hook method
|
@@ -18,6 +19,7 @@ module Sisimai
|
|
18
19
|
:listid, # [String] List-Id header of each ML
|
19
20
|
:reason, # [String] Bounce reason
|
20
21
|
:action, # [String] The value of Action: header
|
22
|
+
:origin, # [String] Email path as a data source
|
21
23
|
:subject, # [String] UTF-8 Subject text
|
22
24
|
:timestamp, # [Sisimai::Time] Date: header in the original message
|
23
25
|
:addresser, # [Sisimai::Address] From address
|
@@ -37,10 +39,8 @@ module Sisimai
|
|
37
39
|
]
|
38
40
|
attr_accessor(*@@rwaccessors)
|
39
41
|
|
40
|
-
EndOfEmail = Sisimai::String.EOM
|
41
42
|
RetryIndex = Sisimai::Reason.retry
|
42
43
|
RFC822Head = Sisimai::RFC5322.HEADERFIELDS(:all)
|
43
|
-
AddrHeader = { addresser: RFC822Head[:addresser], recipient: RFC822Head[:recipient] }.freeze
|
44
44
|
|
45
45
|
# Constructor of Sisimai::Data
|
46
46
|
# @param [Hash] argvs Data
|
@@ -77,6 +77,7 @@ module Sisimai
|
|
77
77
|
@smtpcommand = argvs['smtpcommand'] || ''
|
78
78
|
@feedbacktype = argvs['feedbacktype'] || ''
|
79
79
|
@action = argvs['action'] || ''
|
80
|
+
@origin = argvs['origin'] || ''
|
80
81
|
@replycode = argvs['replycode'] || ''
|
81
82
|
@replycode = Sisimai::SMTP::Reply.find(argvs['diagnosticcode']).to_s if @replycode.empty?
|
82
83
|
@softbounce = argvs['softbounce'] || ''
|
@@ -94,35 +95,11 @@ module Sisimai
|
|
94
95
|
|
95
96
|
messageobj = data
|
96
97
|
rfc822data = messageobj.rfc822
|
97
|
-
fieldorder = { :recipient => [], :addresser => [] }
|
98
98
|
objectlist = []
|
99
|
-
givenorder = argvs[:order] || {}
|
100
99
|
delivered1 = argvs[:delivered] || false
|
101
100
|
|
102
101
|
return nil unless messageobj.ds
|
103
102
|
return nil unless messageobj.rfc822
|
104
|
-
require 'sisimai/smtp'
|
105
|
-
|
106
|
-
# Decide the order of email headers: user specified or system default.
|
107
|
-
if givenorder.is_a?(Hash) && !givenorder.empty?
|
108
|
-
# If the order of headers for searching is specified, use the order
|
109
|
-
# for detecting an email address.
|
110
|
-
fieldorder.each_key do |e|
|
111
|
-
# The order should be "Array Reference".
|
112
|
-
next unless givenorder[e]
|
113
|
-
next unless givenorder[e].is_a? Array
|
114
|
-
next if givenorder[e].empty?
|
115
|
-
fieldorder[e] += givenorder[e]
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
fieldorder.each_key do |e|
|
120
|
-
# If the order is empty, use default order.
|
121
|
-
next unless fieldorder[e].empty?
|
122
|
-
|
123
|
-
# Load default order of each accessor.
|
124
|
-
fieldorder[e] = AddrHeader[e]
|
125
|
-
end
|
126
103
|
|
127
104
|
eachobject = messageobj.ds.dup
|
128
105
|
while e = eachobject.shift do
|
@@ -151,7 +128,7 @@ module Sisimai
|
|
151
128
|
|
152
129
|
# EMAIL_ADDRESS:
|
153
130
|
# Detect email address from message/rfc822 part
|
154
|
-
|
131
|
+
RFC822Head[:addresser].each do |f|
|
155
132
|
# Check each header in message/rfc822 part
|
156
133
|
next unless rfc822data[f]
|
157
134
|
next if rfc822data[f].empty?
|
@@ -257,8 +234,6 @@ module Sisimai
|
|
257
234
|
|
258
235
|
# CHECK_DELIVERY_STATUS_VALUE:
|
259
236
|
# Cleanup the value of "Diagnostic-Code:" header
|
260
|
-
p['diagnosticcode'].sub!(/[ \t.]+#{EndOfEmail}/, '')
|
261
|
-
|
262
237
|
unless p['diagnosticcode'].empty?
|
263
238
|
# Count the number of D.S.N. and SMTP Reply Code
|
264
239
|
vs = Sisimai::SMTP::Status.find(p['diagnosticcode'])
|
@@ -296,6 +271,7 @@ module Sisimai
|
|
296
271
|
|
297
272
|
# Check the value of SMTP command
|
298
273
|
p['smtpcommand'] = '' unless %w[EHLO HELO MAIL RCPT DATA QUIT].include?(p['smtpcommand'])
|
274
|
+
p['origin'] = argvs[:origin] # Set the path to the original email
|
299
275
|
|
300
276
|
if p['action'].empty?
|
301
277
|
# Check the value of "action"
|
@@ -313,10 +289,13 @@ module Sisimai
|
|
313
289
|
|
314
290
|
if o.reason.empty? || RetryIndex[o.reason]
|
315
291
|
# Decide the reason of email bounce
|
316
|
-
r = ''
|
317
|
-
|
318
|
-
|
319
|
-
|
292
|
+
r = ''; r = Sisimai::Rhost.get(o) if Sisimai::Rhost.match(o.rhost)
|
293
|
+
if r.empty?
|
294
|
+
# Failed to detect a bounce reason by the value of "rhost"
|
295
|
+
r = Sisimai::Rhost.get(o, o.destination) if Sisimai::Rhost.match(o.destination)
|
296
|
+
r = Sisimai::Reason.get(o) if r.empty?
|
297
|
+
r = 'undefined' if r.empty?
|
298
|
+
end
|
320
299
|
o.reason = r
|
321
300
|
end
|
322
301
|
|