sisimai 4.25.5-java → 4.25.11-java
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sisimai might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +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
|
![](https://libsisimai.org/static/images/logo/sisimai-x01.png)
|
2
2
|
|
3
|
-
[![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](https://github.com/sisimai/rb-
|
4
|
-
[![Coverage Status](https://img.shields.io/coveralls/sisimai/rb-
|
5
|
-
[![Build Status](https://travis-ci.org/sisimai/rb-
|
6
|
-
[![Codacy Badge](https://api.codacy.com/project/badge/grade/38340177e6284a65be69c0c7c3dc2b58)](https://www.codacy.com/app/azumakuniyuki/rb-
|
3
|
+
[![License](https://img.shields.io/badge/license-BSD%202--Clause-orange.svg)](https://github.com/sisimai/rb-sisimai/blob/master/LICENSE)
|
4
|
+
[![Coverage Status](https://img.shields.io/coveralls/sisimai/rb-sisimai.svg)](https://coveralls.io/r/sisimai/rb-sisimai)
|
5
|
+
[![Build Status](https://travis-ci.org/sisimai/rb-sisimai.svg?branch=master)](https://travis-ci.org/sisimai/rb-sisimai)
|
6
|
+
[![Codacy Badge](https://api.codacy.com/project/badge/grade/38340177e6284a65be69c0c7c3dc2b58)](https://www.codacy.com/app/azumakuniyuki/rb-sisimai)
|
7
7
|
[![Ruby](https://img.shields.io/badge/ruby-v2.1.0--v2.6.0-red.svg)](https://www.ruby-lang.org/)
|
8
8
|
[![Gem Version](https://badge.fury.io/rb/sisimai.svg)](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
|
![](https://libsisimai.org/static/images/figure/sisimai-overview-1.png)
|
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
|
![](https://libsisimai.org/static/images/demo/sisimai-dump-01.gif)
|
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
|
![](https://libsisimai.org/static/images/demo/sisimai-dump-02.gif)
|
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
|
|