1
STARTTLS를 적용하는 IMAP 서버에 연결하는 간단한 IMAP 클라이언트를 작성하려고합니다. STARTTLS 명령을 실행하면 서버 연결이 끊어집니다. 반면에 STARTTLS에 대한 문서는 문제를 정확히 파악하기에 약간 가늘다.ruby IMAP STARTTLS는 자동으로 연결이 끊어 졌음을 의미합니까?
익명의 명령은 :
1.9.2-p320-railsexpress :001 > require 'net/imap'
=> nil
1.9.2-p320-railsexpress :002 > imap = Net::IMAP.new('SOME_HOST', 143, false)
=> #<Net::IMAP:0x0000000ba43138 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x0000000ba430e8>, @host="SOME_HOST", @port=143, @tag_prefix="RUBY", @tagno=0, @parser=#<Net::IMAP::ResponseParser:0x0000000ba42be8 @str="* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.\r\n", @pos=110, @lex_state=:EXPR_BEG, @token=nil, @flag_symbols={}>, @sock=#<TCPSocket:fd 9>, @usessl=false, @responses={}, @tagged_responses={}, @response_handlers=[], @tagged_response_arrival=#<MonitorMixin::ConditionVariable:0x0000000ba42ad0 @monitor=#<Net::IMAP:0x0000000ba43138 ...>, @cond=#<ConditionVariable:0x0000000ba42aa8 @waiters=[], @waiters_mutex=#<Mutex:0x0000000ba42a58>>>, @continuation_request_arrival=#<MonitorMixin::ConditionVariable:0x0000000ba42a30 @monitor=#<Net::IMAP:0x0000000ba43138 ...>, @cond=#<ConditionVariable:0x0000000ba42a08 @waiters=[], @waiters_mutex=#<Mutex:0x0000000ba429b8>>>, @idle_done_cond=nil, @logout_command_tag=nil, @debug_output_bol=true, @exception=nil, @greeting=#<struct Net::IMAP::UntaggedResponse name="OK", data=#<struct Net::IMAP::ResponseText code=#<struct Net::IMAP::ResponseCode name="CAPABILITY", data="IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED">, text=" Dovecot ready.">, raw_data="* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE STARTTLS LOGINDISABLED] Dovecot ready.\r\n">, @client_thread=#<Thread:0x007f416ed31420 run>, @receiver_thread=#<Thread:0x0000000ba41b58 run>>
1.9.2-p320-railsexpress :004 > imap.starttls
=> #<struct Net::IMAP::TaggedResponse tag="RUBY0001", name="OK", data=#<struct Net::IMAP::ResponseText code=nil, text="Begin TLS negotiation now.">, raw_data="RUBY0001 OK Begin TLS negotiation now.\r\n">
1.9.2-p320-railsexpress :006 > imap.disconnected?
=> true
나는 2.0.0-P353-railsexpress에서 같은 동작을 얻을.
올바른 동작입니까, 그렇다면 올바르게 STARTTLS IMAP 서버에서 루비를 사용하는 방법은 무엇입니까?
감사합니다.
용어에 대문자를 올바르게 사용하십시오. "imap"은 "IMAP"이고 "starttls"는 "STARTTLS"입니다. 그것은 사람들이 당신이 물어 본 것을 알아내는 데 도움이됩니다. –
희망대로 조정 – scones
안녕하세요! 문제를 해결 했니? 나는 같은 문제가 있기 때문에 물어 본다. –