From: emo@... Date: 2017-08-22T07:37:20+09:00 Subject: [ruby-list:50558] IMAP IDLE This is a cryptographically signed message in MIME format. --------------ms000402090802010403030602 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable DOCOMO =E3=81=AE=E3=82=AD=E3=83=A3=E3=83=AA=E3=82=A2=E3=83=A1=E3=83=BC=E3= =83=AB=E3=81=A7=E5=B1=8A=E3=81=84=E3=81=9F=E3=83=A1=E3=83=BC=E3=83=AB=E3=82= =92 =E3=83=AA=E3=82=A2=E3=83=AB=E3=82=BF=E3=82=A4=E3=83=A0=E3=81=AB=E9=80=9A=E7= =9F=A5=E3=81=99=E3=82=8B=E3=81=9F=E3=82=81=E3=81=AE=E3=83=97=E3=83=AD=E3=82= =B0=E3=83=A9=E3=83=A0=E3=82=92 =E4=BD=9C=E3=82=8D=E3=81=86=E3=81=A8=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E3= =81=AE=E3=81=A7=E3=81=99=E3=81=8C=E3=81=86=E3=81=BE=E3=81=8F=E8=A1=8C=E3=81= =8D=E3=81=BE=E3=81=9B=E3=82=93=E3=80=82 =E3=82=A4=E3=83=B3=E3=82=BF=E3=83=BC=E3=83=8D=E3=83=83=E3=83=88=E4=B8=8A=E3= =81=AE=E3=83=96=E3=83=AD=E3=82=B0=E7=AD=89=E3=81=AE=E6=83=85=E5=A0=B1=E3=81= =AB=E3=82=88=E3=82=8B=E3=81=A8=E3=80=81 DOCOMO =E3=81=AE=E3=83=A1=E3=83=BC=E3=83=AB=E3=81=A7 IMAP =E3=81=AE IDLE = =E3=82=92=E4=BD=BF=E3=81=A3=E3=81=A6 =E3=83=97=E3=83=83=E3=82=B7=E3=83=A5=E9=80=81=E4=BF=A1=E3=82=92=E5=AE=9F=E7= =8F=BE=E3=81=97=E3=81=A6=E3=81=84=E3=82=8B=E3=81=A8=E3=81=84=E3=81=86=E6=A7= =98=E3=81=AA=E8=A8=98=E4=BA=8B =E3=81=8C=E3=81=82=E3=81=A3=E3=81=9F=E3=81=AE=E3=81=A7=E3=80=81=E4=B8=8B=E8= =A8=98=E3=81=AE=E3=82=88=E3=81=86=E3=81=AA=E3=83=97=E3=83=AD=E3=82=B0=E3=83= =A9=E3=83=A0=E3=82=92=E6=9B=B8=E3=81=84=E3=81=9F =E3=81=AE=E3=81=A7=E3=81=99=E3=81=8C=E3=80=81Net::IMAP#idle =E3=82=92=E5=AE= =9F=E8=A1=8C=E3=81=97=E3=81=9F=E6=99=82=E7=82=B9=E3=81=A7 =E6=8E=A5=E7=B6=9A=E3=81=8C=E5=88=87=E3=82=8C=E3=81=A6=E3=81=97=E3=81=BE=E3= =81=86=E3=82=88=E3=81=86=E3=81=AA=E3=81=AE=E3=81=A7=E3=81=99=E3=81=8C=E3=80= =81 =E3=81=A9=E3=81=AE=E3=82=88=E3=81=86=E3=81=AB=E3=81=99=E3=82=8C=E3=81=B0=E8= =89=AF=E3=81=84=E3=81=AE=E3=81=A7=E3=81=97=E3=82=87=E3=81=86=E3=81=8B=EF=BC= =9F =E5=90=8C=E3=81=98=E3=83=97=E3=83=AD=E3=82=B0=E3=83=A9=E3=83=A0=E3=81=A7 = gmail =E3=81=A7=E3=81=AF=E6=AD=A3=E3=81=97=E3=81=8F=E5=8B=95=E3=81=84=E3=81= =A6=E3=81=84=E3=82=8B =E3=81=93=E3=81=A8=E3=81=AF=E7=A2=BA=E8=AA=8D=E3=81=97=E3=81=BE=E3=81=97=E3= =81=9F=E3=80=82 =E6=B1=9F=E6=9C=AC =3D=3D =E5=AE=9F=E8=A1=8C=E7=B5=90=E6=9E=9C =3D=3D :~/src/ruby/imap ./test_imap2.rb connected to imap server ["IMAP4REV1", "NAMESPACE", "IDLE", "LITERAL+", "UIDPLUS", "QUOTA", "AUTH=3D= LOGIN",=20 "ID"] # connection closed: reconecting... connected to imap server ["IMAP4REV1", "NAMESPACE", "IDLE", "LITERAL+", "UIDPLUS", "QUOTA", "AUTH=3D= LOGIN",=20 "ID"] # connection closed: reconecting... connected to imap server ["IMAP4REV1", "NAMESPACE", "IDLE", "LITERAL+", "UIDPLUS", "QUOTA", "AUTH=3D= LOGIN",=20 "ID"] # =3D=3D =E3=83=97=E3=83=AD=E3=82=B0=E3=83=A9=E3=83=A0 =3D=3D #!/usr/bin/env ruby # coding: utf-8 require 'net/imap' require 'kconv' require 'time' imap_user =3D"=E3=83=A6=E3=83=BC=E3=82=B6=E5=90=8D" imap_passwd =3D "=E3=83=91=E3=82=B9=E3=83=AF=E3=83=BC=E3=83=89" imap_server =3D 'imap.spmode.ne.jp' #imap_user =3D"=E3=83=A6=E3=83=BC=E3=82=B6=E5=90=8D" #imap_passwd =3D "=E3=83=91=E3=82=B9=E3=83=AF=E3=83=BC=E3=83=89" #imap_server =3D 'imap.gmail.com' attr_name =3D 'BODY[HEADER.FIELDS (SUBJECT)]' attr_addr =3D 'BODY[HEADER.FIELDS (FROM)]' last_id =3D -1 while true begin unless $imap $imap =3D Net::IMAP.new(imap_server, 993, true) $imap.login(imap_user, imap_passwd) $imap.select('INBOX') puts "connected to imap server" end capabilities =3D $imap.capability p capabilities $imap.idle do |resp| if resp.name =3D=3D "EXISTS" print "New Mail Arrived\n" last_id =3D resp.data $imap.idle_done else p resp end end rescue Net::IMAP::Error =3D> e p e if e.inspect.include? "connection closed" puts "connection closed: reconecting..." $imap =3D nil else raise end end next unless $imap msgs =3D $imap.fetch((last_id..-1), [attr_name, attr_addr]) msgs.each do |msg| subject =3D msg.attr[attr_name].toutf8.strip from =3D msg.attr[attr_addr].toutf8.strip print "#{from} #{subject}\n" end end =3D=3D =E5=AE=9F=E8=A1=8C=E7=92=B0=E5=A2=83 =3D=3D % lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 16.04.3 LTS Release: 16.04 Codename: xenial % ruby --version ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu] --------------ms000402090802010403030602 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC CyswggU9MIIEJaADAgECAhBaNO6Dbr/4aIpiCPZMsf9DMA0GCSqGSIb3DQEBCwUAMIGXMQsw CQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxm b3JkMRowGAYDVQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBD bGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQTAeFw0xNzA4MDMwMDAw MDBaFw0xODA4MDMyMzU5NTlaMCoxKDAmBgkqhkiG9w0BCQEWGWVtb3RvLm1hc2FoaWtvQG5p ZnMuYWMuanAwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1EyMwNbS+rlqX6xYl nVNMt325FtYSwFHTMzy0lKPHoM6u/9cYeDpPa8V9FGeV2QOr8DNMj3rIiSo15S0mZsp7VKO3 ubN6iij/9aWMyW6sfbdFXJKSCdS90rRrbCe/dLRFdHiIDVCDuFC4dpWezET0fCLyMAkLx15I dUy5v/tTybf7WW2wDTPNv+qDXJv0mpxhp9fpTVSQeirrVo20oGTMccEXF8HP+k0W8DCzFU0V 9raP9EpA9iut94ngxomDnkl5z2D9S3aQ5E2+EaV31vWnBTupCJazhENW/oQqt/gsxO7p4hW1 UudH/XwSnQvE5u5ys8VerTiWRNI6+nebf5P3AgMBAAGjggHvMIIB6zAfBgNVHSMEGDAWgBSC r2yM+MX+lmF86B89K3FIXsSLwDAdBgNVHQ4EFgQUjrPCSoLdsjFi9HNNkEwTx1XNe1IwDgYD VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwIAYDVR0lBBkwFwYIKwYBBQUHAwQGCysGAQQB sjEBAwUCMBEGCWCGSAGG+EIBAQQEAwIFIDBGBgNVHSAEPzA9MDsGDCsGAQQBsjEBAgEBATAr MCkGCCsGAQUFBwIBFh1odHRwczovL3NlY3VyZS5jb21vZG8ubmV0L0NQUzBaBgNVHR8EUzBR ME+gTaBLhklodHRwOi8vY3JsLmNvbW9kb2NhLmNvbS9DT01PRE9SU0FDbGllbnRBdXRoZW50 aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGLBggrBgEFBQcBAQR/MH0wVQYIKwYBBQUH MAKGSWh0dHA6Ly9jcnQuY29tb2RvY2EuY29tL0NPTU9ET1JTQUNsaWVudEF1dGhlbnRpY2F0 aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k b2NhLmNvbTAkBgNVHREEHTAbgRllbW90by5tYXNhaGlrb0BuaWZzLmFjLmpwMA0GCSqGSIb3 DQEBCwUAA4IBAQAiiMQEgFvNYZx3mJ0yZQIcr6WJkKtOsoKcLHXp1hP5pp5evPYDQ5naNBGR HD1KZY3mCuTcRTctgi7mIbLbDsU+mAzQ4Y/jtRg8zXa3G7+bExpPwQ6FjFZLU/+b0GPyivpv MyfhWIGWlPwmmDizrg81Y+8lP5bvis5C+6USd/XiiACry6Wdlnmm5hKDmKXIeA02WMnqMsDo jYm0LbuecLes7SwgFrUxXozSS3oGutePws/aIu1g2BlsA/ydIxR/65WT8bb+IAU/Nc6I1fHb zhhdTVkzCKTegoPwNDAjW+RiIn9I+ZP4yjTRLCCMHVVfboQYyqd5Bm3Y6wFo5UP35NqhMIIF 5jCCA86gAwIBAgIQapvhODv/K2ufAdXZuKdSVjANBgkqhkiG9w0BAQwFADCBhTELMAkGA1UE BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEa MBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlm aWNhdGlvbiBBdXRob3JpdHkwHhcNMTMwMTEwMDAwMDAwWhcNMjgwMTA5MjM1OTU5WjCBlzEL MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2Fs Zm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNVBAMTNENPTU9ETyBSU0Eg Q2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EwggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQC+s55XrCh2dUAWxzgDmNPGGHYhUPMleQtMtaDRfTpYPpyn MS6n9jR22YRq2tA9NEjk6vW7rN/5sYFLIP1of3l0NKZ6fLWfF2VgJ5cijKYy/qlAckY1wgOk UMgzKlWlVJGyK+UlNEQ1/5ErCsHq9x9aU/x1KwTdF/LCrT03Rl/FwFrf1XTCwa2QZYL55AqL PikFlgqOtzk06kb2qvGlnHJvijjI03BOrNpo+kZGpcHsgyO1/u1OZTaOo8wvEU17VVeP1cHW se9tGKTDyUGg2hJZjrqck39UIm/nKbpDSZ0JsMoIw/JtOOg0JC56VzQgBo7ictReTQE5LFLG 3yQK+xS1AgMBAAGjggE8MIIBODAfBgNVHSMEGDAWgBS7r34CPfqm8TyEjq3uOJjs2TIy1DAd BgNVHQ4EFgQUgq9sjPjF/pZhfOgfPStxSF7Ei8AwDgYDVR0PAQH/BAQDAgGGMBIGA1UdEwEB /wQIMAYBAf8CAQAwEQYDVR0gBAowCDAGBgRVHSAAMEwGA1UdHwRFMEMwQaA/oD2GO2h0dHA6 Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET1JTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3Js MHEGCCsGAQUFBwEBBGUwYzA7BggrBgEFBQcwAoYvaHR0cDovL2NydC5jb21vZG9jYS5jb20v Q09NT0RPUlNBQWRkVHJ1c3RDQS5jcnQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmNvbW9k b2NhLmNvbTANBgkqhkiG9w0BAQwFAAOCAgEAeFyygSg0TzzuX1bOn5dW7I+iaxf28/ZJCAbU 2C81zd9A/tNx4+jsQgwRGiHjZrAYayZrrm78hOx7aEpkfNPQIHGG6Fvq3EzWf/Lvx7/hk6zS PwIal9v5IkDcZoFD7f3iT7PdkHJY9B51csvU50rxpEg1OyOT8fk2zvvPBuM4qQNqbGWlnhMp IMwpWZT89RY0wpJO+2V6eXEGGHsROs3njeP9DqqqAJaBa4wBeKOdGCWn1/Jp2oY6dyNmNppI 4ZNMUH4Tam85S1j6E95u4+1Nuru84OrMIzqvISE2HN/56ebTOWlcrurffade2022O/tUU1gb 4jfWCcyvB8czm12FgX/y/lRjmDbEA08QJNB2729Y+io1IYO3ztveBdvUCIYZojTq/OCR6Mvn zS6X72HP0PRLRTiOSEmIDsS5N5w/8IW1Hva5hEFy6fDAfd9yI+O+IMMAj1KcL/Zo9jzJ16HO 5m60ttl1Enk8MQkz/W3JlHaeI5iKFn4UJu1/cP2YHXYPiWf2JyBzsLBrGk1II+3yL8aorYew 6CQvdVifC3HtwlSam9V1niiCfOBe2C12TdKGu05LWIA3ZkFcWJGaNXOZ6Ggyh/TqvXG5v7zm EVDNXFnHn9tFpMpOUvxhcsjycBtH0dZ0WrNw6gH+HF8TIhCnH3+zzWuDN0Rk6h9KVkfKehIx ggQ1MIIEMQIBATCBrDCBlzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hl c3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7 BgNVBAMTNENPTU9ETyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h aWwgQ0ECEFo07oNuv/hoimII9kyx/0MwDQYJYIZIAWUDBAIBBQCgggJZMBgGCSqGSIb3DQEJ AzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE3MDgyMTIyMzcyMFowLwYJKoZIhvcN AQkEMSIEINB+Jojfx1mYcRJmBx3t4Rva9aOE5yfvH1LXClx04/70MGwGCSqGSIb3DQEJDzFf MF0wCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBAjAKBggqhkiG9w0DBzAOBggqhkiG9w0DAgIC AIAwDQYIKoZIhvcNAwICAUAwBwYFKw4DAgcwDQYIKoZIhvcNAwICASgwgb0GCSsGAQQBgjcQ BDGBrzCBrDCBlzELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQ MA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxPTA7BgNVBAMT NENPTU9ETyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1haWwgQ0EC EFo07oNuv/hoimII9kyx/0Mwgb8GCyqGSIb3DQEJEAILMYGvoIGsMIGXMQswCQYDVQQGEwJH QjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRowGAYD VQQKExFDT01PRE8gQ0EgTGltaXRlZDE9MDsGA1UEAxM0Q09NT0RPIFJTQSBDbGllbnQgQXV0 aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIQWjTug26/+GiKYgj2TLH/QzANBgkq hkiG9w0BAQEFAASCAQBEMvy472a710xVgZH0vF+MCC/8d3phJFilseQ8GignE9qKKEKQlZXA +Cb/WKatm5C2ysTN38lSd5NVaEfZqiSXPiCSKZICtWF+ZiWZfil55Xn4NlVXNdcPvGMeIaJz DTKnTCmgLdi2ChST76wbLq0uTrXSJz0B6XbQsHoiP5J9EamrgclsW0xDNFtH/bv2NeIVx31L TIxXBV4CeYgrJges85mVF0xtoTMPw523ZvAySEx6Q5z193l0MqD+2KXh+VWEMoRfBuYoThdB Z6kPuCPwoMTJmb19t6H7frfXxNnXzLzP3Wk11bwVLKOMBRBo2cMFlKQPYJwoJ7hDKlJXxQy+ AAAAAAAA --------------ms000402090802010403030602--