packwerk 2.2.0 → 2.2.2
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.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +29 -20
- data/.github/workflows/cla.yml +22 -0
- data/.rubocop.yml +48 -19
- data/Gemfile +7 -2
- data/Gemfile.lock +202 -175
- data/README.md +1 -1
- data/RESOLVING_VIOLATIONS.md +81 -0
- data/Rakefile +1 -1
- data/USAGE.md +14 -5
- data/bin/m +1 -1
- data/bin/rake +1 -1
- data/bin/rubocop +1 -1
- data/bin/srb +1 -1
- data/bin/tapioca +1 -1
- data/gemfiles/Gemfile-rails-6-0 +1 -1
- data/gemfiles/Gemfile-rails-6-1 +22 -0
- data/lib/packwerk/application_load_paths.rb +1 -1
- data/lib/packwerk/application_validator.rb +7 -6
- data/lib/packwerk/association_inspector.rb +17 -15
- data/lib/packwerk/cache.rb +36 -29
- data/lib/packwerk/cli.rb +24 -20
- data/lib/packwerk/const_node_inspector.rb +8 -7
- data/lib/packwerk/constant_name_inspector.rb +2 -2
- data/lib/packwerk/deprecated_references.rb +40 -20
- data/lib/packwerk/file_processor.rb +14 -14
- data/lib/packwerk/files_for_processing.rb +27 -31
- data/lib/packwerk/formatters/offenses_formatter.rb +3 -3
- data/lib/packwerk/formatters/progress_formatter.rb +2 -2
- data/lib/packwerk/node.rb +1 -294
- data/lib/packwerk/node_helpers.rb +335 -0
- data/lib/packwerk/node_processor.rb +6 -5
- data/lib/packwerk/node_processor_factory.rb +3 -3
- data/lib/packwerk/node_visitor.rb +1 -1
- data/lib/packwerk/offense_collection.rb +27 -8
- data/lib/packwerk/offenses_formatter.rb +2 -2
- data/lib/packwerk/package.rb +3 -0
- data/lib/packwerk/package_set.rb +2 -0
- data/lib/packwerk/parse_run.rb +29 -20
- data/lib/packwerk/parsed_constant_definitions.rb +23 -20
- data/lib/packwerk/parsers/erb.rb +3 -3
- data/lib/packwerk/reference_checking/checkers/checker.rb +16 -3
- data/lib/packwerk/reference_checking/checkers/dependency_checker.rb +16 -0
- data/lib/packwerk/reference_checking/checkers/privacy_checker.rb +18 -0
- data/lib/packwerk/reference_checking/reference_checker.rb +3 -1
- data/lib/packwerk/reference_extractor.rb +51 -48
- data/lib/packwerk/reference_offense.rb +3 -27
- data/lib/packwerk/run_context.rb +9 -8
- data/lib/packwerk/spring_command.rb +1 -1
- data/lib/packwerk/version.rb +1 -1
- data/lib/packwerk.rb +1 -0
- data/packwerk.gemspec +5 -12
- data/sorbet/rbi/gems/actioncable@7.0.3.1.rbi +2754 -0
- data/sorbet/rbi/gems/actionmailbox@7.0.3.1.rbi +1496 -0
- data/sorbet/rbi/gems/actionmailer@7.0.3.1.rbi +2362 -0
- data/sorbet/rbi/gems/actionpack@7.0.3.1.rbi +19397 -0
- data/sorbet/rbi/gems/actiontext@7.0.3.1.rbi +1569 -0
- data/sorbet/rbi/gems/actionview@7.0.3.1.rbi +14907 -0
- data/sorbet/rbi/gems/activejob@7.0.3.1.rbi +2553 -0
- data/sorbet/rbi/gems/activemodel@7.0.3.1.rbi +5999 -0
- data/sorbet/rbi/gems/activerecord@7.0.3.1.rbi +37832 -0
- data/sorbet/rbi/gems/activestorage@7.0.3.1.rbi +2321 -0
- data/sorbet/rbi/gems/activesupport@7.0.3.1.rbi +18818 -0
- data/sorbet/rbi/gems/concurrent-ruby@1.1.10.rbi +11722 -0
- data/sorbet/rbi/gems/constant_resolver@0.2.0.rbi +90 -0
- data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +1079 -0
- data/sorbet/rbi/gems/digest@3.1.0.rbi +189 -0
- data/sorbet/rbi/gems/erubi@1.11.0.rbi +140 -0
- data/sorbet/rbi/gems/globalid@1.0.0.rbi +572 -0
- data/sorbet/rbi/gems/i18n@1.12.0.rbi +2296 -0
- data/sorbet/rbi/gems/json@2.6.2.rbi +1548 -0
- data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +8 -0
- data/sorbet/rbi/gems/loofah@2.18.0.rbi +877 -0
- data/sorbet/rbi/gems/m@1.6.0.rbi +257 -0
- data/sorbet/rbi/gems/marcel@1.0.2.rbi +220 -0
- data/sorbet/rbi/gems/mini_mime@1.1.2.rbi +170 -0
- data/sorbet/rbi/gems/mini_portile2@2.8.0.rbi +8 -0
- data/sorbet/rbi/gems/minitest-focus@1.3.1.rbi +104 -0
- data/sorbet/rbi/gems/minitest@5.16.2.rbi +2136 -0
- data/sorbet/rbi/gems/mocha@1.14.0.rbi +4177 -0
- data/sorbet/rbi/gems/net-imap@0.2.3.rbi +2147 -0
- data/sorbet/rbi/gems/net-pop@0.1.1.rbi +926 -0
- data/sorbet/rbi/gems/net-protocol@0.1.3.rbi +11 -0
- data/sorbet/rbi/gems/net-smtp@0.3.1.rbi +1108 -0
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +153 -0
- data/sorbet/rbi/gems/nio4r@2.5.8.rbi +292 -0
- data/sorbet/rbi/gems/nokogiri@1.13.8.rbi +6478 -0
- data/sorbet/rbi/gems/parallel@1.22.1.rbi +277 -0
- data/sorbet/rbi/gems/parser@3.1.2.1.rbi +9029 -0
- data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +8 -0
- data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
- data/sorbet/rbi/gems/racc@1.6.0.rbi +152 -0
- data/sorbet/rbi/gems/rack-test@2.0.2.rbi +953 -0
- data/sorbet/rbi/gems/rack@2.2.4.rbi +5636 -0
- data/sorbet/rbi/gems/rails-html-sanitizer@1.4.3.rbi +688 -0
- data/sorbet/rbi/gems/rails@7.0.3.1.rbi +8 -0
- data/sorbet/rbi/gems/railties@7.0.3.1.rbi +3507 -0
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +392 -0
- data/sorbet/rbi/gems/rake@13.0.6.rbi +2924 -0
- data/sorbet/rbi/gems/rbi@0.0.15.rbi +3007 -0
- data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +3383 -0
- data/sorbet/rbi/gems/rexml@3.2.5.rbi +4714 -0
- data/sorbet/rbi/gems/rubocop-ast@1.21.0.rbi +6961 -0
- data/sorbet/rbi/gems/rubocop-performance@1.14.3.rbi +2986 -0
- data/sorbet/rbi/gems/{rubocop-shopify@2.0.1.rbi → rubocop-shopify@2.9.0.rbi} +4 -4
- data/sorbet/rbi/gems/rubocop-sorbet@0.6.11.rbi +992 -0
- data/sorbet/rbi/gems/rubocop@1.34.1.rbi +51820 -0
- data/sorbet/rbi/gems/ruby-lsp@0.2.1.rbi +11 -0
- data/sorbet/rbi/gems/smart_properties@1.17.0.rbi +474 -0
- data/sorbet/rbi/gems/spoom@1.1.11.rbi +2181 -0
- data/sorbet/rbi/gems/spring@4.0.0.rbi +411 -0
- data/sorbet/rbi/gems/strscan@3.0.4.rbi +8 -0
- data/sorbet/rbi/gems/syntax_tree@3.3.0.rbi +8 -0
- data/sorbet/rbi/gems/tapioca@0.9.2.rbi +3181 -0
- data/sorbet/rbi/gems/thor@1.2.1.rbi +3956 -0
- data/sorbet/rbi/gems/timeout@0.3.0.rbi +142 -0
- data/sorbet/rbi/gems/tzinfo@2.0.5.rbi +5896 -0
- data/sorbet/rbi/gems/unicode-display_width@2.2.0.rbi +48 -0
- data/sorbet/rbi/gems/unparser@0.6.5.rbi +4529 -0
- data/sorbet/rbi/gems/webrick@1.7.0.rbi +2582 -0
- data/sorbet/rbi/gems/websocket-driver@0.7.5.rbi +993 -0
- data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +388 -0
- data/sorbet/rbi/gems/yard@0.9.28.rbi +18242 -0
- data/sorbet/rbi/gems/zeitwerk@2.6.0.rbi +867 -0
- data/sorbet/rbi/shims/psych.rbi +5 -0
- data/sorbet/tapioca/require.rb +2 -3
- metadata +91 -146
- data/.github/probots.yml +0 -2
- data/library.yml +0 -6
- data/service.yml +0 -1
- data/sorbet/rbi/gems/actioncable@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -860
- data/sorbet/rbi/gems/actionmailbox@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -568
- data/sorbet/rbi/gems/actionmailer@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -587
- data/sorbet/rbi/gems/actionpack@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -5314
- data/sorbet/rbi/gems/actiontext@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -699
- data/sorbet/rbi/gems/actionview@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -2515
- data/sorbet/rbi/gems/activejob@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -624
- data/sorbet/rbi/gems/activemodel@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -1248
- data/sorbet/rbi/gems/activerecord@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8363
- data/sorbet/rbi/gems/activestorage@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -876
- data/sorbet/rbi/gems/activesupport@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -3987
- data/sorbet/rbi/gems/colorize@0.8.1.rbi +0 -40
- data/sorbet/rbi/gems/commander@4.5.2.rbi +0 -8
- data/sorbet/rbi/gems/concurrent-ruby@1.1.8.rbi +0 -1969
- data/sorbet/rbi/gems/constant_resolver@0.1.5.rbi +0 -26
- data/sorbet/rbi/gems/erubi@1.10.0.rbi +0 -41
- data/sorbet/rbi/gems/globalid@0.4.2.rbi +0 -178
- data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -8
- data/sorbet/rbi/gems/i18n@1.8.10.rbi +0 -600
- data/sorbet/rbi/gems/loofah@2.9.0.rbi +0 -274
- data/sorbet/rbi/gems/m@1.5.1.rbi +0 -108
- data/sorbet/rbi/gems/marcel@1.0.0.rbi +0 -70
- data/sorbet/rbi/gems/mini_mime@1.0.3.rbi +0 -71
- data/sorbet/rbi/gems/minitest-focus@1.2.1.rbi +0 -8
- data/sorbet/rbi/gems/minitest@5.14.4.rbi +0 -544
- data/sorbet/rbi/gems/mocha@1.12.0.rbi +0 -953
- data/sorbet/rbi/gems/nio4r@2.5.7.rbi +0 -90
- data/sorbet/rbi/gems/nokogiri@1.11.2.rbi +0 -1647
- data/sorbet/rbi/gems/parallel@1.20.1.rbi +0 -117
- data/sorbet/rbi/gems/parlour@6.0.0.rbi +0 -1272
- data/sorbet/rbi/gems/parser@3.0.0.0.rbi +0 -1745
- data/sorbet/rbi/gems/pry@0.14.0.rbi +0 -8
- data/sorbet/rbi/gems/psych@3.3.2.rbi +0 -24
- data/sorbet/rbi/gems/racc@1.5.2.rbi +0 -57
- data/sorbet/rbi/gems/rack-test@1.1.0.rbi +0 -335
- data/sorbet/rbi/gems/rack@2.2.3.rbi +0 -1718
- data/sorbet/rbi/gems/rails-html-sanitizer@1.3.0.rbi +0 -213
- data/sorbet/rbi/gems/rails@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -8
- data/sorbet/rbi/gems/railties@7.0.0.alpha-d612542336d9a61381311c95a27d801bb4094779.rbi +0 -880
- data/sorbet/rbi/gems/rainbow@3.0.0.rbi +0 -155
- data/sorbet/rbi/gems/rake@13.0.3.rbi +0 -837
- data/sorbet/rbi/gems/regexp_parser@2.1.1.rbi +0 -8
- data/sorbet/rbi/gems/rexml@3.2.4.rbi +0 -8
- data/sorbet/rbi/gems/rubocop-ast@1.4.1.rbi +0 -8
- data/sorbet/rbi/gems/rubocop-performance@1.10.2.rbi +0 -8
- data/sorbet/rbi/gems/rubocop-sorbet@0.6.1.rbi +0 -8
- data/sorbet/rbi/gems/rubocop@1.12.0.rbi +0 -8
- data/sorbet/rbi/gems/smart_properties@1.15.0.rbi +0 -168
- data/sorbet/rbi/gems/spoom@1.1.0.rbi +0 -1061
- data/sorbet/rbi/gems/spring@2.1.1.rbi +0 -160
- data/sorbet/rbi/gems/sprockets-rails@3.2.2.rbi +0 -451
- data/sorbet/rbi/gems/sprockets@4.0.2.rbi +0 -1133
- data/sorbet/rbi/gems/tapioca@0.4.19.rbi +0 -603
- data/sorbet/rbi/gems/thor@1.1.0.rbi +0 -893
- data/sorbet/rbi/gems/tzinfo@2.0.4.rbi +0 -566
- data/sorbet/rbi/gems/unicode-display_width@2.0.0.rbi +0 -8
- data/sorbet/rbi/gems/websocket-driver@0.7.3.rbi +0 -438
- data/sorbet/rbi/gems/zeitwerk@2.4.2.rbi +0 -177
|
@@ -0,0 +1,2147 @@
|
|
|
1
|
+
# typed: false
|
|
2
|
+
|
|
3
|
+
# DO NOT EDIT MANUALLY
|
|
4
|
+
# This is an autogenerated file for types exported from the `net-imap` gem.
|
|
5
|
+
# Please instead update this file by running `bin/tapioca gem net-imap`.
|
|
6
|
+
|
|
7
|
+
# Net::IMAP implements Internet Message Access Protocol (IMAP) client
|
|
8
|
+
# functionality. The protocol is described in
|
|
9
|
+
# [IMAP[https://tools.ietf.org/html/rfc3501]].
|
|
10
|
+
#
|
|
11
|
+
# == IMAP Overview
|
|
12
|
+
#
|
|
13
|
+
# An \IMAP client connects to a server, and then authenticates
|
|
14
|
+
# itself using either #authenticate or #login. Having
|
|
15
|
+
# authenticated itself, there is a range of commands
|
|
16
|
+
# available to it. Most work with mailboxes, which may be
|
|
17
|
+
# arranged in an hierarchical namespace, and each of which
|
|
18
|
+
# contains zero or more messages. How this is implemented on
|
|
19
|
+
# the server is implementation-dependent; on a UNIX server, it
|
|
20
|
+
# will frequently be implemented as files in mailbox format
|
|
21
|
+
# within a hierarchy of directories.
|
|
22
|
+
#
|
|
23
|
+
# To work on the messages within a mailbox, the client must
|
|
24
|
+
# first select that mailbox, using either #select or (for
|
|
25
|
+
# read-only access) #examine. Once the client has successfully
|
|
26
|
+
# selected a mailbox, they enter _selected_ state, and that
|
|
27
|
+
# mailbox becomes the _current_ mailbox, on which mail-item
|
|
28
|
+
# related commands implicitly operate.
|
|
29
|
+
#
|
|
30
|
+
# Messages have two sorts of identifiers: message sequence
|
|
31
|
+
# numbers and UIDs.
|
|
32
|
+
#
|
|
33
|
+
# Message sequence numbers number messages within a mailbox
|
|
34
|
+
# from 1 up to the number of items in the mailbox. If a new
|
|
35
|
+
# message arrives during a session, it receives a sequence
|
|
36
|
+
# number equal to the new size of the mailbox. If messages
|
|
37
|
+
# are expunged from the mailbox, remaining messages have their
|
|
38
|
+
# sequence numbers "shuffled down" to fill the gaps.
|
|
39
|
+
#
|
|
40
|
+
# UIDs, on the other hand, are permanently guaranteed not to
|
|
41
|
+
# identify another message within the same mailbox, even if
|
|
42
|
+
# the existing message is deleted. UIDs are required to
|
|
43
|
+
# be assigned in ascending (but not necessarily sequential)
|
|
44
|
+
# order within a mailbox; this means that if a non-IMAP client
|
|
45
|
+
# rearranges the order of mailitems within a mailbox, the
|
|
46
|
+
# UIDs have to be reassigned. An \IMAP client thus cannot
|
|
47
|
+
# rearrange message orders.
|
|
48
|
+
#
|
|
49
|
+
# == Examples of Usage
|
|
50
|
+
#
|
|
51
|
+
# === List sender and subject of all recent messages in the default mailbox
|
|
52
|
+
#
|
|
53
|
+
# imap = Net::IMAP.new('mail.example.com')
|
|
54
|
+
# imap.authenticate('LOGIN', 'joe_user', 'joes_password')
|
|
55
|
+
# imap.examine('INBOX')
|
|
56
|
+
# imap.search(["RECENT"]).each do |message_id|
|
|
57
|
+
# envelope = imap.fetch(message_id, "ENVELOPE")[0].attr["ENVELOPE"]
|
|
58
|
+
# puts "#{envelope.from[0].name}: \t#{envelope.subject}"
|
|
59
|
+
# end
|
|
60
|
+
#
|
|
61
|
+
# === Move all messages from April 2003 from "Mail/sent-mail" to "Mail/sent-apr03"
|
|
62
|
+
#
|
|
63
|
+
# imap = Net::IMAP.new('mail.example.com')
|
|
64
|
+
# imap.authenticate('LOGIN', 'joe_user', 'joes_password')
|
|
65
|
+
# imap.select('Mail/sent-mail')
|
|
66
|
+
# if not imap.list('Mail/', 'sent-apr03')
|
|
67
|
+
# imap.create('Mail/sent-apr03')
|
|
68
|
+
# end
|
|
69
|
+
# imap.search(["BEFORE", "30-Apr-2003", "SINCE", "1-Apr-2003"]).each do |message_id|
|
|
70
|
+
# imap.copy(message_id, "Mail/sent-apr03")
|
|
71
|
+
# imap.store(message_id, "+FLAGS", [:Deleted])
|
|
72
|
+
# end
|
|
73
|
+
# imap.expunge
|
|
74
|
+
#
|
|
75
|
+
# == Thread Safety
|
|
76
|
+
#
|
|
77
|
+
# Net::IMAP supports concurrent threads. For example,
|
|
78
|
+
#
|
|
79
|
+
# imap = Net::IMAP.new("imap.foo.net", "imap2")
|
|
80
|
+
# imap.authenticate("cram-md5", "bar", "password")
|
|
81
|
+
# imap.select("inbox")
|
|
82
|
+
# fetch_thread = Thread.start { imap.fetch(1..-1, "UID") }
|
|
83
|
+
# search_result = imap.search(["BODY", "hello"])
|
|
84
|
+
# fetch_result = fetch_thread.value
|
|
85
|
+
# imap.disconnect
|
|
86
|
+
#
|
|
87
|
+
# This script invokes the FETCH command and the SEARCH command concurrently.
|
|
88
|
+
#
|
|
89
|
+
# == Errors
|
|
90
|
+
#
|
|
91
|
+
# An IMAP server can send three different types of responses to indicate
|
|
92
|
+
# failure:
|
|
93
|
+
#
|
|
94
|
+
# NO:: the attempted command could not be successfully completed. For
|
|
95
|
+
# instance, the username/password used for logging in are incorrect;
|
|
96
|
+
# the selected mailbox does not exist; etc.
|
|
97
|
+
#
|
|
98
|
+
# BAD:: the request from the client does not follow the server's
|
|
99
|
+
# understanding of the IMAP protocol. This includes attempting
|
|
100
|
+
# commands from the wrong client state; for instance, attempting
|
|
101
|
+
# to perform a SEARCH command without having SELECTed a current
|
|
102
|
+
# mailbox. It can also signal an internal server
|
|
103
|
+
# failure (such as a disk crash) has occurred.
|
|
104
|
+
#
|
|
105
|
+
# BYE:: the server is saying goodbye. This can be part of a normal
|
|
106
|
+
# logout sequence, and can be used as part of a login sequence
|
|
107
|
+
# to indicate that the server is (for some reason) unwilling
|
|
108
|
+
# to accept your connection. As a response to any other command,
|
|
109
|
+
# it indicates either that the server is shutting down, or that
|
|
110
|
+
# the server is timing out the client connection due to inactivity.
|
|
111
|
+
#
|
|
112
|
+
# These three error response are represented by the errors
|
|
113
|
+
# Net::IMAP::NoResponseError, Net::IMAP::BadResponseError, and
|
|
114
|
+
# Net::IMAP::ByeResponseError, all of which are subclasses of
|
|
115
|
+
# Net::IMAP::ResponseError. Essentially, all methods that involve
|
|
116
|
+
# sending a request to the server can generate one of these errors.
|
|
117
|
+
# Only the most pertinent instances have been documented below.
|
|
118
|
+
#
|
|
119
|
+
# Because the IMAP class uses Sockets for communication, its methods
|
|
120
|
+
# are also susceptible to the various errors that can occur when
|
|
121
|
+
# working with sockets. These are generally represented as
|
|
122
|
+
# Errno errors. For instance, any method that involves sending a
|
|
123
|
+
# request to the server and/or receiving a response from it could
|
|
124
|
+
# raise an Errno::EPIPE error if the network connection unexpectedly
|
|
125
|
+
# goes down. See the socket(7), ip(7), tcp(7), socket(2), connect(2),
|
|
126
|
+
# and associated man pages.
|
|
127
|
+
#
|
|
128
|
+
# Finally, a Net::IMAP::DataFormatError is thrown if low-level data
|
|
129
|
+
# is found to be in an incorrect format (for instance, when converting
|
|
130
|
+
# between UTF-8 and UTF-16), and Net::IMAP::ResponseParseError is
|
|
131
|
+
# thrown if a server response is non-parseable.
|
|
132
|
+
#
|
|
133
|
+
#
|
|
134
|
+
# == References
|
|
135
|
+
#
|
|
136
|
+
# [[IMAP[https://tools.ietf.org/html/rfc3501]]]
|
|
137
|
+
# Crispin, M. "INTERNET MESSAGE ACCESS PROTOCOL - \VERSION 4rev1",
|
|
138
|
+
# RFC-3501[https://tools.ietf.org/html/rfc3501], March 2003. (Note:
|
|
139
|
+
# obsoletes RFC-2060[https://tools.ietf.org/html/rfc2060], December 1996.)
|
|
140
|
+
#
|
|
141
|
+
# [[LANGUAGE-TAGS[https://tools.ietf.org/html/rfc1766]]]
|
|
142
|
+
# Phillips, A. and Davis, M. "Tags for Identifying Languages",
|
|
143
|
+
# RFC-5646[https://tools.ietf.org/html/rfc5646], September 2009.
|
|
144
|
+
# (Note: obsoletes
|
|
145
|
+
# RFC-3066[https://tools.ietf.org/html/rfc3066], January 2001,
|
|
146
|
+
# RFC-4646[https://tools.ietf.org/html/rfc4646], September 2006, and
|
|
147
|
+
# RFC-1766[https://tools.ietf.org/html/rfc1766], March 1995.)
|
|
148
|
+
#
|
|
149
|
+
# [[MD5[https://tools.ietf.org/html/rfc1864]]]
|
|
150
|
+
# Myers, J. and M. Rose, "The Content-MD5 Header Field",
|
|
151
|
+
# RFC-1864[https://tools.ietf.org/html/rfc1864], October 1995.
|
|
152
|
+
#
|
|
153
|
+
# [[MIME-IMB[https://tools.ietf.org/html/rfc2045]]]
|
|
154
|
+
# Freed, N. and N. Borenstein, "MIME (Multipurpose Internet
|
|
155
|
+
# Mail Extensions) Part One: Format of Internet Message Bodies",
|
|
156
|
+
# RFC-2045[https://tools.ietf.org/html/rfc2045], November 1996.
|
|
157
|
+
#
|
|
158
|
+
# [[RFC-5322[https://tools.ietf.org/html/rfc5322]]]
|
|
159
|
+
# Resnick, P., "Internet Message Format",
|
|
160
|
+
# RFC-5322[https://tools.ietf.org/html/rfc5322], October 2008.
|
|
161
|
+
# (Note: obsoletes
|
|
162
|
+
# RFC-2822[https://tools.ietf.org/html/rfc2822], April 2001, and
|
|
163
|
+
# RFC-822[https://tools.ietf.org/html/rfc822], August 1982.)
|
|
164
|
+
#
|
|
165
|
+
# [[EXT-QUOTA[https://tools.ietf.org/html/rfc2087]]]
|
|
166
|
+
# Myers, J., "IMAP4 QUOTA extension",
|
|
167
|
+
# RFC-2087[https://tools.ietf.org/html/rfc2087], January 1997.
|
|
168
|
+
#
|
|
169
|
+
# [[EXT-NAMESPACE[https://tools.ietf.org/html/rfc2342]]]
|
|
170
|
+
# Gahrns, M. and Newman, C., "IMAP4 Namespace",
|
|
171
|
+
# RFC-2342[https://tools.ietf.org/html/rfc2342], May 1998.
|
|
172
|
+
#
|
|
173
|
+
# [[EXT-ID[https://tools.ietf.org/html/rfc2971]]]
|
|
174
|
+
# Showalter, T., "IMAP4 ID extension",
|
|
175
|
+
# RFC-2971[https://tools.ietf.org/html/rfc2971], October 2000.
|
|
176
|
+
#
|
|
177
|
+
# [[EXT-ACL[https://tools.ietf.org/html/rfc4314]]]
|
|
178
|
+
# Melnikov, A., "IMAP4 ACL extension",
|
|
179
|
+
# RFC-4314[https://tools.ietf.org/html/rfc4314], December 2005. (Note:
|
|
180
|
+
# obsoletes RFC-2086[https://tools.ietf.org/html/rfc2086], January 1997.)
|
|
181
|
+
#
|
|
182
|
+
# [[EXT-SORT-THREAD[https://tools.ietf.org/html/rfc5256]]]
|
|
183
|
+
# Crispin, M. and Muchison, K., "INTERNET MESSAGE ACCESS PROTOCOL - SORT
|
|
184
|
+
# and THREAD Extensions", RFC-5256[https://tools.ietf.org/html/rfc5256],
|
|
185
|
+
# June 2008.
|
|
186
|
+
#
|
|
187
|
+
# [[EXT-MOVE[https://tools.ietf.org/html/rfc6851]]]
|
|
188
|
+
# Gulbrandsen, A. and Freed, N., "Internet Message Access Protocol (\IMAP) -
|
|
189
|
+
# MOVE Extension", RFC-6851[https://tools.ietf.org/html/rfc6851], January
|
|
190
|
+
# 2013.
|
|
191
|
+
#
|
|
192
|
+
# [[OSSL]]
|
|
193
|
+
# http://www.openssl.org
|
|
194
|
+
#
|
|
195
|
+
# [[RSSL]]
|
|
196
|
+
# http://savannah.gnu.org/projects/rubypki
|
|
197
|
+
#
|
|
198
|
+
# [[UTF7[https://tools.ietf.org/html/rfc2152]]]
|
|
199
|
+
# Goldsmith, D. and Davis, M., "UTF-7: A Mail-Safe Transformation Format of
|
|
200
|
+
# Unicode", RFC-2152[https://tools.ietf.org/html/rfc2152], May 1997.
|
|
201
|
+
#
|
|
202
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:222
|
|
203
|
+
class Net::IMAP < ::Net::Protocol
|
|
204
|
+
include ::MonitorMixin
|
|
205
|
+
include ::OpenSSL
|
|
206
|
+
include ::OpenSSL::SSL
|
|
207
|
+
extend ::Net::IMAP::Authenticators
|
|
208
|
+
|
|
209
|
+
# :call-seq:
|
|
210
|
+
# Net::IMAP.new(host, options = {})
|
|
211
|
+
#
|
|
212
|
+
# Creates a new Net::IMAP object and connects it to the specified
|
|
213
|
+
# +host+.
|
|
214
|
+
#
|
|
215
|
+
# +options+ is an option hash, each key of which is a symbol.
|
|
216
|
+
#
|
|
217
|
+
# The available options are:
|
|
218
|
+
#
|
|
219
|
+
# port:: Port number (default value is 143 for imap, or 993 for imaps)
|
|
220
|
+
# ssl:: If +options[:ssl]+ is true, then an attempt will be made
|
|
221
|
+
# to use SSL (now TLS) to connect to the server. For this to work
|
|
222
|
+
# OpenSSL [OSSL] and the Ruby OpenSSL [RSSL] extensions need to
|
|
223
|
+
# be installed.
|
|
224
|
+
# If +options[:ssl]+ is a hash, it's passed to
|
|
225
|
+
# OpenSSL::SSL::SSLContext#set_params as parameters.
|
|
226
|
+
# open_timeout:: Seconds to wait until a connection is opened
|
|
227
|
+
# idle_response_timeout:: Seconds to wait until an IDLE response is received
|
|
228
|
+
#
|
|
229
|
+
# The most common errors are:
|
|
230
|
+
#
|
|
231
|
+
# Errno::ECONNREFUSED:: Connection refused by +host+ or an intervening
|
|
232
|
+
# firewall.
|
|
233
|
+
# Errno::ETIMEDOUT:: Connection timed out (possibly due to packets
|
|
234
|
+
# being dropped by an intervening firewall).
|
|
235
|
+
# Errno::ENETUNREACH:: There is no route to that network.
|
|
236
|
+
# SocketError:: Hostname not known or other socket error.
|
|
237
|
+
# Net::IMAP::ByeResponseError:: The connected to the host was successful, but
|
|
238
|
+
# it immediately said goodbye.
|
|
239
|
+
#
|
|
240
|
+
# @return [IMAP] a new instance of IMAP
|
|
241
|
+
#
|
|
242
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1084
|
|
243
|
+
def initialize(host, port_or_options = T.unsafe(nil), usessl = T.unsafe(nil), certs = T.unsafe(nil), verify = T.unsafe(nil)); end
|
|
244
|
+
|
|
245
|
+
# Adds a response handler. For example, to detect when
|
|
246
|
+
# the server sends a new EXISTS response (which normally
|
|
247
|
+
# indicates new messages being added to the mailbox),
|
|
248
|
+
# add the following handler after selecting the
|
|
249
|
+
# mailbox:
|
|
250
|
+
#
|
|
251
|
+
# imap.add_response_handler { |resp|
|
|
252
|
+
# if resp.kind_of?(Net::IMAP::UntaggedResponse) and resp.name == "EXISTS"
|
|
253
|
+
# puts "Mailbox now has #{resp.data} messages"
|
|
254
|
+
# end
|
|
255
|
+
# }
|
|
256
|
+
#
|
|
257
|
+
# @raise [ArgumentError]
|
|
258
|
+
#
|
|
259
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:958
|
|
260
|
+
def add_response_handler(handler = T.unsafe(nil), &block); end
|
|
261
|
+
|
|
262
|
+
# Sends a APPEND command to append the +message+ to the end of
|
|
263
|
+
# the +mailbox+. The optional +flags+ argument is an array of
|
|
264
|
+
# flags initially passed to the new message. The optional
|
|
265
|
+
# +date_time+ argument specifies the creation time to assign to the
|
|
266
|
+
# new message; it defaults to the current time.
|
|
267
|
+
# For example:
|
|
268
|
+
#
|
|
269
|
+
# imap.append("inbox", <<EOF.gsub(/\n/, "\r\n"), [:Seen], Time.now)
|
|
270
|
+
# Subject: hello
|
|
271
|
+
# From: shugo@ruby-lang.org
|
|
272
|
+
# To: shugo@ruby-lang.org
|
|
273
|
+
#
|
|
274
|
+
# hello world
|
|
275
|
+
# EOF
|
|
276
|
+
#
|
|
277
|
+
# A Net::IMAP::NoResponseError is raised if the mailbox does
|
|
278
|
+
# not exist (it is not created automatically), or if the flags,
|
|
279
|
+
# date_time, or message arguments contain errors.
|
|
280
|
+
#
|
|
281
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:746
|
|
282
|
+
def append(mailbox, message, flags = T.unsafe(nil), date_time = T.unsafe(nil)); end
|
|
283
|
+
|
|
284
|
+
# Sends an AUTHENTICATE command to authenticate the client.
|
|
285
|
+
# The +auth_type+ parameter is a string that represents
|
|
286
|
+
# the authentication mechanism to be used. Currently Net::IMAP
|
|
287
|
+
# supports the authentication mechanisms:
|
|
288
|
+
#
|
|
289
|
+
# LOGIN:: login using cleartext user and password.
|
|
290
|
+
# CRAM-MD5:: login with cleartext user and encrypted password
|
|
291
|
+
# (see [RFC-2195] for a full description). This
|
|
292
|
+
# mechanism requires that the server have the user's
|
|
293
|
+
# password stored in clear-text password.
|
|
294
|
+
#
|
|
295
|
+
# For both of these mechanisms, there should be two +args+: username
|
|
296
|
+
# and (cleartext) password. A server may not support one or the other
|
|
297
|
+
# of these mechanisms; check #capability for a capability of
|
|
298
|
+
# the form "AUTH=LOGIN" or "AUTH=CRAM-MD5".
|
|
299
|
+
#
|
|
300
|
+
# Authentication is done using the appropriate authenticator object:
|
|
301
|
+
# see +add_authenticator+ for more information on plugging in your own
|
|
302
|
+
# authenticator.
|
|
303
|
+
#
|
|
304
|
+
# For example:
|
|
305
|
+
#
|
|
306
|
+
# imap.authenticate('LOGIN', user, password)
|
|
307
|
+
#
|
|
308
|
+
# A Net::IMAP::NoResponseError is raised if authentication fails.
|
|
309
|
+
#
|
|
310
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:403
|
|
311
|
+
def authenticate(auth_type, *args); end
|
|
312
|
+
|
|
313
|
+
# Sends a CAPABILITY command, and returns an array of
|
|
314
|
+
# capabilities that the server supports. Each capability
|
|
315
|
+
# is a string. See [IMAP] for a list of possible
|
|
316
|
+
# capabilities.
|
|
317
|
+
#
|
|
318
|
+
# Note that the Net::IMAP class does not modify its
|
|
319
|
+
# behaviour according to the capabilities of the server;
|
|
320
|
+
# it is up to the user of the class to ensure that
|
|
321
|
+
# a certain capability is supported by a server before
|
|
322
|
+
# using it.
|
|
323
|
+
#
|
|
324
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:321
|
|
325
|
+
def capability; end
|
|
326
|
+
|
|
327
|
+
# Sends a CHECK command to request a checkpoint of the currently
|
|
328
|
+
# selected mailbox. This performs implementation-specific
|
|
329
|
+
# housekeeping; for instance, reconciling the mailbox's
|
|
330
|
+
# in-memory and on-disk state.
|
|
331
|
+
#
|
|
332
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:760
|
|
333
|
+
def check; end
|
|
334
|
+
|
|
335
|
+
# The thread to receive exceptions.
|
|
336
|
+
#
|
|
337
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:255
|
|
338
|
+
def client_thread; end
|
|
339
|
+
|
|
340
|
+
# The thread to receive exceptions.
|
|
341
|
+
#
|
|
342
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:255
|
|
343
|
+
def client_thread=(_arg0); end
|
|
344
|
+
|
|
345
|
+
# Sends a CLOSE command to close the currently selected mailbox.
|
|
346
|
+
# The CLOSE command permanently removes from the mailbox all
|
|
347
|
+
# messages that have the \Deleted flag set.
|
|
348
|
+
#
|
|
349
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:767
|
|
350
|
+
def close; end
|
|
351
|
+
|
|
352
|
+
# Sends a COPY command to copy the specified message(s) to the end
|
|
353
|
+
# of the specified destination +mailbox+. The +set+ parameter is
|
|
354
|
+
# a number, an array of numbers, or a Range object. The number is
|
|
355
|
+
# a message sequence number.
|
|
356
|
+
#
|
|
357
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:900
|
|
358
|
+
def copy(set, mailbox); end
|
|
359
|
+
|
|
360
|
+
# Sends a CREATE command to create a new +mailbox+.
|
|
361
|
+
#
|
|
362
|
+
# A Net::IMAP::NoResponseError is raised if a mailbox with that name
|
|
363
|
+
# cannot be created.
|
|
364
|
+
#
|
|
365
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:461
|
|
366
|
+
def create(mailbox); end
|
|
367
|
+
|
|
368
|
+
# Sends a DELETE command to remove the +mailbox+.
|
|
369
|
+
#
|
|
370
|
+
# A Net::IMAP::NoResponseError is raised if a mailbox with that name
|
|
371
|
+
# cannot be deleted, either because it does not exist or because the
|
|
372
|
+
# client does not have permission to delete it.
|
|
373
|
+
#
|
|
374
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:470
|
|
375
|
+
def delete(mailbox); end
|
|
376
|
+
|
|
377
|
+
# Disconnects from the server.
|
|
378
|
+
#
|
|
379
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:284
|
|
380
|
+
def disconnect; end
|
|
381
|
+
|
|
382
|
+
# Returns true if disconnected from the server.
|
|
383
|
+
#
|
|
384
|
+
# @return [Boolean]
|
|
385
|
+
#
|
|
386
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:307
|
|
387
|
+
def disconnected?; end
|
|
388
|
+
|
|
389
|
+
# Sends a EXAMINE command to select a +mailbox+ so that messages
|
|
390
|
+
# in the +mailbox+ can be accessed. Behaves the same as #select,
|
|
391
|
+
# except that the selected +mailbox+ is identified as read-only.
|
|
392
|
+
#
|
|
393
|
+
# A Net::IMAP::NoResponseError is raised if the mailbox does not
|
|
394
|
+
# exist or is for some reason non-examinable.
|
|
395
|
+
#
|
|
396
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:450
|
|
397
|
+
def examine(mailbox); end
|
|
398
|
+
|
|
399
|
+
# Sends a EXPUNGE command to permanently remove from the currently
|
|
400
|
+
# selected mailbox all messages that have the \Deleted flag set.
|
|
401
|
+
#
|
|
402
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:773
|
|
403
|
+
def expunge; end
|
|
404
|
+
|
|
405
|
+
# Sends a FETCH command to retrieve data associated with a message
|
|
406
|
+
# in the mailbox.
|
|
407
|
+
#
|
|
408
|
+
# The +set+ parameter is a number or a range between two numbers,
|
|
409
|
+
# or an array of those. The number is a message sequence number,
|
|
410
|
+
# where -1 represents a '*' for use in range notation like 100..-1
|
|
411
|
+
# being interpreted as '100:*'. Beware that the +exclude_end?+
|
|
412
|
+
# property of a Range object is ignored, and the contents of a
|
|
413
|
+
# range are independent of the order of the range endpoints as per
|
|
414
|
+
# the protocol specification, so 1...5, 5..1 and 5...1 are all
|
|
415
|
+
# equivalent to 1..5.
|
|
416
|
+
#
|
|
417
|
+
# +attr+ is a list of attributes to fetch; see the documentation
|
|
418
|
+
# for Net::IMAP::FetchData for a list of valid attributes.
|
|
419
|
+
#
|
|
420
|
+
# The return value is an array of Net::IMAP::FetchData or nil
|
|
421
|
+
# (instead of an empty array) if there is no matching message.
|
|
422
|
+
#
|
|
423
|
+
# For example:
|
|
424
|
+
#
|
|
425
|
+
# p imap.fetch(6..8, "UID")
|
|
426
|
+
# #=> [#<Net::IMAP::FetchData seqno=6, attr={"UID"=>98}>, \\
|
|
427
|
+
# #<Net::IMAP::FetchData seqno=7, attr={"UID"=>99}>, \\
|
|
428
|
+
# #<Net::IMAP::FetchData seqno=8, attr={"UID"=>100}>]
|
|
429
|
+
# p imap.fetch(6, "BODY[HEADER.FIELDS (SUBJECT)]")
|
|
430
|
+
# #=> [#<Net::IMAP::FetchData seqno=6, attr={"BODY[HEADER.FIELDS (SUBJECT)]"=>"Subject: test\r\n\r\n"}>]
|
|
431
|
+
# data = imap.uid_fetch(98, ["RFC822.SIZE", "INTERNALDATE"])[0]
|
|
432
|
+
# p data.seqno
|
|
433
|
+
# #=> 6
|
|
434
|
+
# p data.attr["RFC822.SIZE"]
|
|
435
|
+
# #=> 611
|
|
436
|
+
# p data.attr["INTERNALDATE"]
|
|
437
|
+
# #=> "12-Oct-2000 22:40:59 +0900"
|
|
438
|
+
# p data.attr["UID"]
|
|
439
|
+
# #=> 98
|
|
440
|
+
#
|
|
441
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:864
|
|
442
|
+
def fetch(set, attr, mod = T.unsafe(nil)); end
|
|
443
|
+
|
|
444
|
+
# Send the GETACL command along with a specified +mailbox+.
|
|
445
|
+
# If this mailbox exists, an array containing objects of
|
|
446
|
+
# Net::IMAP::MailboxACLItem will be returned.
|
|
447
|
+
#
|
|
448
|
+
# The ACL extension is described in [EXT-ACL[https://tools.ietf.org/html/rfc4314]]
|
|
449
|
+
#
|
|
450
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:685
|
|
451
|
+
def getacl(mailbox); end
|
|
452
|
+
|
|
453
|
+
# Sends the GETQUOTA command along with specified +mailbox+.
|
|
454
|
+
# If this mailbox exists, then an array containing a
|
|
455
|
+
# Net::IMAP::MailboxQuota object is returned. This
|
|
456
|
+
# command is generally only available to server admin.
|
|
457
|
+
#
|
|
458
|
+
# The QUOTA extension is described in [EXT-QUOTA[https://tools.ietf.org/html/rfc2087]]
|
|
459
|
+
#
|
|
460
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:645
|
|
461
|
+
def getquota(mailbox); end
|
|
462
|
+
|
|
463
|
+
# Sends the GETQUOTAROOT command along with the specified +mailbox+.
|
|
464
|
+
# This command is generally available to both admin and user.
|
|
465
|
+
# If this mailbox exists, it returns an array containing objects of type
|
|
466
|
+
# Net::IMAP::MailboxQuotaRoot and Net::IMAP::MailboxQuota.
|
|
467
|
+
#
|
|
468
|
+
# The QUOTA extension is described in [EXT-QUOTA[https://tools.ietf.org/html/rfc2087]]
|
|
469
|
+
#
|
|
470
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:629
|
|
471
|
+
def getquotaroot(mailbox); end
|
|
472
|
+
|
|
473
|
+
# Returns an initial greeting response from the server.
|
|
474
|
+
#
|
|
475
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:232
|
|
476
|
+
def greeting; end
|
|
477
|
+
|
|
478
|
+
# Sends an ID command, and returns a hash of the server's
|
|
479
|
+
# response, or nil if the server does not identify itself.
|
|
480
|
+
#
|
|
481
|
+
# Note that the user should first check if the server supports the ID
|
|
482
|
+
# capability. For example:
|
|
483
|
+
#
|
|
484
|
+
# capabilities = imap.capability
|
|
485
|
+
# if capabilities.include?("ID")
|
|
486
|
+
# id = imap.id(
|
|
487
|
+
# name: "my IMAP client (ruby)",
|
|
488
|
+
# version: MyIMAP::VERSION,
|
|
489
|
+
# "support-url": "mailto:bugs@example.com",
|
|
490
|
+
# os: RbConfig::CONFIG["host_os"],
|
|
491
|
+
# )
|
|
492
|
+
# end
|
|
493
|
+
#
|
|
494
|
+
# See [EXT-ID[https://tools.ietf.org/html/rfc2971]] for field definitions.
|
|
495
|
+
#
|
|
496
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:345
|
|
497
|
+
def id(client_id = T.unsafe(nil)); end
|
|
498
|
+
|
|
499
|
+
# Sends an IDLE command that waits for notifications of new or expunged
|
|
500
|
+
# messages. Yields responses from the server during the IDLE.
|
|
501
|
+
#
|
|
502
|
+
# Use #idle_done to leave IDLE.
|
|
503
|
+
#
|
|
504
|
+
# If +timeout+ is given, this method returns after +timeout+ seconds passed.
|
|
505
|
+
# +timeout+ can be used for keep-alive. For example, the following code
|
|
506
|
+
# checks the connection for each 60 seconds.
|
|
507
|
+
#
|
|
508
|
+
# loop do
|
|
509
|
+
# imap.idle(60) do |res|
|
|
510
|
+
# ...
|
|
511
|
+
# end
|
|
512
|
+
# end
|
|
513
|
+
#
|
|
514
|
+
# @raise [LocalJumpError]
|
|
515
|
+
#
|
|
516
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1007
|
|
517
|
+
def idle(timeout = T.unsafe(nil), &response_handler); end
|
|
518
|
+
|
|
519
|
+
# Leaves IDLE.
|
|
520
|
+
#
|
|
521
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1037
|
|
522
|
+
def idle_done; end
|
|
523
|
+
|
|
524
|
+
# Seconds to wait until an IDLE response is received.
|
|
525
|
+
#
|
|
526
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:252
|
|
527
|
+
def idle_response_timeout; end
|
|
528
|
+
|
|
529
|
+
# Sends a LIST command, and returns a subset of names from
|
|
530
|
+
# the complete set of all names available to the client.
|
|
531
|
+
# +refname+ provides a context (for instance, a base directory
|
|
532
|
+
# in a directory-based mailbox hierarchy). +mailbox+ specifies
|
|
533
|
+
# a mailbox or (via wildcards) mailboxes under that context.
|
|
534
|
+
# Two wildcards may be used in +mailbox+: '*', which matches
|
|
535
|
+
# all characters *including* the hierarchy delimiter (for instance,
|
|
536
|
+
# '/' on a UNIX-hosted directory-based mailbox hierarchy); and '%',
|
|
537
|
+
# which matches all characters *except* the hierarchy delimiter.
|
|
538
|
+
#
|
|
539
|
+
# If +refname+ is empty, +mailbox+ is used directly to determine
|
|
540
|
+
# which mailboxes to match. If +mailbox+ is empty, the root
|
|
541
|
+
# name of +refname+ and the hierarchy delimiter are returned.
|
|
542
|
+
#
|
|
543
|
+
# The return value is an array of +Net::IMAP::MailboxList+. For example:
|
|
544
|
+
#
|
|
545
|
+
# imap.create("foo/bar")
|
|
546
|
+
# imap.create("foo/baz")
|
|
547
|
+
# p imap.list("", "foo/%")
|
|
548
|
+
# #=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, \\
|
|
549
|
+
# #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, \\
|
|
550
|
+
# #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">]
|
|
551
|
+
#
|
|
552
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:527
|
|
553
|
+
def list(refname, mailbox); end
|
|
554
|
+
|
|
555
|
+
# Sends a LOGIN command to identify the client and carries
|
|
556
|
+
# the plaintext +password+ authenticating this +user+. Note
|
|
557
|
+
# that, unlike calling #authenticate with an +auth_type+
|
|
558
|
+
# of "LOGIN", #login does *not* use the login authenticator.
|
|
559
|
+
#
|
|
560
|
+
# A Net::IMAP::NoResponseError is raised if authentication fails.
|
|
561
|
+
#
|
|
562
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:421
|
|
563
|
+
def login(user, password); end
|
|
564
|
+
|
|
565
|
+
# Sends a LOGOUT command to inform the server that the client is
|
|
566
|
+
# done with the connection.
|
|
567
|
+
#
|
|
568
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:359
|
|
569
|
+
def logout; end
|
|
570
|
+
|
|
571
|
+
# Sends a LSUB command, and returns a subset of names from the set
|
|
572
|
+
# of names that the user has declared as being "active" or
|
|
573
|
+
# "subscribed." +refname+ and +mailbox+ are interpreted as
|
|
574
|
+
# for #list.
|
|
575
|
+
#
|
|
576
|
+
# The return value is an array of +Net::IMAP::MailboxList+.
|
|
577
|
+
#
|
|
578
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:698
|
|
579
|
+
def lsub(refname, mailbox); end
|
|
580
|
+
|
|
581
|
+
# Sends a MOVE command to move the specified message(s) to the end
|
|
582
|
+
# of the specified destination +mailbox+. The +set+ parameter is
|
|
583
|
+
# a number, an array of numbers, or a Range object. The number is
|
|
584
|
+
# a message sequence number.
|
|
585
|
+
#
|
|
586
|
+
# The MOVE extension is described in [EXT-MOVE[https://tools.ietf.org/html/rfc6851]].
|
|
587
|
+
#
|
|
588
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:915
|
|
589
|
+
def move(set, mailbox); end
|
|
590
|
+
|
|
591
|
+
# Sends a NAMESPACE command and returns the namespaces that are available.
|
|
592
|
+
# The NAMESPACE command allows a client to discover the prefixes of
|
|
593
|
+
# namespaces used by a server for personal mailboxes, other users'
|
|
594
|
+
# mailboxes, and shared mailboxes.
|
|
595
|
+
#
|
|
596
|
+
# The NAMESPACE extension predates [IMAP4rev1[https://tools.ietf.org/html/rfc2501]],
|
|
597
|
+
# so most IMAP servers support it. Many popular IMAP servers are configured
|
|
598
|
+
# with the default personal namespaces as `("" "/")`: no prefix and "/"
|
|
599
|
+
# hierarchy delimiter. In that common case, the naive client may not have
|
|
600
|
+
# any trouble naming mailboxes.
|
|
601
|
+
#
|
|
602
|
+
# But many servers are configured with the default personal namespace as
|
|
603
|
+
# e.g. `("INBOX." ".")`, placing all personal folders under INBOX, with "."
|
|
604
|
+
# as the hierarchy delimiter. If the client does not check for this, but
|
|
605
|
+
# naively assumes it can use the same folder names for all servers, then
|
|
606
|
+
# folder creation (and listing, moving, etc) can lead to errors.
|
|
607
|
+
#
|
|
608
|
+
# From RFC2342:
|
|
609
|
+
#
|
|
610
|
+
# Although typically a server will support only a single Personal
|
|
611
|
+
# Namespace, and a single Other User's Namespace, circumstances exist
|
|
612
|
+
# where there MAY be multiples of these, and a client MUST be prepared
|
|
613
|
+
# for them. If a client is configured such that it is required to create
|
|
614
|
+
# a certain mailbox, there can be circumstances where it is unclear which
|
|
615
|
+
# Personal Namespaces it should create the mailbox in. In these
|
|
616
|
+
# situations a client SHOULD let the user select which namespaces to
|
|
617
|
+
# create the mailbox in.
|
|
618
|
+
#
|
|
619
|
+
# The user of this method should first check if the server supports the
|
|
620
|
+
# NAMESPACE capability. The return value is a +Net::IMAP::Namespaces+
|
|
621
|
+
# object which has +personal+, +other+, and +shared+ fields, each an array
|
|
622
|
+
# of +Net::IMAP::Namespace+ objects. These arrays will be empty when the
|
|
623
|
+
# server responds with nil.
|
|
624
|
+
#
|
|
625
|
+
# For example:
|
|
626
|
+
#
|
|
627
|
+
# capabilities = imap.capability
|
|
628
|
+
# if capabilities.include?("NAMESPACE")
|
|
629
|
+
# namespaces = imap.namespace
|
|
630
|
+
# if namespace = namespaces.personal.first
|
|
631
|
+
# prefix = namespace.prefix # e.g. "" or "INBOX."
|
|
632
|
+
# delim = namespace.delim # e.g. "/" or "."
|
|
633
|
+
# # personal folders should use the prefix and delimiter
|
|
634
|
+
# imap.create(prefix + "foo")
|
|
635
|
+
# imap.create(prefix + "bar")
|
|
636
|
+
# imap.create(prefix + %w[path to my folder].join(delim))
|
|
637
|
+
# end
|
|
638
|
+
# end
|
|
639
|
+
#
|
|
640
|
+
# The NAMESPACE extension is described in [EXT-NAMESPACE[https://tools.ietf.org/html/rfc2342]]
|
|
641
|
+
#
|
|
642
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:584
|
|
643
|
+
def namespace; end
|
|
644
|
+
|
|
645
|
+
# Sends a NOOP command to the server. It does nothing.
|
|
646
|
+
#
|
|
647
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:353
|
|
648
|
+
def noop; end
|
|
649
|
+
|
|
650
|
+
# Seconds to wait until a connection is opened.
|
|
651
|
+
# If the IMAP object cannot open a connection within this time,
|
|
652
|
+
# it raises a Net::OpenTimeout exception. The default value is 30 seconds.
|
|
653
|
+
#
|
|
654
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:249
|
|
655
|
+
def open_timeout; end
|
|
656
|
+
|
|
657
|
+
# Removes the response handler.
|
|
658
|
+
#
|
|
659
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:964
|
|
660
|
+
def remove_response_handler(handler); end
|
|
661
|
+
|
|
662
|
+
# Sends a RENAME command to change the name of the +mailbox+ to
|
|
663
|
+
# +newname+.
|
|
664
|
+
#
|
|
665
|
+
# A Net::IMAP::NoResponseError is raised if a mailbox with the
|
|
666
|
+
# name +mailbox+ cannot be renamed to +newname+ for whatever
|
|
667
|
+
# reason; for instance, because +mailbox+ does not exist, or
|
|
668
|
+
# because there is already a mailbox with the name +newname+.
|
|
669
|
+
#
|
|
670
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:481
|
|
671
|
+
def rename(mailbox, newname); end
|
|
672
|
+
|
|
673
|
+
# Returns all response handlers.
|
|
674
|
+
#
|
|
675
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:244
|
|
676
|
+
def response_handlers; end
|
|
677
|
+
|
|
678
|
+
# Returns recorded untagged responses. For example:
|
|
679
|
+
#
|
|
680
|
+
# imap.select("inbox")
|
|
681
|
+
# p imap.responses["EXISTS"][-1]
|
|
682
|
+
# #=> 2
|
|
683
|
+
# p imap.responses["UIDVALIDITY"][-1]
|
|
684
|
+
# #=> 968263756
|
|
685
|
+
#
|
|
686
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:241
|
|
687
|
+
def responses; end
|
|
688
|
+
|
|
689
|
+
# Sends a SEARCH command to search the mailbox for messages that
|
|
690
|
+
# match the given searching criteria, and returns message sequence
|
|
691
|
+
# numbers. +keys+ can either be a string holding the entire
|
|
692
|
+
# search string, or a single-dimension array of search keywords and
|
|
693
|
+
# arguments. The following are some common search criteria;
|
|
694
|
+
# see [IMAP] section 6.4.4 for a full list.
|
|
695
|
+
#
|
|
696
|
+
# <message set>:: a set of message sequence numbers. ',' indicates
|
|
697
|
+
# an interval, ':' indicates a range. For instance,
|
|
698
|
+
# '2,10:12,15' means "2,10,11,12,15".
|
|
699
|
+
#
|
|
700
|
+
# BEFORE <date>:: messages with an internal date strictly before
|
|
701
|
+
# <date>. The date argument has a format similar
|
|
702
|
+
# to 8-Aug-2002.
|
|
703
|
+
#
|
|
704
|
+
# BODY <string>:: messages that contain <string> within their body.
|
|
705
|
+
#
|
|
706
|
+
# CC <string>:: messages containing <string> in their CC field.
|
|
707
|
+
#
|
|
708
|
+
# FROM <string>:: messages that contain <string> in their FROM field.
|
|
709
|
+
#
|
|
710
|
+
# NEW:: messages with the \Recent, but not the \Seen, flag set.
|
|
711
|
+
#
|
|
712
|
+
# NOT <search-key>:: negate the following search key.
|
|
713
|
+
#
|
|
714
|
+
# OR <search-key> <search-key>:: "or" two search keys together.
|
|
715
|
+
#
|
|
716
|
+
# ON <date>:: messages with an internal date exactly equal to <date>,
|
|
717
|
+
# which has a format similar to 8-Aug-2002.
|
|
718
|
+
#
|
|
719
|
+
# SINCE <date>:: messages with an internal date on or after <date>.
|
|
720
|
+
#
|
|
721
|
+
# SUBJECT <string>:: messages with <string> in their subject.
|
|
722
|
+
#
|
|
723
|
+
# TO <string>:: messages with <string> in their TO field.
|
|
724
|
+
#
|
|
725
|
+
# For example:
|
|
726
|
+
#
|
|
727
|
+
# p imap.search(["SUBJECT", "hello", "NOT", "NEW"])
|
|
728
|
+
# #=> [1, 6, 7, 8]
|
|
729
|
+
#
|
|
730
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:820
|
|
731
|
+
def search(keys, charset = T.unsafe(nil)); end
|
|
732
|
+
|
|
733
|
+
# Sends a SELECT command to select a +mailbox+ so that messages
|
|
734
|
+
# in the +mailbox+ can be accessed.
|
|
735
|
+
#
|
|
736
|
+
# After you have selected a mailbox, you may retrieve the
|
|
737
|
+
# number of items in that mailbox from +@responses["EXISTS"][-1]+,
|
|
738
|
+
# and the number of recent messages from +@responses["RECENT"][-1]+.
|
|
739
|
+
# Note that these values can change if new messages arrive
|
|
740
|
+
# during a session; see #add_response_handler for a way of
|
|
741
|
+
# detecting this event.
|
|
742
|
+
#
|
|
743
|
+
# A Net::IMAP::NoResponseError is raised if the mailbox does not
|
|
744
|
+
# exist or is for some reason non-selectable.
|
|
745
|
+
#
|
|
746
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:437
|
|
747
|
+
def select(mailbox); end
|
|
748
|
+
|
|
749
|
+
# Sends the SETACL command along with +mailbox+, +user+ and the
|
|
750
|
+
# +rights+ that user is to have on that mailbox. If +rights+ is nil,
|
|
751
|
+
# then that user will be stripped of any rights to that mailbox.
|
|
752
|
+
#
|
|
753
|
+
# The ACL extension is described in [EXT-ACL[https://tools.ietf.org/html/rfc4314]]
|
|
754
|
+
#
|
|
755
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:672
|
|
756
|
+
def setacl(mailbox, user, rights); end
|
|
757
|
+
|
|
758
|
+
# Sends a SETQUOTA command along with the specified +mailbox+ and
|
|
759
|
+
# +quota+. If +quota+ is nil, then +quota+ will be unset for that
|
|
760
|
+
# mailbox. Typically one needs to be logged in as a server admin
|
|
761
|
+
# for this to work.
|
|
762
|
+
#
|
|
763
|
+
# The QUOTA extension is described in [EXT-QUOTA[https://tools.ietf.org/html/rfc2087]]
|
|
764
|
+
#
|
|
765
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:658
|
|
766
|
+
def setquota(mailbox, quota); end
|
|
767
|
+
|
|
768
|
+
# Sends a SORT command to sort messages in the mailbox.
|
|
769
|
+
# Returns an array of message sequence numbers. For example:
|
|
770
|
+
#
|
|
771
|
+
# p imap.sort(["FROM"], ["ALL"], "US-ASCII")
|
|
772
|
+
# #=> [1, 2, 3, 5, 6, 7, 8, 4, 9]
|
|
773
|
+
# p imap.sort(["DATE"], ["SUBJECT", "hello"], "US-ASCII")
|
|
774
|
+
# #=> [6, 7, 8, 1]
|
|
775
|
+
#
|
|
776
|
+
# The SORT extension is described in [EXT-SORT-THREAD[https://tools.ietf.org/html/rfc5256]].
|
|
777
|
+
#
|
|
778
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:935
|
|
779
|
+
def sort(sort_keys, search_keys, charset); end
|
|
780
|
+
|
|
781
|
+
# Sends a STARTTLS command to start TLS session.
|
|
782
|
+
#
|
|
783
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:364
|
|
784
|
+
def starttls(options = T.unsafe(nil), verify = T.unsafe(nil)); end
|
|
785
|
+
|
|
786
|
+
# Sends a STATUS command, and returns the status of the indicated
|
|
787
|
+
# +mailbox+. +attr+ is a list of one or more attributes whose
|
|
788
|
+
# statuses are to be requested. Supported attributes include:
|
|
789
|
+
#
|
|
790
|
+
# MESSAGES:: the number of messages in the mailbox.
|
|
791
|
+
# RECENT:: the number of recent messages in the mailbox.
|
|
792
|
+
# UNSEEN:: the number of unseen messages in the mailbox.
|
|
793
|
+
#
|
|
794
|
+
# The return value is a hash of attributes. For example:
|
|
795
|
+
#
|
|
796
|
+
# p imap.status("inbox", ["MESSAGES", "RECENT"])
|
|
797
|
+
# #=> {"RECENT"=>0, "MESSAGES"=>44}
|
|
798
|
+
#
|
|
799
|
+
# A Net::IMAP::NoResponseError is raised if status values
|
|
800
|
+
# for +mailbox+ cannot be returned; for instance, because it
|
|
801
|
+
# does not exist.
|
|
802
|
+
#
|
|
803
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:721
|
|
804
|
+
def status(mailbox, attr); end
|
|
805
|
+
|
|
806
|
+
# Sends a STORE command to alter data associated with messages
|
|
807
|
+
# in the mailbox, in particular their flags. The +set+ parameter
|
|
808
|
+
# is a number, an array of numbers, or a Range object. Each number
|
|
809
|
+
# is a message sequence number. +attr+ is the name of a data item
|
|
810
|
+
# to store: 'FLAGS' will replace the message's flag list
|
|
811
|
+
# with the provided one, '+FLAGS' will add the provided flags,
|
|
812
|
+
# and '-FLAGS' will remove them. +flags+ is a list of flags.
|
|
813
|
+
#
|
|
814
|
+
# The return value is an array of Net::IMAP::FetchData. For example:
|
|
815
|
+
#
|
|
816
|
+
# p imap.store(6..8, "+FLAGS", [:Deleted])
|
|
817
|
+
# #=> [#<Net::IMAP::FetchData seqno=6, attr={"FLAGS"=>[:Seen, :Deleted]}>, \\
|
|
818
|
+
# #<Net::IMAP::FetchData seqno=7, attr={"FLAGS"=>[:Seen, :Deleted]}>, \\
|
|
819
|
+
# #<Net::IMAP::FetchData seqno=8, attr={"FLAGS"=>[:Seen, :Deleted]}>]
|
|
820
|
+
#
|
|
821
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:887
|
|
822
|
+
def store(set, attr, flags); end
|
|
823
|
+
|
|
824
|
+
# Sends a SUBSCRIBE command to add the specified +mailbox+ name to
|
|
825
|
+
# the server's set of "active" or "subscribed" mailboxes as returned
|
|
826
|
+
# by #lsub.
|
|
827
|
+
#
|
|
828
|
+
# A Net::IMAP::NoResponseError is raised if +mailbox+ cannot be
|
|
829
|
+
# subscribed to; for instance, because it does not exist.
|
|
830
|
+
#
|
|
831
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:491
|
|
832
|
+
def subscribe(mailbox); end
|
|
833
|
+
|
|
834
|
+
# Similar to #search, but returns message sequence numbers in threaded
|
|
835
|
+
# format, as a Net::IMAP::ThreadMember tree. The supported algorithms
|
|
836
|
+
# are:
|
|
837
|
+
#
|
|
838
|
+
# ORDEREDSUBJECT:: split into single-level threads according to subject,
|
|
839
|
+
# ordered by date.
|
|
840
|
+
# REFERENCES:: split into threads by parent/child relationships determined
|
|
841
|
+
# by which message is a reply to which.
|
|
842
|
+
#
|
|
843
|
+
# Unlike #search, +charset+ is a required argument. US-ASCII
|
|
844
|
+
# and UTF-8 are sample values.
|
|
845
|
+
#
|
|
846
|
+
# The THREAD extension is described in [EXT-SORT-THREAD[https://tools.ietf.org/html/rfc5256]].
|
|
847
|
+
#
|
|
848
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:981
|
|
849
|
+
def thread(algorithm, search_keys, charset); end
|
|
850
|
+
|
|
851
|
+
# Similar to #copy, but +set+ contains unique identifiers.
|
|
852
|
+
#
|
|
853
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:905
|
|
854
|
+
def uid_copy(set, mailbox); end
|
|
855
|
+
|
|
856
|
+
# Similar to #fetch, but +set+ contains unique identifiers.
|
|
857
|
+
#
|
|
858
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:869
|
|
859
|
+
def uid_fetch(set, attr, mod = T.unsafe(nil)); end
|
|
860
|
+
|
|
861
|
+
# Similar to #move, but +set+ contains unique identifiers.
|
|
862
|
+
#
|
|
863
|
+
# The MOVE extension is described in [EXT-MOVE[https://tools.ietf.org/html/rfc6851]].
|
|
864
|
+
#
|
|
865
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:922
|
|
866
|
+
def uid_move(set, mailbox); end
|
|
867
|
+
|
|
868
|
+
# Similar to #search, but returns unique identifiers.
|
|
869
|
+
#
|
|
870
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:825
|
|
871
|
+
def uid_search(keys, charset = T.unsafe(nil)); end
|
|
872
|
+
|
|
873
|
+
# Similar to #sort, but returns an array of unique identifiers.
|
|
874
|
+
#
|
|
875
|
+
# The SORT extension is described in [EXT-SORT-THREAD[https://tools.ietf.org/html/rfc5256]].
|
|
876
|
+
#
|
|
877
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:942
|
|
878
|
+
def uid_sort(sort_keys, search_keys, charset); end
|
|
879
|
+
|
|
880
|
+
# Similar to #store, but +set+ contains unique identifiers.
|
|
881
|
+
#
|
|
882
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:892
|
|
883
|
+
def uid_store(set, attr, flags); end
|
|
884
|
+
|
|
885
|
+
# Similar to #thread, but returns unique identifiers instead of
|
|
886
|
+
# message sequence numbers.
|
|
887
|
+
#
|
|
888
|
+
# The THREAD extension is described in [EXT-SORT-THREAD[https://tools.ietf.org/html/rfc5256]].
|
|
889
|
+
#
|
|
890
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:989
|
|
891
|
+
def uid_thread(algorithm, search_keys, charset); end
|
|
892
|
+
|
|
893
|
+
# Sends a UNSUBSCRIBE command to remove the specified +mailbox+ name
|
|
894
|
+
# from the server's set of "active" or "subscribed" mailboxes.
|
|
895
|
+
#
|
|
896
|
+
# A Net::IMAP::NoResponseError is raised if +mailbox+ cannot be
|
|
897
|
+
# unsubscribed from; for instance, because the client is not currently
|
|
898
|
+
# subscribed to it.
|
|
899
|
+
#
|
|
900
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:501
|
|
901
|
+
def unsubscribe(mailbox); end
|
|
902
|
+
|
|
903
|
+
# Sends a XLIST command, and returns a subset of names from
|
|
904
|
+
# the complete set of all names available to the client.
|
|
905
|
+
# +refname+ provides a context (for instance, a base directory
|
|
906
|
+
# in a directory-based mailbox hierarchy). +mailbox+ specifies
|
|
907
|
+
# a mailbox or (via wildcards) mailboxes under that context.
|
|
908
|
+
# Two wildcards may be used in +mailbox+: '*', which matches
|
|
909
|
+
# all characters *including* the hierarchy delimiter (for instance,
|
|
910
|
+
# '/' on a UNIX-hosted directory-based mailbox hierarchy); and '%',
|
|
911
|
+
# which matches all characters *except* the hierarchy delimiter.
|
|
912
|
+
#
|
|
913
|
+
# If +refname+ is empty, +mailbox+ is used directly to determine
|
|
914
|
+
# which mailboxes to match. If +mailbox+ is empty, the root
|
|
915
|
+
# name of +refname+ and the hierarchy delimiter are returned.
|
|
916
|
+
#
|
|
917
|
+
# The XLIST command is like the LIST command except that the flags
|
|
918
|
+
# returned refer to the function of the folder/mailbox, e.g. :Sent
|
|
919
|
+
#
|
|
920
|
+
# The return value is an array of +Net::IMAP::MailboxList+. For example:
|
|
921
|
+
#
|
|
922
|
+
# imap.create("foo/bar")
|
|
923
|
+
# imap.create("foo/baz")
|
|
924
|
+
# p imap.xlist("", "foo/%")
|
|
925
|
+
# #=> [#<Net::IMAP::MailboxList attr=[:Noselect], delim="/", name="foo/">, \\
|
|
926
|
+
# #<Net::IMAP::MailboxList attr=[:Noinferiors, :Marked], delim="/", name="foo/bar">, \\
|
|
927
|
+
# #<Net::IMAP::MailboxList attr=[:Noinferiors], delim="/", name="foo/baz">]
|
|
928
|
+
#
|
|
929
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:616
|
|
930
|
+
def xlist(refname, mailbox); end
|
|
931
|
+
|
|
932
|
+
private
|
|
933
|
+
|
|
934
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1376
|
|
935
|
+
def copy_internal(cmd, set, mailbox); end
|
|
936
|
+
|
|
937
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1415
|
|
938
|
+
def create_ssl_params(certs = T.unsafe(nil), verify = T.unsafe(nil)); end
|
|
939
|
+
|
|
940
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1344
|
|
941
|
+
def fetch_internal(cmd, set, attr, mod = T.unsafe(nil)); end
|
|
942
|
+
|
|
943
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1308
|
|
944
|
+
def generate_tag; end
|
|
945
|
+
|
|
946
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1253
|
|
947
|
+
def get_response; end
|
|
948
|
+
|
|
949
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1226
|
|
950
|
+
def get_tagged_response(tag, cmd, timeout = T.unsafe(nil)); end
|
|
951
|
+
|
|
952
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1404
|
|
953
|
+
def normalize_searching_criteria(keys); end
|
|
954
|
+
|
|
955
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1313
|
|
956
|
+
def put_string(str); end
|
|
957
|
+
|
|
958
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1155
|
|
959
|
+
def receive_responses; end
|
|
960
|
+
|
|
961
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1273
|
|
962
|
+
def record_response(name, data); end
|
|
963
|
+
|
|
964
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1328
|
|
965
|
+
def search_internal(cmd, keys, charset); end
|
|
966
|
+
|
|
967
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1280
|
|
968
|
+
def send_command(cmd, *args, &block); end
|
|
969
|
+
|
|
970
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:31
|
|
971
|
+
def send_data(data, tag = T.unsafe(nil)); end
|
|
972
|
+
|
|
973
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:90
|
|
974
|
+
def send_list_data(list, tag = T.unsafe(nil)); end
|
|
975
|
+
|
|
976
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:69
|
|
977
|
+
def send_literal(str, tag = T.unsafe(nil)); end
|
|
978
|
+
|
|
979
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:86
|
|
980
|
+
def send_number_data(num); end
|
|
981
|
+
|
|
982
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:65
|
|
983
|
+
def send_quoted_string(str); end
|
|
984
|
+
|
|
985
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:50
|
|
986
|
+
def send_string_data(str, tag = T.unsafe(nil)); end
|
|
987
|
+
|
|
988
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:114
|
|
989
|
+
def send_symbol_data(symbol); end
|
|
990
|
+
|
|
991
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:106
|
|
992
|
+
def send_time_data(time); end
|
|
993
|
+
|
|
994
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1380
|
|
995
|
+
def sort_internal(cmd, sort_keys, search_keys, charset); end
|
|
996
|
+
|
|
997
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1432
|
|
998
|
+
def start_tls_session(params = T.unsafe(nil)); end
|
|
999
|
+
|
|
1000
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1365
|
|
1001
|
+
def store_internal(cmd, set, attr, flags); end
|
|
1002
|
+
|
|
1003
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1146
|
|
1004
|
+
def tcp_socket(host, port); end
|
|
1005
|
+
|
|
1006
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:1393
|
|
1007
|
+
def thread_internal(cmd, algorithm, search_keys, charset); end
|
|
1008
|
+
|
|
1009
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:10
|
|
1010
|
+
def validate_data(data); end
|
|
1011
|
+
|
|
1012
|
+
class << self
|
|
1013
|
+
# Returns the debug mode.
|
|
1014
|
+
#
|
|
1015
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:258
|
|
1016
|
+
def debug; end
|
|
1017
|
+
|
|
1018
|
+
# Sets the debug mode.
|
|
1019
|
+
#
|
|
1020
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:263
|
|
1021
|
+
def debug=(val); end
|
|
1022
|
+
|
|
1023
|
+
# Decode a string from modified UTF-7 format to UTF-8.
|
|
1024
|
+
#
|
|
1025
|
+
# UTF-7 is a 7-bit encoding of Unicode [UTF7]. IMAP uses a
|
|
1026
|
+
# slightly modified version of this to encode mailbox names
|
|
1027
|
+
# containing non-ASCII characters; see [IMAP] section 5.1.3.
|
|
1028
|
+
#
|
|
1029
|
+
# Net::IMAP does _not_ automatically encode and decode
|
|
1030
|
+
# mailbox names to and from UTF-7.
|
|
1031
|
+
#
|
|
1032
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:16
|
|
1033
|
+
def decode_utf7(s); end
|
|
1034
|
+
|
|
1035
|
+
# The default port for IMAP connections, port 143
|
|
1036
|
+
#
|
|
1037
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:268
|
|
1038
|
+
def default_imap_port; end
|
|
1039
|
+
|
|
1040
|
+
# The default port for IMAPS connections, port 993
|
|
1041
|
+
#
|
|
1042
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:273
|
|
1043
|
+
def default_imaps_port; end
|
|
1044
|
+
|
|
1045
|
+
# The default port for IMAP connections, port 143
|
|
1046
|
+
#
|
|
1047
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:268
|
|
1048
|
+
def default_port; end
|
|
1049
|
+
|
|
1050
|
+
# The default port for IMAPS connections, port 993
|
|
1051
|
+
#
|
|
1052
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:273
|
|
1053
|
+
def default_ssl_port; end
|
|
1054
|
+
|
|
1055
|
+
# The default port for IMAPS connections, port 993
|
|
1056
|
+
#
|
|
1057
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:273
|
|
1058
|
+
def default_tls_port; end
|
|
1059
|
+
|
|
1060
|
+
# Encode a string from UTF-8 format to modified UTF-7.
|
|
1061
|
+
#
|
|
1062
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:27
|
|
1063
|
+
def encode_utf7(s); end
|
|
1064
|
+
|
|
1065
|
+
# Formats +time+ as an IMAP-style date.
|
|
1066
|
+
#
|
|
1067
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:39
|
|
1068
|
+
def format_date(time); end
|
|
1069
|
+
|
|
1070
|
+
# Formats +time+ as an IMAP-style date-time.
|
|
1071
|
+
#
|
|
1072
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:44
|
|
1073
|
+
def format_datetime(time); end
|
|
1074
|
+
end
|
|
1075
|
+
end
|
|
1076
|
+
|
|
1077
|
+
# Mailbox attribute indicating that this mailbox presents all messages in
|
|
1078
|
+
# the user's message store. Implementations MAY omit some messages, such as,
|
|
1079
|
+
# perhaps, those in \Trash and \Junk. When this special use is supported, it
|
|
1080
|
+
# is almost certain to represent a virtual mailbox
|
|
1081
|
+
#
|
|
1082
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:193
|
|
1083
|
+
Net::IMAP::ALL = T.let(T.unsafe(nil), Symbol)
|
|
1084
|
+
|
|
1085
|
+
# Mailbox attribute indicating that this mailbox is used to archive
|
|
1086
|
+
# messages. The meaning of an "archival" mailbox is server dependent;
|
|
1087
|
+
# typically, it will be used to get messages out of the inbox, or otherwise
|
|
1088
|
+
# keep them out of the user's way, while still making them accessible
|
|
1089
|
+
#
|
|
1090
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:199
|
|
1091
|
+
Net::IMAP::ARCHIVE = T.let(T.unsafe(nil), Symbol)
|
|
1092
|
+
|
|
1093
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:133
|
|
1094
|
+
class Net::IMAP::Atom
|
|
1095
|
+
# @return [Atom] a new instance of Atom
|
|
1096
|
+
#
|
|
1097
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:143
|
|
1098
|
+
def initialize(data); end
|
|
1099
|
+
|
|
1100
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:134
|
|
1101
|
+
def send_data(imap, tag); end
|
|
1102
|
+
|
|
1103
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:138
|
|
1104
|
+
def validate; end
|
|
1105
|
+
end
|
|
1106
|
+
|
|
1107
|
+
# Registry for SASL authenticators used by Net::IMAP.
|
|
1108
|
+
#
|
|
1109
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators.rb:4
|
|
1110
|
+
module Net::IMAP::Authenticators
|
|
1111
|
+
# Adds an authenticator for use with Net::IMAP#authenticate. +auth_type+ is the
|
|
1112
|
+
# {SASL mechanism}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
|
|
1113
|
+
# supported by +authenticator+ (for instance, "+PLAIN+"). The +authenticator+
|
|
1114
|
+
# is an object which defines a +#process+ method to handle authentication with
|
|
1115
|
+
# the server. See Net::IMAP::PlainAuthenticator, Net::IMAP::LoginAuthenticator,
|
|
1116
|
+
# Net::IMAP::CramMD5Authenticator, and Net::IMAP::DigestMD5Authenticator for
|
|
1117
|
+
# examples.
|
|
1118
|
+
#
|
|
1119
|
+
# If +auth_type+ refers to an existing authenticator, it will be
|
|
1120
|
+
# replaced by the new one.
|
|
1121
|
+
#
|
|
1122
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators.rb:16
|
|
1123
|
+
def add_authenticator(auth_type, authenticator); end
|
|
1124
|
+
|
|
1125
|
+
# Builds an authenticator for Net::IMAP#authenticate. +args+ will be passed
|
|
1126
|
+
# directly to the chosen authenticator's +#initialize+.
|
|
1127
|
+
#
|
|
1128
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators.rb:22
|
|
1129
|
+
def authenticator(auth_type, *args); end
|
|
1130
|
+
|
|
1131
|
+
private
|
|
1132
|
+
|
|
1133
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators.rb:33
|
|
1134
|
+
def authenticators; end
|
|
1135
|
+
end
|
|
1136
|
+
|
|
1137
|
+
# Net::IMAP::BodyTypeAttachment represents attachment body structures
|
|
1138
|
+
# of messages.
|
|
1139
|
+
#
|
|
1140
|
+
# ==== Fields:
|
|
1141
|
+
#
|
|
1142
|
+
# media_type:: Returns the content media type name.
|
|
1143
|
+
#
|
|
1144
|
+
# subtype:: Returns +nil+.
|
|
1145
|
+
#
|
|
1146
|
+
# param:: Returns a hash that represents parameters.
|
|
1147
|
+
#
|
|
1148
|
+
# multipart?:: Returns false.
|
|
1149
|
+
#
|
|
1150
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:472
|
|
1151
|
+
class Net::IMAP::BodyTypeAttachment < ::Struct
|
|
1152
|
+
# @return [Boolean]
|
|
1153
|
+
#
|
|
1154
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:473
|
|
1155
|
+
def multipart?; end
|
|
1156
|
+
end
|
|
1157
|
+
|
|
1158
|
+
# Net::IMAP::BodyTypeBasic represents basic body structures of messages.
|
|
1159
|
+
#
|
|
1160
|
+
# ==== Fields:
|
|
1161
|
+
#
|
|
1162
|
+
# media_type:: Returns the content media type name as defined in [MIME-IMB].
|
|
1163
|
+
#
|
|
1164
|
+
# subtype:: Returns the content subtype name as defined in [MIME-IMB].
|
|
1165
|
+
#
|
|
1166
|
+
# param:: Returns a hash that represents parameters as defined in [MIME-IMB].
|
|
1167
|
+
#
|
|
1168
|
+
# content_id:: Returns a string giving the content id as defined in [MIME-IMB].
|
|
1169
|
+
#
|
|
1170
|
+
# description:: Returns a string giving the content description as defined in
|
|
1171
|
+
# [MIME-IMB].
|
|
1172
|
+
#
|
|
1173
|
+
# [MIME-IMB].
|
|
1174
|
+
#
|
|
1175
|
+
# size:: Returns a number giving the size of the body in octets.
|
|
1176
|
+
#
|
|
1177
|
+
# md5:: Returns a string giving the body MD5 value as defined in [MD5].
|
|
1178
|
+
#
|
|
1179
|
+
# disposition:: Returns a Net::IMAP::ContentDisposition object giving
|
|
1180
|
+
# the content disposition.
|
|
1181
|
+
#
|
|
1182
|
+
# language:: Returns a string or an array of strings giving the body
|
|
1183
|
+
# language value as defined in [LANGUAGE-TAGS].
|
|
1184
|
+
#
|
|
1185
|
+
# extension:: Returns extension data.
|
|
1186
|
+
#
|
|
1187
|
+
# multipart?:: Returns false.
|
|
1188
|
+
#
|
|
1189
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:388
|
|
1190
|
+
class Net::IMAP::BodyTypeBasic < ::Struct
|
|
1191
|
+
# Obsolete: use +subtype+ instead. Calling this will
|
|
1192
|
+
# generate a warning message to +stderr+, then return
|
|
1193
|
+
# the value of +subtype+.
|
|
1194
|
+
#
|
|
1195
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:396
|
|
1196
|
+
def media_subtype; end
|
|
1197
|
+
|
|
1198
|
+
# @return [Boolean]
|
|
1199
|
+
#
|
|
1200
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:389
|
|
1201
|
+
def multipart?; end
|
|
1202
|
+
end
|
|
1203
|
+
|
|
1204
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:520
|
|
1205
|
+
class Net::IMAP::BodyTypeExtension < ::Struct
|
|
1206
|
+
# @return [Boolean]
|
|
1207
|
+
#
|
|
1208
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:521
|
|
1209
|
+
def multipart?; end
|
|
1210
|
+
end
|
|
1211
|
+
|
|
1212
|
+
# Net::IMAP::BodyTypeMessage represents MESSAGE/RFC822 body structures of messages.
|
|
1213
|
+
#
|
|
1214
|
+
# ==== Fields:
|
|
1215
|
+
#
|
|
1216
|
+
# envelope:: Returns a Net::IMAP::Envelope giving the envelope structure.
|
|
1217
|
+
#
|
|
1218
|
+
# body:: Returns an object giving the body structure.
|
|
1219
|
+
#
|
|
1220
|
+
# And Net::IMAP::BodyTypeMessage has all methods of Net::IMAP::BodyTypeText.
|
|
1221
|
+
#
|
|
1222
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:444
|
|
1223
|
+
class Net::IMAP::BodyTypeMessage < ::Struct
|
|
1224
|
+
# Obsolete: use +subtype+ instead. Calling this will
|
|
1225
|
+
# generate a warning message to +stderr+, then return
|
|
1226
|
+
# the value of +subtype+.
|
|
1227
|
+
#
|
|
1228
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:452
|
|
1229
|
+
def media_subtype; end
|
|
1230
|
+
|
|
1231
|
+
# @return [Boolean]
|
|
1232
|
+
#
|
|
1233
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:445
|
|
1234
|
+
def multipart?; end
|
|
1235
|
+
end
|
|
1236
|
+
|
|
1237
|
+
# Net::IMAP::BodyTypeMultipart represents multipart body structures
|
|
1238
|
+
# of messages.
|
|
1239
|
+
#
|
|
1240
|
+
# ==== Fields:
|
|
1241
|
+
#
|
|
1242
|
+
# media_type:: Returns the content media type name as defined in [MIME-IMB].
|
|
1243
|
+
#
|
|
1244
|
+
# subtype:: Returns the content subtype name as defined in [MIME-IMB].
|
|
1245
|
+
#
|
|
1246
|
+
# parts:: Returns multiple parts.
|
|
1247
|
+
#
|
|
1248
|
+
# param:: Returns a hash that represents parameters as defined in [MIME-IMB].
|
|
1249
|
+
#
|
|
1250
|
+
# disposition:: Returns a Net::IMAP::ContentDisposition object giving
|
|
1251
|
+
# the content disposition.
|
|
1252
|
+
#
|
|
1253
|
+
# language:: Returns a string or an array of strings giving the body
|
|
1254
|
+
# language value as defined in [LANGUAGE-TAGS].
|
|
1255
|
+
#
|
|
1256
|
+
# extension:: Returns extension data.
|
|
1257
|
+
#
|
|
1258
|
+
# multipart?:: Returns true.
|
|
1259
|
+
#
|
|
1260
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:504
|
|
1261
|
+
class Net::IMAP::BodyTypeMultipart < ::Struct
|
|
1262
|
+
# Obsolete: use +subtype+ instead. Calling this will
|
|
1263
|
+
# generate a warning message to +stderr+, then return
|
|
1264
|
+
# the value of +subtype+.
|
|
1265
|
+
#
|
|
1266
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:512
|
|
1267
|
+
def media_subtype; end
|
|
1268
|
+
|
|
1269
|
+
# @return [Boolean]
|
|
1270
|
+
#
|
|
1271
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:505
|
|
1272
|
+
def multipart?; end
|
|
1273
|
+
end
|
|
1274
|
+
|
|
1275
|
+
# Net::IMAP::BodyTypeText represents TEXT body structures of messages.
|
|
1276
|
+
#
|
|
1277
|
+
# ==== Fields:
|
|
1278
|
+
#
|
|
1279
|
+
# lines:: Returns the size of the body in text lines.
|
|
1280
|
+
#
|
|
1281
|
+
# And Net::IMAP::BodyTypeText has all fields of Net::IMAP::BodyTypeBasic.
|
|
1282
|
+
#
|
|
1283
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:415
|
|
1284
|
+
class Net::IMAP::BodyTypeText < ::Struct
|
|
1285
|
+
# Obsolete: use +subtype+ instead. Calling this will
|
|
1286
|
+
# generate a warning message to +stderr+, then return
|
|
1287
|
+
# the value of +subtype+.
|
|
1288
|
+
#
|
|
1289
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:423
|
|
1290
|
+
def media_subtype; end
|
|
1291
|
+
|
|
1292
|
+
# @return [Boolean]
|
|
1293
|
+
#
|
|
1294
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:416
|
|
1295
|
+
def multipart?; end
|
|
1296
|
+
end
|
|
1297
|
+
|
|
1298
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:234
|
|
1299
|
+
class Net::IMAP::ClientID
|
|
1300
|
+
# @return [ClientID] a new instance of ClientID
|
|
1301
|
+
#
|
|
1302
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:246
|
|
1303
|
+
def initialize(data); end
|
|
1304
|
+
|
|
1305
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:236
|
|
1306
|
+
def send_data(imap, tag); end
|
|
1307
|
+
|
|
1308
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:240
|
|
1309
|
+
def validate; end
|
|
1310
|
+
|
|
1311
|
+
private
|
|
1312
|
+
|
|
1313
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:260
|
|
1314
|
+
def format_internal(client_id); end
|
|
1315
|
+
|
|
1316
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:250
|
|
1317
|
+
def validate_internal(client_id); end
|
|
1318
|
+
end
|
|
1319
|
+
|
|
1320
|
+
# Authenticator for the "+CRAM-MD5+" SASL mechanism, specified in
|
|
1321
|
+
# RFC2195[https://tools.ietf.org/html/rfc2195]. See Net::IMAP#authenticate.
|
|
1322
|
+
#
|
|
1323
|
+
# == Deprecated
|
|
1324
|
+
#
|
|
1325
|
+
# +CRAM-MD5+ is obsolete and insecure. It is included for compatibility with
|
|
1326
|
+
# existing servers.
|
|
1327
|
+
# {draft-ietf-sasl-crammd5-to-historic}[https://tools.ietf.org/html/draft-ietf-sasl-crammd5-to-historic-00.html]
|
|
1328
|
+
# recommends using +SCRAM-*+ or +PLAIN+ protected by TLS instead.
|
|
1329
|
+
#
|
|
1330
|
+
# Additionally, RFC8314[https://tools.ietf.org/html/rfc8314] discourage the use
|
|
1331
|
+
# of cleartext and recommends TLS version 1.2 or greater be used for all
|
|
1332
|
+
# traffic. With TLS +CRAM-MD5+ is okay, but so is +PLAIN+
|
|
1333
|
+
#
|
|
1334
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/cram_md5.rb:18
|
|
1335
|
+
class Net::IMAP::CramMD5Authenticator
|
|
1336
|
+
# @return [CramMD5Authenticator] a new instance of CramMD5Authenticator
|
|
1337
|
+
#
|
|
1338
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/cram_md5.rb:26
|
|
1339
|
+
def initialize(user, password); end
|
|
1340
|
+
|
|
1341
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/cram_md5.rb:19
|
|
1342
|
+
def process(challenge); end
|
|
1343
|
+
|
|
1344
|
+
private
|
|
1345
|
+
|
|
1346
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/cram_md5.rb:31
|
|
1347
|
+
def hmac_md5(text, key); end
|
|
1348
|
+
end
|
|
1349
|
+
|
|
1350
|
+
# Mailbox attribute indicating that this mailbox is used to hold draft
|
|
1351
|
+
# messages -- typically, messages that are being composed but have not yet
|
|
1352
|
+
# been sent. In some server implementations, this might be a virtual
|
|
1353
|
+
# mailbox, containing messages from other mailboxes that are marked with the
|
|
1354
|
+
# "\Draft" message flag. Alternatively, this might just be advice that a
|
|
1355
|
+
# client put drafts here
|
|
1356
|
+
#
|
|
1357
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:207
|
|
1358
|
+
Net::IMAP::DRAFTS = T.let(T.unsafe(nil), Symbol)
|
|
1359
|
+
|
|
1360
|
+
# Net::IMAP authenticator for the "`DIGEST-MD5`" SASL mechanism type, specified
|
|
1361
|
+
# in RFC2831(https://tools.ietf.org/html/rfc2831). See Net::IMAP#authenticate.
|
|
1362
|
+
#
|
|
1363
|
+
# == Deprecated
|
|
1364
|
+
#
|
|
1365
|
+
# "+DIGEST-MD5+" has been deprecated by
|
|
1366
|
+
# {RFC6331}[https://tools.ietf.org/html/rfc6331] and should not be relied on for
|
|
1367
|
+
# security. It is included for compatibility with existing servers.
|
|
1368
|
+
#
|
|
1369
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/digest_md5.rb:14
|
|
1370
|
+
class Net::IMAP::DigestMD5Authenticator
|
|
1371
|
+
# @return [DigestMD5Authenticator] a new instance of DigestMD5Authenticator
|
|
1372
|
+
#
|
|
1373
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/digest_md5.rb:80
|
|
1374
|
+
def initialize(user, password, authname = T.unsafe(nil)); end
|
|
1375
|
+
|
|
1376
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/digest_md5.rb:15
|
|
1377
|
+
def process(challenge); end
|
|
1378
|
+
|
|
1379
|
+
private
|
|
1380
|
+
|
|
1381
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/digest_md5.rb:90
|
|
1382
|
+
def nc(nonce); end
|
|
1383
|
+
|
|
1384
|
+
# some responses need quoting
|
|
1385
|
+
#
|
|
1386
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/digest_md5.rb:100
|
|
1387
|
+
def qdval(k, v); end
|
|
1388
|
+
end
|
|
1389
|
+
|
|
1390
|
+
# The presence of this attribute indicates that the mailbox has child
|
|
1391
|
+
# mailboxes. A server SHOULD NOT set this attribute if there are child
|
|
1392
|
+
# mailboxes and the user does not have permission to access any of them. In
|
|
1393
|
+
# this case, \HasNoChildren SHOULD be used. In many cases, however, a server
|
|
1394
|
+
# may not be able to efficiently compute whether a user has access to any
|
|
1395
|
+
# child mailboxes. Note that even though the \HasChildren attribute for a
|
|
1396
|
+
# mailbox must be correct at the time of processing the mailbox, a client
|
|
1397
|
+
# must be prepared to deal with a situation when a mailbox is marked with
|
|
1398
|
+
# the \HasChildren attribute, but no child mailbox appears in the response
|
|
1399
|
+
# to the LIST command. This might happen, for example, due to child
|
|
1400
|
+
# mailboxes being deleted or made inaccessible to the user (using access
|
|
1401
|
+
# control) by another client before the server is able to list them.
|
|
1402
|
+
#
|
|
1403
|
+
# It is an error for the server to return both a \HasChildren and a
|
|
1404
|
+
# \HasNoChildren attribute in the same LIST response. A client that
|
|
1405
|
+
# encounters a LIST response with both \HasChildren and \HasNoChildren
|
|
1406
|
+
# attributes present should act as if both are absent in the LIST response.
|
|
1407
|
+
#
|
|
1408
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:127
|
|
1409
|
+
Net::IMAP::HAS_CHILDREN = T.let(T.unsafe(nil), Symbol)
|
|
1410
|
+
|
|
1411
|
+
# The presence of this attribute indicates that the mailbox has NO child
|
|
1412
|
+
# mailboxes that are accessible to the currently authenticated user.
|
|
1413
|
+
#
|
|
1414
|
+
# It is an error for the server to return both a \HasChildren and a
|
|
1415
|
+
# \HasNoChildren attribute in the same LIST response. A client that
|
|
1416
|
+
# encounters a LIST response with both \HasChildren and \HasNoChildren
|
|
1417
|
+
# attributes present should act as if both are absent in the LIST response.
|
|
1418
|
+
#
|
|
1419
|
+
# Note: the \HasNoChildren attribute should not be confused with the
|
|
1420
|
+
# \NoInferiors attribute, which indicates that no child mailboxes exist now
|
|
1421
|
+
# and none can be created in the future.
|
|
1422
|
+
#
|
|
1423
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:140
|
|
1424
|
+
Net::IMAP::HAS_NO_CHILDREN = T.let(T.unsafe(nil), Symbol)
|
|
1425
|
+
|
|
1426
|
+
# Net::IMAP::IgnoredResponse represents intentionally ignored responses.
|
|
1427
|
+
#
|
|
1428
|
+
# This includes untagged response "NOOP" sent by eg. Zimbra to avoid some
|
|
1429
|
+
# clients to close the connection.
|
|
1430
|
+
#
|
|
1431
|
+
# It matches no IMAP standard.
|
|
1432
|
+
#
|
|
1433
|
+
# ==== Fields:
|
|
1434
|
+
#
|
|
1435
|
+
# raw_data:: Returns the raw data string.
|
|
1436
|
+
#
|
|
1437
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:53
|
|
1438
|
+
class Net::IMAP::IgnoredResponse < ::Struct; end
|
|
1439
|
+
|
|
1440
|
+
# Mailbox attribute indicating that this mailbox is where messages deemed to
|
|
1441
|
+
# be junk mail are held. Some server implementations might put messages here
|
|
1442
|
+
# automatically. Alternatively, this might just be advice to a client-side
|
|
1443
|
+
# spam filter.
|
|
1444
|
+
#
|
|
1445
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:215
|
|
1446
|
+
Net::IMAP::JUNK = T.let(T.unsafe(nil), Symbol)
|
|
1447
|
+
|
|
1448
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:163
|
|
1449
|
+
class Net::IMAP::Literal
|
|
1450
|
+
# @return [Literal] a new instance of Literal
|
|
1451
|
+
#
|
|
1452
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:173
|
|
1453
|
+
def initialize(data); end
|
|
1454
|
+
|
|
1455
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:164
|
|
1456
|
+
def send_data(imap, tag); end
|
|
1457
|
+
|
|
1458
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:168
|
|
1459
|
+
def validate; end
|
|
1460
|
+
end
|
|
1461
|
+
|
|
1462
|
+
# Authenticator for the "+LOGIN+" SASL mechanism. See Net::IMAP#authenticate.
|
|
1463
|
+
#
|
|
1464
|
+
# +LOGIN+ authentication sends the password in cleartext.
|
|
1465
|
+
# RFC3501[https://tools.ietf.org/html/rfc3501] encourages servers to disable
|
|
1466
|
+
# cleartext authentication until after TLS has been negotiated.
|
|
1467
|
+
# RFC8314[https://tools.ietf.org/html/rfc8314] recommends TLS version 1.2 or
|
|
1468
|
+
# greater be used for all traffic, and deprecate cleartext access ASAP. +LOGIN+
|
|
1469
|
+
# can be secured by TLS encryption.
|
|
1470
|
+
#
|
|
1471
|
+
# == Deprecated
|
|
1472
|
+
#
|
|
1473
|
+
# The {SASL mechanisms
|
|
1474
|
+
# registry}[https://www.iana.org/assignments/sasl-mechanisms/sasl-mechanisms.xhtml]
|
|
1475
|
+
# marks "LOGIN" as obsoleted in favor of "PLAIN". It is included here for
|
|
1476
|
+
# compatibility with existing servers. See
|
|
1477
|
+
# {draft-murchison-sasl-login}[https://www.iana.org/go/draft-murchison-sasl-login]
|
|
1478
|
+
# for both specification and deprecation.
|
|
1479
|
+
#
|
|
1480
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/login.rb:20
|
|
1481
|
+
class Net::IMAP::LoginAuthenticator
|
|
1482
|
+
# @return [LoginAuthenticator] a new instance of LoginAuthenticator
|
|
1483
|
+
#
|
|
1484
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/login.rb:36
|
|
1485
|
+
def initialize(user, password); end
|
|
1486
|
+
|
|
1487
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/login.rb:21
|
|
1488
|
+
def process(data); end
|
|
1489
|
+
end
|
|
1490
|
+
|
|
1491
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:178
|
|
1492
|
+
class Net::IMAP::MessageSet
|
|
1493
|
+
# @return [MessageSet] a new instance of MessageSet
|
|
1494
|
+
#
|
|
1495
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:189
|
|
1496
|
+
def initialize(data); end
|
|
1497
|
+
|
|
1498
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:179
|
|
1499
|
+
def send_data(imap, tag); end
|
|
1500
|
+
|
|
1501
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:183
|
|
1502
|
+
def validate; end
|
|
1503
|
+
|
|
1504
|
+
private
|
|
1505
|
+
|
|
1506
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:193
|
|
1507
|
+
def format_internal(data); end
|
|
1508
|
+
|
|
1509
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:214
|
|
1510
|
+
def validate_internal(data); end
|
|
1511
|
+
end
|
|
1512
|
+
|
|
1513
|
+
# The "\NonExistent" attribute indicates that a mailbox name does not refer
|
|
1514
|
+
# to an existing mailbox. Note that this attribute is not meaningful by
|
|
1515
|
+
# itself, as mailbox names that match the canonical LIST pattern but don't
|
|
1516
|
+
# exist must not be returned unless one of the two conditions listed below
|
|
1517
|
+
# is also satisfied:
|
|
1518
|
+
#
|
|
1519
|
+
# 1. The mailbox name also satisfies the selection criteria (for example,
|
|
1520
|
+
# it is subscribed and the "SUBSCRIBED" selection option has been
|
|
1521
|
+
# specified).
|
|
1522
|
+
#
|
|
1523
|
+
# 2. "RECURSIVEMATCH" has been specified, and the mailbox name has at least
|
|
1524
|
+
# one descendant mailbox name that does not match the LIST pattern and
|
|
1525
|
+
# does match the selection criteria.
|
|
1526
|
+
#
|
|
1527
|
+
# In practice, this means that the "\NonExistent" attribute is usually
|
|
1528
|
+
# returned with one or more of "\Subscribed", "\Remote", "\HasChildren", or
|
|
1529
|
+
# the CHILDINFO extended data item.
|
|
1530
|
+
#
|
|
1531
|
+
# The client must treat the presence of the \NonExistent attribute as if the
|
|
1532
|
+
# \NoSelect attribute was also sent by the server
|
|
1533
|
+
#
|
|
1534
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:96
|
|
1535
|
+
Net::IMAP::NONEXISTENT = T.let(T.unsafe(nil), Symbol)
|
|
1536
|
+
|
|
1537
|
+
# Net::IMAP::Namespace represents a single [RFC-2342] namespace.
|
|
1538
|
+
#
|
|
1539
|
+
# Namespace = nil / "(" 1*( "(" string SP (<"> QUOTED_CHAR <"> /
|
|
1540
|
+
# nil) *(Namespace_Response_Extension) ")" ) ")"
|
|
1541
|
+
#
|
|
1542
|
+
# Namespace_Response_Extension = SP string SP "(" string *(SP string)
|
|
1543
|
+
# ")"
|
|
1544
|
+
#
|
|
1545
|
+
# ==== Fields:
|
|
1546
|
+
#
|
|
1547
|
+
# prefix:: Returns the namespace prefix string.
|
|
1548
|
+
# delim:: Returns nil or the hierarchy delimiter character.
|
|
1549
|
+
# extensions:: Returns a hash of extension names to extension flag arrays.
|
|
1550
|
+
#
|
|
1551
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:204
|
|
1552
|
+
class Net::IMAP::Namespace < ::Struct; end
|
|
1553
|
+
|
|
1554
|
+
# Net::IMAP::Namespaces represents the response from [RFC-2342] NAMESPACE.
|
|
1555
|
+
#
|
|
1556
|
+
# Namespace_Response = "*" SP "NAMESPACE" SP Namespace SP Namespace SP
|
|
1557
|
+
# Namespace
|
|
1558
|
+
#
|
|
1559
|
+
# ; The first Namespace is the Personal Namespace(s)
|
|
1560
|
+
# ; The second Namespace is the Other Users' Namespace(s)
|
|
1561
|
+
# ; The third Namespace is the Shared Namespace(s)
|
|
1562
|
+
#
|
|
1563
|
+
# ==== Fields:
|
|
1564
|
+
#
|
|
1565
|
+
# personal:: Returns an array of Personal Net::IMAP::Namespace objects.
|
|
1566
|
+
# other:: Returns an array of Other Users' Net::IMAP::Namespace objects.
|
|
1567
|
+
# shared:: Returns an array of Shared Net::IMAP::Namespace objects.
|
|
1568
|
+
#
|
|
1569
|
+
# source://net-imap-0.2.3/lib/net/imap/response_data.rb:222
|
|
1570
|
+
class Net::IMAP::Namespaces < ::Struct; end
|
|
1571
|
+
|
|
1572
|
+
# Common validators of number and nz_number types
|
|
1573
|
+
#
|
|
1574
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:49
|
|
1575
|
+
module Net::IMAP::NumValidator
|
|
1576
|
+
private
|
|
1577
|
+
|
|
1578
|
+
# Ensure argument is 'mod_sequence_value' or raise DataFormatError
|
|
1579
|
+
#
|
|
1580
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:96
|
|
1581
|
+
def ensure_mod_sequence_value(num); end
|
|
1582
|
+
|
|
1583
|
+
# Ensure argument is 'number' or raise DataFormatError
|
|
1584
|
+
#
|
|
1585
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:80
|
|
1586
|
+
def ensure_number(num); end
|
|
1587
|
+
|
|
1588
|
+
# Ensure argument is 'nz_number' or raise DataFormatError
|
|
1589
|
+
#
|
|
1590
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:88
|
|
1591
|
+
def ensure_nz_number(num); end
|
|
1592
|
+
|
|
1593
|
+
# Check is passed argument valid 'mod_sequence_value' in RFC 4551 terminology
|
|
1594
|
+
#
|
|
1595
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:71
|
|
1596
|
+
def valid_mod_sequence_value?(num); end
|
|
1597
|
+
|
|
1598
|
+
# Check is passed argument valid 'number' in RFC 3501 terminology
|
|
1599
|
+
#
|
|
1600
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:53
|
|
1601
|
+
def valid_number?(num); end
|
|
1602
|
+
|
|
1603
|
+
# Check is passed argument valid 'nz_number' in RFC 3501 terminology
|
|
1604
|
+
#
|
|
1605
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:62
|
|
1606
|
+
def valid_nz_number?(num); end
|
|
1607
|
+
|
|
1608
|
+
class << self
|
|
1609
|
+
# Ensure argument is 'mod_sequence_value' or raise DataFormatError
|
|
1610
|
+
#
|
|
1611
|
+
# @raise [DataFormatError]
|
|
1612
|
+
#
|
|
1613
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:96
|
|
1614
|
+
def ensure_mod_sequence_value(num); end
|
|
1615
|
+
|
|
1616
|
+
# Ensure argument is 'number' or raise DataFormatError
|
|
1617
|
+
#
|
|
1618
|
+
# @raise [DataFormatError]
|
|
1619
|
+
#
|
|
1620
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:80
|
|
1621
|
+
def ensure_number(num); end
|
|
1622
|
+
|
|
1623
|
+
# Ensure argument is 'nz_number' or raise DataFormatError
|
|
1624
|
+
#
|
|
1625
|
+
# @raise [DataFormatError]
|
|
1626
|
+
#
|
|
1627
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:88
|
|
1628
|
+
def ensure_nz_number(num); end
|
|
1629
|
+
|
|
1630
|
+
# Check is passed argument valid 'mod_sequence_value' in RFC 4551 terminology
|
|
1631
|
+
#
|
|
1632
|
+
# @return [Boolean]
|
|
1633
|
+
#
|
|
1634
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:71
|
|
1635
|
+
def valid_mod_sequence_value?(num); end
|
|
1636
|
+
|
|
1637
|
+
# Check is passed argument valid 'number' in RFC 3501 terminology
|
|
1638
|
+
#
|
|
1639
|
+
# @return [Boolean]
|
|
1640
|
+
#
|
|
1641
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:53
|
|
1642
|
+
def valid_number?(num); end
|
|
1643
|
+
|
|
1644
|
+
# Check is passed argument valid 'nz_number' in RFC 3501 terminology
|
|
1645
|
+
#
|
|
1646
|
+
# @return [Boolean]
|
|
1647
|
+
#
|
|
1648
|
+
# source://net-imap-0.2.3/lib/net/imap/data_encoding.rb:62
|
|
1649
|
+
def valid_nz_number?(num); end
|
|
1650
|
+
end
|
|
1651
|
+
end
|
|
1652
|
+
|
|
1653
|
+
# Authenticator for the "+PLAIN+" SASL mechanism, specified in
|
|
1654
|
+
# RFC4616[https://tools.ietf.org/html/rfc4616]. See Net::IMAP#authenticate.
|
|
1655
|
+
#
|
|
1656
|
+
# +PLAIN+ authentication sends the password in cleartext.
|
|
1657
|
+
# RFC3501[https://tools.ietf.org/html/rfc3501] encourages servers to disable
|
|
1658
|
+
# cleartext authentication until after TLS has been negotiated.
|
|
1659
|
+
# RFC8314[https://tools.ietf.org/html/rfc8314] recommends TLS version 1.2 or
|
|
1660
|
+
# greater be used for all traffic, and deprecate cleartext access ASAP. +PLAIN+
|
|
1661
|
+
# can be secured by TLS encryption.
|
|
1662
|
+
#
|
|
1663
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/plain.rb:12
|
|
1664
|
+
class Net::IMAP::PlainAuthenticator
|
|
1665
|
+
# +username+ is the authentication identity, the identity whose +password+ is
|
|
1666
|
+
# used. +username+ is referred to as +authcid+ by
|
|
1667
|
+
# RFC4616[https://tools.ietf.org/html/rfc4616].
|
|
1668
|
+
#
|
|
1669
|
+
# +authzid+ is the authorization identity (identity to act as). It can
|
|
1670
|
+
# usually be left blank. When +authzid+ is left blank (nil or empty string)
|
|
1671
|
+
# the server will derive an identity from the credentials and use that as the
|
|
1672
|
+
# authorization identity.
|
|
1673
|
+
#
|
|
1674
|
+
# @raise [ArgumentError]
|
|
1675
|
+
# @return [PlainAuthenticator] a new instance of PlainAuthenticator
|
|
1676
|
+
#
|
|
1677
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/plain.rb:31
|
|
1678
|
+
def initialize(username, password, authzid: T.unsafe(nil)); end
|
|
1679
|
+
|
|
1680
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/plain.rb:14
|
|
1681
|
+
def process(data); end
|
|
1682
|
+
end
|
|
1683
|
+
|
|
1684
|
+
# source://net-imap-0.2.3/lib/net/imap/authenticators/plain.rb:19
|
|
1685
|
+
Net::IMAP::PlainAuthenticator::NULL = T.let(T.unsafe(nil), String)
|
|
1686
|
+
|
|
1687
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:148
|
|
1688
|
+
class Net::IMAP::QuotedString
|
|
1689
|
+
# @return [QuotedString] a new instance of QuotedString
|
|
1690
|
+
#
|
|
1691
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:158
|
|
1692
|
+
def initialize(data); end
|
|
1693
|
+
|
|
1694
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:149
|
|
1695
|
+
def send_data(imap, tag); end
|
|
1696
|
+
|
|
1697
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:153
|
|
1698
|
+
def validate; end
|
|
1699
|
+
end
|
|
1700
|
+
|
|
1701
|
+
# The mailbox is a remote mailbox.
|
|
1702
|
+
#
|
|
1703
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:165
|
|
1704
|
+
Net::IMAP::REMOTE = T.let(T.unsafe(nil), Symbol)
|
|
1705
|
+
|
|
1706
|
+
# source://net-imap-0.2.3/lib/net/imap/errors.rb:54
|
|
1707
|
+
Net::IMAP::RESPONSE_ERRORS = T.let(T.unsafe(nil), Hash)
|
|
1708
|
+
|
|
1709
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:118
|
|
1710
|
+
class Net::IMAP::RawData
|
|
1711
|
+
# @return [RawData] a new instance of RawData
|
|
1712
|
+
#
|
|
1713
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:128
|
|
1714
|
+
def initialize(data); end
|
|
1715
|
+
|
|
1716
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:119
|
|
1717
|
+
def send_data(imap, tag); end
|
|
1718
|
+
|
|
1719
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:123
|
|
1720
|
+
def validate; end
|
|
1721
|
+
end
|
|
1722
|
+
|
|
1723
|
+
# Superclass of all errors used to encapsulate "fail" responses
|
|
1724
|
+
# from the server.
|
|
1725
|
+
#
|
|
1726
|
+
# source://net-imap-0.2.3/lib/net/imap/errors.rb:20
|
|
1727
|
+
class Net::IMAP::ResponseError < ::Net::IMAP::Error
|
|
1728
|
+
# @return [ResponseError] a new instance of ResponseError
|
|
1729
|
+
#
|
|
1730
|
+
# source://net-imap-0.2.3/lib/net/imap/errors.rb:25
|
|
1731
|
+
def initialize(response); end
|
|
1732
|
+
|
|
1733
|
+
# The response that caused this error
|
|
1734
|
+
#
|
|
1735
|
+
# source://net-imap-0.2.3/lib/net/imap/errors.rb:23
|
|
1736
|
+
def response; end
|
|
1737
|
+
|
|
1738
|
+
# The response that caused this error
|
|
1739
|
+
#
|
|
1740
|
+
# source://net-imap-0.2.3/lib/net/imap/errors.rb:23
|
|
1741
|
+
def response=(_arg0); end
|
|
1742
|
+
end
|
|
1743
|
+
|
|
1744
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:8
|
|
1745
|
+
class Net::IMAP::ResponseParser
|
|
1746
|
+
# @return [ResponseParser] a new instance of ResponseParser
|
|
1747
|
+
#
|
|
1748
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:9
|
|
1749
|
+
def initialize; end
|
|
1750
|
+
|
|
1751
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:16
|
|
1752
|
+
def parse(str); end
|
|
1753
|
+
|
|
1754
|
+
private
|
|
1755
|
+
|
|
1756
|
+
# like match, but does not raise error on failure.
|
|
1757
|
+
#
|
|
1758
|
+
# returns and shifts token on successful match
|
|
1759
|
+
# returns nil and leaves @token unshifted on no match
|
|
1760
|
+
#
|
|
1761
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1375
|
|
1762
|
+
def accept(*args); end
|
|
1763
|
+
|
|
1764
|
+
# This advances @pos directly so it's safe before changing @lex_state.
|
|
1765
|
+
#
|
|
1766
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1332
|
|
1767
|
+
def accept_space; end
|
|
1768
|
+
|
|
1769
|
+
# The RFC is very strict about this and usually we should be too.
|
|
1770
|
+
# But skipping spaces is usually a safe workaround for buggy servers.
|
|
1771
|
+
#
|
|
1772
|
+
# This advances @pos directly so it's safe before changing @lex_state.
|
|
1773
|
+
#
|
|
1774
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1344
|
|
1775
|
+
def accept_spaces; end
|
|
1776
|
+
|
|
1777
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1178
|
|
1778
|
+
def address; end
|
|
1779
|
+
|
|
1780
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1148
|
|
1781
|
+
def address_list; end
|
|
1782
|
+
|
|
1783
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1234
|
|
1784
|
+
def astring; end
|
|
1785
|
+
|
|
1786
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1287
|
|
1787
|
+
def astring_chars; end
|
|
1788
|
+
|
|
1789
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1279
|
|
1790
|
+
def atom; end
|
|
1791
|
+
|
|
1792
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:326
|
|
1793
|
+
def body; end
|
|
1794
|
+
|
|
1795
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:307
|
|
1796
|
+
def body_data; end
|
|
1797
|
+
|
|
1798
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:513
|
|
1799
|
+
def body_ext_1part; end
|
|
1800
|
+
|
|
1801
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:549
|
|
1802
|
+
def body_ext_mpart; end
|
|
1803
|
+
|
|
1804
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:639
|
|
1805
|
+
def body_extension; end
|
|
1806
|
+
|
|
1807
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:625
|
|
1808
|
+
def body_extensions; end
|
|
1809
|
+
|
|
1810
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:475
|
|
1811
|
+
def body_fields; end
|
|
1812
|
+
|
|
1813
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:585
|
|
1814
|
+
def body_fld_dsp; end
|
|
1815
|
+
|
|
1816
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:599
|
|
1817
|
+
def body_fld_lang; end
|
|
1818
|
+
|
|
1819
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:488
|
|
1820
|
+
def body_fld_param; end
|
|
1821
|
+
|
|
1822
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:346
|
|
1823
|
+
def body_type_1part; end
|
|
1824
|
+
|
|
1825
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:432
|
|
1826
|
+
def body_type_attachment; end
|
|
1827
|
+
|
|
1828
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:362
|
|
1829
|
+
def body_type_basic; end
|
|
1830
|
+
|
|
1831
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:439
|
|
1832
|
+
def body_type_mixed; end
|
|
1833
|
+
|
|
1834
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:446
|
|
1835
|
+
def body_type_mpart; end
|
|
1836
|
+
|
|
1837
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:391
|
|
1838
|
+
def body_type_msg; end
|
|
1839
|
+
|
|
1840
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:377
|
|
1841
|
+
def body_type_text; end
|
|
1842
|
+
|
|
1843
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:967
|
|
1844
|
+
def capability_data; end
|
|
1845
|
+
|
|
1846
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:960
|
|
1847
|
+
def capability_response; end
|
|
1848
|
+
|
|
1849
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1259
|
|
1850
|
+
def case_insensitive_string; end
|
|
1851
|
+
|
|
1852
|
+
# See https://www.rfc-editor.org/errata/rfc3501
|
|
1853
|
+
#
|
|
1854
|
+
# charset = atom / quoted
|
|
1855
|
+
#
|
|
1856
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1306
|
|
1857
|
+
def charset; end
|
|
1858
|
+
|
|
1859
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1135
|
|
1860
|
+
def charset_list; end
|
|
1861
|
+
|
|
1862
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1291
|
|
1863
|
+
def combine_adjacent(*tokens); end
|
|
1864
|
+
|
|
1865
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:108
|
|
1866
|
+
def continue_req; end
|
|
1867
|
+
|
|
1868
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:238
|
|
1869
|
+
def envelope; end
|
|
1870
|
+
|
|
1871
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:231
|
|
1872
|
+
def envelope_data; end
|
|
1873
|
+
|
|
1874
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1209
|
|
1875
|
+
def flag_list; end
|
|
1876
|
+
|
|
1877
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:273
|
|
1878
|
+
def flags_data; end
|
|
1879
|
+
|
|
1880
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:736
|
|
1881
|
+
def flags_response; end
|
|
1882
|
+
|
|
1883
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:689
|
|
1884
|
+
def format_string(str); end
|
|
1885
|
+
|
|
1886
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:814
|
|
1887
|
+
def getacl_response; end
|
|
1888
|
+
|
|
1889
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:764
|
|
1890
|
+
def getquota_response; end
|
|
1891
|
+
|
|
1892
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:797
|
|
1893
|
+
def getquotaroot_response; end
|
|
1894
|
+
|
|
1895
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:983
|
|
1896
|
+
def id_response; end
|
|
1897
|
+
|
|
1898
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:722
|
|
1899
|
+
def ignored_response; end
|
|
1900
|
+
|
|
1901
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:280
|
|
1902
|
+
def internaldate_data; end
|
|
1903
|
+
|
|
1904
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:743
|
|
1905
|
+
def list_response; end
|
|
1906
|
+
|
|
1907
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1383
|
|
1908
|
+
def lookahead; end
|
|
1909
|
+
|
|
1910
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:750
|
|
1911
|
+
def mailbox_list; end
|
|
1912
|
+
|
|
1913
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1351
|
|
1914
|
+
def match(*args, lex_state: T.unsafe(nil)); end
|
|
1915
|
+
|
|
1916
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:464
|
|
1917
|
+
def media_type; end
|
|
1918
|
+
|
|
1919
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:712
|
|
1920
|
+
def modseq_data; end
|
|
1921
|
+
|
|
1922
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:193
|
|
1923
|
+
def msg_att(n); end
|
|
1924
|
+
|
|
1925
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1046
|
|
1926
|
+
def namespace; end
|
|
1927
|
+
|
|
1928
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1012
|
|
1929
|
+
def namespace_response; end
|
|
1930
|
+
|
|
1931
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1056
|
|
1932
|
+
def namespace_response_extensions; end
|
|
1933
|
+
|
|
1934
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1028
|
|
1935
|
+
def namespaces; end
|
|
1936
|
+
|
|
1937
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1391
|
|
1938
|
+
def next_token; end
|
|
1939
|
+
|
|
1940
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1324
|
|
1941
|
+
def nil_atom; end
|
|
1942
|
+
|
|
1943
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1224
|
|
1944
|
+
def nstring; end
|
|
1945
|
+
|
|
1946
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1314
|
|
1947
|
+
def number; end
|
|
1948
|
+
|
|
1949
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:177
|
|
1950
|
+
def numeric_response; end
|
|
1951
|
+
|
|
1952
|
+
# @raise [ResponseParseError]
|
|
1953
|
+
#
|
|
1954
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1510
|
|
1955
|
+
def parse_error(fmt, *args); end
|
|
1956
|
+
|
|
1957
|
+
# resp-text = ["[" resp-text-code "]" SP] text
|
|
1958
|
+
#
|
|
1959
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1082
|
|
1960
|
+
def resp_text; end
|
|
1961
|
+
|
|
1962
|
+
# See https://www.rfc-editor.org/errata/rfc3501
|
|
1963
|
+
#
|
|
1964
|
+
# resp-text-code = "ALERT" /
|
|
1965
|
+
# "BADCHARSET" [SP "(" charset *(SP charset) ")" ] /
|
|
1966
|
+
# capability-data / "PARSE" /
|
|
1967
|
+
# "PERMANENTFLAGS" SP "("
|
|
1968
|
+
# [flag-perm *(SP flag-perm)] ")" /
|
|
1969
|
+
# "READ-ONLY" / "READ-WRITE" / "TRYCREATE" /
|
|
1970
|
+
# "UIDNEXT" SP nz-number / "UIDVALIDITY" SP nz-number /
|
|
1971
|
+
# "UNSEEN" SP nz-number /
|
|
1972
|
+
# atom [SP 1*<any TEXT-CHAR except "]">]
|
|
1973
|
+
#
|
|
1974
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1106
|
|
1975
|
+
def resp_text_code; end
|
|
1976
|
+
|
|
1977
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:89
|
|
1978
|
+
def response; end
|
|
1979
|
+
|
|
1980
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:170
|
|
1981
|
+
def response_cond; end
|
|
1982
|
+
|
|
1983
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:161
|
|
1984
|
+
def response_tagged; end
|
|
1985
|
+
|
|
1986
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:119
|
|
1987
|
+
def response_untagged; end
|
|
1988
|
+
|
|
1989
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:300
|
|
1990
|
+
def rfc822_size; end
|
|
1991
|
+
|
|
1992
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:288
|
|
1993
|
+
def rfc822_text; end
|
|
1994
|
+
|
|
1995
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:840
|
|
1996
|
+
def search_response; end
|
|
1997
|
+
|
|
1998
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:654
|
|
1999
|
+
def section; end
|
|
2000
|
+
|
|
2001
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1387
|
|
2002
|
+
def shift_token; end
|
|
2003
|
+
|
|
2004
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:933
|
|
2005
|
+
def status_response; end
|
|
2006
|
+
|
|
2007
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1243
|
|
2008
|
+
def string; end
|
|
2009
|
+
|
|
2010
|
+
# @return [Boolean]
|
|
2011
|
+
#
|
|
2012
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1255
|
|
2013
|
+
def string_token?(token); end
|
|
2014
|
+
|
|
2015
|
+
# text = 1*TEXT-CHAR
|
|
2016
|
+
# TEXT-CHAR = <any CHAR except CR and LF>
|
|
2017
|
+
#
|
|
2018
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1077
|
|
2019
|
+
def text; end
|
|
2020
|
+
|
|
2021
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:729
|
|
2022
|
+
def text_response; end
|
|
2023
|
+
|
|
2024
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:898
|
|
2025
|
+
def thread_branch(token); end
|
|
2026
|
+
|
|
2027
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:871
|
|
2028
|
+
def thread_response; end
|
|
2029
|
+
|
|
2030
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:705
|
|
2031
|
+
def uid_data; end
|
|
2032
|
+
end
|
|
2033
|
+
|
|
2034
|
+
# ASTRING-CHAR = ATOM-CHAR / resp-specials
|
|
2035
|
+
# resp-specials = "]"
|
|
2036
|
+
#
|
|
2037
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1285
|
|
2038
|
+
Net::IMAP::ResponseParser::ASTRING_CHARS_TOKENS = T.let(T.unsafe(nil), Array)
|
|
2039
|
+
|
|
2040
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:1329
|
|
2041
|
+
Net::IMAP::ResponseParser::SPACES_REGEXP = T.let(T.unsafe(nil), Regexp)
|
|
2042
|
+
|
|
2043
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:87
|
|
2044
|
+
class Net::IMAP::ResponseParser::Token < ::Struct
|
|
2045
|
+
# Sets the attribute symbol
|
|
2046
|
+
#
|
|
2047
|
+
# @param value [Object] the value to set the attribute symbol to.
|
|
2048
|
+
# @return [Object] the newly set value
|
|
2049
|
+
#
|
|
2050
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:87
|
|
2051
|
+
def symbol=(_); end
|
|
2052
|
+
|
|
2053
|
+
# Sets the attribute value
|
|
2054
|
+
#
|
|
2055
|
+
# @param value [Object] the value to set the attribute value to.
|
|
2056
|
+
# @return [Object] the newly set value
|
|
2057
|
+
#
|
|
2058
|
+
# source://net-imap-0.2.3/lib/net/imap/response_parser.rb:87
|
|
2059
|
+
def value=(_); end
|
|
2060
|
+
end
|
|
2061
|
+
|
|
2062
|
+
# Mailbox attribute indicating that this mailbox is used to hold copies of
|
|
2063
|
+
# messages that have been sent. Some server implementations might put
|
|
2064
|
+
# messages here automatically. Alternatively, this might just be advice that
|
|
2065
|
+
# a client save sent messages here.
|
|
2066
|
+
#
|
|
2067
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:221
|
|
2068
|
+
Net::IMAP::SENT = T.let(T.unsafe(nil), Symbol)
|
|
2069
|
+
|
|
2070
|
+
# The mailbox name was subscribed to using the SUBSCRIBE command.
|
|
2071
|
+
#
|
|
2072
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:162
|
|
2073
|
+
Net::IMAP::SUBSCRIBED = T.let(T.unsafe(nil), Symbol)
|
|
2074
|
+
|
|
2075
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:269
|
|
2076
|
+
module Net::IMAP::StringFormatter
|
|
2077
|
+
private
|
|
2078
|
+
|
|
2079
|
+
# coerces non-nil using +to_s+
|
|
2080
|
+
#
|
|
2081
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:296
|
|
2082
|
+
def nstring(str); end
|
|
2083
|
+
|
|
2084
|
+
# coerces using +to_s+
|
|
2085
|
+
#
|
|
2086
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:286
|
|
2087
|
+
def string(str); end
|
|
2088
|
+
|
|
2089
|
+
# Allows nil, symbols, and strings
|
|
2090
|
+
#
|
|
2091
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:281
|
|
2092
|
+
def valid_nstring?(str); end
|
|
2093
|
+
|
|
2094
|
+
# Allows symbols in addition to strings
|
|
2095
|
+
#
|
|
2096
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:276
|
|
2097
|
+
def valid_string?(str); end
|
|
2098
|
+
|
|
2099
|
+
class << self
|
|
2100
|
+
# coerces non-nil using +to_s+
|
|
2101
|
+
#
|
|
2102
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:296
|
|
2103
|
+
def nstring(str); end
|
|
2104
|
+
|
|
2105
|
+
# coerces using +to_s+
|
|
2106
|
+
#
|
|
2107
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:286
|
|
2108
|
+
def string(str); end
|
|
2109
|
+
|
|
2110
|
+
# Allows nil, symbols, and strings
|
|
2111
|
+
#
|
|
2112
|
+
# @return [Boolean]
|
|
2113
|
+
#
|
|
2114
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:281
|
|
2115
|
+
def valid_nstring?(str); end
|
|
2116
|
+
|
|
2117
|
+
# Allows symbols in addition to strings
|
|
2118
|
+
#
|
|
2119
|
+
# @return [Boolean]
|
|
2120
|
+
#
|
|
2121
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:276
|
|
2122
|
+
def valid_string?(str); end
|
|
2123
|
+
end
|
|
2124
|
+
end
|
|
2125
|
+
|
|
2126
|
+
# source://net-imap-0.2.3/lib/net/imap/command_data.rb:271
|
|
2127
|
+
Net::IMAP::StringFormatter::LITERAL_REGEX = T.let(T.unsafe(nil), Regexp)
|
|
2128
|
+
|
|
2129
|
+
# Mailbox attribute indicating that this mailbox is used to hold messages
|
|
2130
|
+
# that have been deleted or marked for deletion. In some server
|
|
2131
|
+
# implementations, this might be a virtual mailbox, containing messages from
|
|
2132
|
+
# other mailboxes that are marked with the "\Deleted" message flag.
|
|
2133
|
+
# Alternatively, this might just be advice that a client that chooses not to
|
|
2134
|
+
# use the IMAP "\Deleted" model should use as its trash location. In server
|
|
2135
|
+
# implementations that strictly expect the IMAP "\Deleted" model, this
|
|
2136
|
+
# special use is likely not to be supported.
|
|
2137
|
+
#
|
|
2138
|
+
# source://net-imap-0.2.3/lib/net/imap/flags.rb:231
|
|
2139
|
+
Net::IMAP::TRASH = T.let(T.unsafe(nil), Symbol)
|
|
2140
|
+
|
|
2141
|
+
# Error raised upon an unknown response from the server.
|
|
2142
|
+
#
|
|
2143
|
+
# source://net-imap-0.2.3/lib/net/imap/errors.rb:51
|
|
2144
|
+
class Net::IMAP::UnknownResponseError < ::Net::IMAP::ResponseError; end
|
|
2145
|
+
|
|
2146
|
+
# source://net-imap-0.2.3/lib/net/imap.rb:223
|
|
2147
|
+
Net::IMAP::VERSION = T.let(T.unsafe(nil), String)
|