gmail 0.5.0 → 0.6.0

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.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +27 -27
  3. data/.rspec +1 -1
  4. data/.rubocop.yml +13 -13
  5. data/.rubocop_todo.yml +239 -239
  6. data/.travis.yml +19 -19
  7. data/CHANGELOG.md +145 -139
  8. data/Gemfile +3 -3
  9. data/LICENSE +21 -21
  10. data/README.md +355 -354
  11. data/Rakefile +46 -46
  12. data/gmail.gemspec +34 -34
  13. data/lib/gmail.rb +78 -78
  14. data/lib/gmail/client.rb +34 -34
  15. data/lib/gmail/client/base.rb +229 -229
  16. data/lib/gmail/client/plain.rb +24 -24
  17. data/lib/gmail/client/xoauth.rb +68 -68
  18. data/lib/gmail/client/xoauth2.rb +39 -39
  19. data/lib/gmail/imap_extensions.rb +159 -150
  20. data/lib/gmail/labels.rb +79 -79
  21. data/lib/gmail/mailbox.rb +175 -135
  22. data/lib/gmail/message.rb +207 -207
  23. data/lib/gmail/version.rb +3 -3
  24. data/spec/account.yml.example +1 -1
  25. data/spec/account.yml.obfus +2 -2
  26. data/spec/gmail/client/base_spec.rb +5 -5
  27. data/spec/gmail/client/plain_spec.rb +169 -168
  28. data/spec/gmail/client/xoauth2_spec.rb +186 -186
  29. data/spec/gmail/client/xoauth_spec.rb +5 -5
  30. data/spec/gmail/client_spec.rb +5 -5
  31. data/spec/gmail/imap_extensions_spec.rb +47 -12
  32. data/spec/gmail/labels_spec.rb +27 -18
  33. data/spec/gmail/mailbox_spec.rb +84 -47
  34. data/spec/gmail/message_spec.rb +181 -181
  35. data/spec/gmail_spec.rb +39 -39
  36. data/spec/recordings/gmail/_new_connects_with_client_and_give_it_context_when_block_given.yml +28 -28
  37. data/spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml +28 -28
  38. data/spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml +13 -13
  39. data/spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml +13 -13
  40. data/spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml +42 -42
  41. data/spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml +42 -42
  42. data/spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +13 -13
  43. data/spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml +13 -13
  44. data/spec/recordings/gmail_client_plain/instance/labels/checks_if_there_is_given_label_defined.yml +196 -196
  45. data/spec/recordings/gmail_client_plain/instance/labels/creates_given_label.yml +151 -151
  46. data/spec/recordings/gmail_client_plain/instance/labels/removes_existing_label.yml +146 -146
  47. data/spec/recordings/gmail_client_plain/instance/labels/returns_list_of_all_available_labels.yml +113 -113
  48. data/spec/recordings/gmail_client_plain/instance/properly_logs_in_to_valid_gmail_account.yml +42 -42
  49. data/spec/recordings/gmail_client_plain/instance/properly_logs_out_from_gmail.yml +42 -42
  50. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox.yml +109 -109
  51. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox_using_block_style.yml +109 -109
  52. data/spec/recordings/gmail_client_plain/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +13 -13
  53. data/spec/recordings/gmail_client_xo_auth2/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +13 -13
  54. data/spec/recordings/gmail_client_xo_auth2/instance/labels/checks_if_there_is_given_label_defined.yml +27 -27
  55. data/spec/recordings/gmail_client_xo_auth2/instance/labels/creates_given_label.yml +39 -39
  56. data/spec/recordings/gmail_client_xo_auth2/instance/labels/removes_existing_label.yml +39 -39
  57. data/spec/recordings/gmail_client_xo_auth2/instance/labels/returns_list_of_all_available_labels.yml +27 -27
  58. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_in_to_valid_gmail_account.yml +15 -15
  59. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_out_from_gmail.yml +15 -15
  60. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox.yml +40 -40
  61. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox_using_block_style.yml +40 -40
  62. data/spec/recordings/gmail_client_xo_auth2/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +13 -13
  63. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/all/localizes_into_the_appropriate_label.yml +116 -116
  64. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/and_the_mailbox_does_not_exist/returns_the_mailbox_name_as_a_string.yml +110 -0
  65. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/drafts/localizes_into_the_appropriate_label.yml +116 -116
  66. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/flagged/localizes_into_the_appropriate_label.yml +116 -116
  67. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/important/localizes_into_the_appropriate_label.yml +116 -116
  68. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/inbox/localizes_into_the_appropriate_label.yml +42 -42
  69. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/junk/localizes_into_the_appropriate_label.yml +116 -116
  70. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/sent/localizes_into_the_appropriate_label.yml +116 -116
  71. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/trash/localizes_into_the_appropriate_label.yml +116 -116
  72. data/spec/recordings/gmail_mailbox/instance/counts_all_emails.yml +277 -277
  73. data/spec/recordings/gmail_mailbox/instance/finds_messages.yml +586 -586
  74. data/spec/recordings/gmail_mailbox/instance/waits_once.yml +136 -0
  75. data/spec/recordings/gmail_mailbox/instance/waits_repeatedly.yml +141 -0
  76. data/spec/recordings/gmail_mailbox/instance/waits_with_29-minute_re-issue.yml +136 -0
  77. data/spec/recordings/gmail_mailbox/instance/waits_with_an_unblocked_connection.yml +207 -0
  78. data/spec/recordings/gmail_mailbox/on_initialize/sets_client_and_name.yml +42 -42
  79. data/spec/recordings/gmail_mailbox/on_initialize/works_in_inbox_by_default.yml +42 -42
  80. data/spec/recordings/gmail_message/initialize/sets_prefetch_attrs.yml +578 -578
  81. data/spec/recordings/gmail_message/initialize/sets_uid_and_mailbox.yml +580 -580
  82. data/spec/recordings/gmail_message/instance_methods/deletes_itself.yml +637 -637
  83. data/spec/recordings/gmail_message/instance_methods/marks_itself_read.yml +682 -682
  84. data/spec/recordings/gmail_message/instance_methods/marks_itself_unread.yml +686 -686
  85. data/spec/recordings/gmail_message/instance_methods/moves_from_one_tag_to_other.yml +862 -862
  86. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label.yml +776 -776
  87. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label_with_old_method.yml +776 -776
  88. data/spec/recordings/gmail_message/instance_methods/sets_given_label.yml +690 -690
  89. data/spec/recordings/gmail_message/instance_methods/sets_given_label_with_old_method.yml +691 -691
  90. data/spec/spec_helper.rb +53 -53
  91. data/spec/support/imap_mock.rb +181 -129
  92. data/spec/support/obfuscation.rb +52 -52
  93. metadata +78 -5
@@ -1,42 +1,42 @@
1
- ---
2
- LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
- - - :return
4
- - !ruby/struct:Net::IMAP::TaggedResponse
5
- tag: RUBY0001
6
- name: OK
7
- data: !ruby/struct:Net::IMAP::ResponseText
8
- code:
9
- text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
- raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
- (Success)\r\n"
12
- - CAPABILITY: &1
13
- - - IMAP4REV1
14
- - UNSELECT
15
- - IDLE
16
- - NAMESPACE
17
- - QUOTA
18
- - ID
19
- - XLIST
20
- - CHILDREN
21
- - X-GM-EXT-1
22
- - UIDPLUS
23
- - COMPRESS=DEFLATE
24
- - ENABLE
25
- - MOVE
26
- - CONDSTORE
27
- - ESEARCH
28
- - UTF8=ACCEPT
29
- LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
30
- - - :return
31
- - !ruby/struct:Net::IMAP::TaggedResponse
32
- tag: RUBY0002
33
- name: OK
34
- data: !ruby/struct:Net::IMAP::ResponseText
35
- code:
36
- text: 73 good day (Success)
37
- raw_data: "RUBY0002 OK 73 good day (Success)\r\n"
38
- - CAPABILITY: *1
39
- BYE:
40
- - !ruby/struct:Net::IMAP::ResponseText
41
- code:
42
- text: LOGOUT Requested
1
+ ---
2
+ LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
+ - - :return
4
+ - !ruby/struct:Net::IMAP::TaggedResponse
5
+ tag: RUBY0001
6
+ name: OK
7
+ data: !ruby/struct:Net::IMAP::ResponseText
8
+ code:
9
+ text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
+ raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
+ (Success)\r\n"
12
+ - CAPABILITY: &1
13
+ - - IMAP4REV1
14
+ - UNSELECT
15
+ - IDLE
16
+ - NAMESPACE
17
+ - QUOTA
18
+ - ID
19
+ - XLIST
20
+ - CHILDREN
21
+ - X-GM-EXT-1
22
+ - UIDPLUS
23
+ - COMPRESS=DEFLATE
24
+ - ENABLE
25
+ - MOVE
26
+ - CONDSTORE
27
+ - ESEARCH
28
+ - UTF8=ACCEPT
29
+ LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
30
+ - - :return
31
+ - !ruby/struct:Net::IMAP::TaggedResponse
32
+ tag: RUBY0002
33
+ name: OK
34
+ data: !ruby/struct:Net::IMAP::ResponseText
35
+ code:
36
+ text: 73 good day (Success)
37
+ raw_data: "RUBY0002 OK 73 good day (Success)\r\n"
38
+ - CAPABILITY: *1
39
+ BYE:
40
+ - !ruby/struct:Net::IMAP::ResponseText
41
+ code:
42
+ text: LOGOUT Requested
@@ -1,42 +1,42 @@
1
- ---
2
- LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
- - - :return
4
- - !ruby/struct:Net::IMAP::TaggedResponse
5
- tag: RUBY0001
6
- name: OK
7
- data: !ruby/struct:Net::IMAP::ResponseText
8
- code:
9
- text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
- raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
- (Success)\r\n"
12
- - CAPABILITY: &1
13
- - - IMAP4REV1
14
- - UNSELECT
15
- - IDLE
16
- - NAMESPACE
17
- - QUOTA
18
- - ID
19
- - XLIST
20
- - CHILDREN
21
- - X-GM-EXT-1
22
- - UIDPLUS
23
- - COMPRESS=DEFLATE
24
- - ENABLE
25
- - MOVE
26
- - CONDSTORE
27
- - ESEARCH
28
- - UTF8=ACCEPT
29
- LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
30
- - - :return
31
- - !ruby/struct:Net::IMAP::TaggedResponse
32
- tag: RUBY0002
33
- name: OK
34
- data: !ruby/struct:Net::IMAP::ResponseText
35
- code:
36
- text: 73 good day (Success)
37
- raw_data: "RUBY0002 OK 73 good day (Success)\r\n"
38
- - CAPABILITY: *1
39
- BYE:
40
- - !ruby/struct:Net::IMAP::ResponseText
41
- code:
42
- text: LOGOUT Requested
1
+ ---
2
+ LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
+ - - :return
4
+ - !ruby/struct:Net::IMAP::TaggedResponse
5
+ tag: RUBY0001
6
+ name: OK
7
+ data: !ruby/struct:Net::IMAP::ResponseText
8
+ code:
9
+ text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
+ raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
+ (Success)\r\n"
12
+ - CAPABILITY: &1
13
+ - - IMAP4REV1
14
+ - UNSELECT
15
+ - IDLE
16
+ - NAMESPACE
17
+ - QUOTA
18
+ - ID
19
+ - XLIST
20
+ - CHILDREN
21
+ - X-GM-EXT-1
22
+ - UIDPLUS
23
+ - COMPRESS=DEFLATE
24
+ - ENABLE
25
+ - MOVE
26
+ - CONDSTORE
27
+ - ESEARCH
28
+ - UTF8=ACCEPT
29
+ LOGOUT-e76a09b7766d60a37ff9e1af527a143e:
30
+ - - :return
31
+ - !ruby/struct:Net::IMAP::TaggedResponse
32
+ tag: RUBY0002
33
+ name: OK
34
+ data: !ruby/struct:Net::IMAP::ResponseText
35
+ code:
36
+ text: 73 good day (Success)
37
+ raw_data: "RUBY0002 OK 73 good day (Success)\r\n"
38
+ - CAPABILITY: *1
39
+ BYE:
40
+ - !ruby/struct:Net::IMAP::ResponseText
41
+ code:
42
+ text: LOGOUT Requested
@@ -1,578 +1,578 @@
1
- ---
2
- LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
- - - :return
4
- - !ruby/struct:Net::IMAP::TaggedResponse
5
- tag: RUBY0001
6
- name: OK
7
- data: !ruby/struct:Net::IMAP::ResponseText
8
- code:
9
- text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
- raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
- (Success)\r\n"
12
- - CAPABILITY: &1
13
- - - IMAP4REV1
14
- - UNSELECT
15
- - IDLE
16
- - NAMESPACE
17
- - QUOTA
18
- - ID
19
- - XLIST
20
- - CHILDREN
21
- - X-GM-EXT-1
22
- - UIDPLUS
23
- - COMPRESS=DEFLATE
24
- - ENABLE
25
- - MOVE
26
- - CONDSTORE
27
- - ESEARCH
28
- - UTF8=ACCEPT
29
- LIST-b30698c3407aff5520448484b159fc07:
30
- - - :return
31
- - !ruby/struct:Net::IMAP::TaggedResponse
32
- tag: RUBY0002
33
- name: OK
34
- data: !ruby/struct:Net::IMAP::ResponseText
35
- code:
36
- text: Success
37
- raw_data: "RUBY0002 OK Success\r\n"
38
- - CAPABILITY: *1
39
- LIST:
40
- - !ruby/struct:Net::IMAP::MailboxList
41
- attr:
42
- - :Hasnochildren
43
- delim: "/"
44
- name: Awesome
45
- - !ruby/struct:Net::IMAP::MailboxList
46
- attr:
47
- - :Hasnochildren
48
- delim: "/"
49
- name: Great
50
- - !ruby/struct:Net::IMAP::MailboxList
51
- attr:
52
- - :Hasnochildren
53
- delim: "/"
54
- name: INBOX
55
- - !ruby/struct:Net::IMAP::MailboxList
56
- attr:
57
- - :Hasnochildren
58
- delim: "/"
59
- name: Ni&APE-os
60
- - !ruby/struct:Net::IMAP::MailboxList
61
- attr:
62
- - :Noselect
63
- - :Haschildren
64
- delim: "/"
65
- name: "[Gmail]"
66
- - !ruby/struct:Net::IMAP::MailboxList
67
- attr:
68
- - :Hasnochildren
69
- - :All
70
- delim: "/"
71
- name: "[Gmail]/All Mail"
72
- - !ruby/struct:Net::IMAP::MailboxList
73
- attr:
74
- - :Hasnochildren
75
- - :Drafts
76
- delim: "/"
77
- name: "[Gmail]/Drafts"
78
- - !ruby/struct:Net::IMAP::MailboxList
79
- attr:
80
- - :Hasnochildren
81
- - :Important
82
- delim: "/"
83
- name: "[Gmail]/Important"
84
- - !ruby/struct:Net::IMAP::MailboxList
85
- attr:
86
- - :Sent
87
- - :Hasnochildren
88
- delim: "/"
89
- name: "[Gmail]/Sent Mail"
90
- - !ruby/struct:Net::IMAP::MailboxList
91
- attr:
92
- - :Hasnochildren
93
- - :Junk
94
- delim: "/"
95
- name: "[Gmail]/Spam"
96
- - !ruby/struct:Net::IMAP::MailboxList
97
- attr:
98
- - :Hasnochildren
99
- - :Flagged
100
- delim: "/"
101
- name: "[Gmail]/Starred"
102
- - !ruby/struct:Net::IMAP::MailboxList
103
- attr:
104
- - :Trash
105
- - :Hasnochildren
106
- delim: "/"
107
- name: "[Gmail]/Trash"
108
- - !ruby/struct:Net::IMAP::MailboxList
109
- attr:
110
- - :Hasnochildren
111
- delim: "/"
112
- name: one's and two's
113
- - !ruby/struct:Net::IMAP::MailboxList
114
- attr:
115
- - :Hasnochildren
116
- delim: "/"
117
- name: some new label
118
- - !ruby/struct:Net::IMAP::MailboxList
119
- attr:
120
- - :Hasnochildren
121
- delim: "/"
122
- name: some other label
123
- SELECT-868fce8856c91e50bebd43b4dbd8e071:
124
- - - :return
125
- - !ruby/struct:Net::IMAP::TaggedResponse
126
- tag: RUBY0003
127
- name: OK
128
- data: !ruby/struct:Net::IMAP::ResponseText
129
- code: !ruby/struct:Net::IMAP::ResponseCode
130
- name: READ-WRITE
131
- data:
132
- text: " [Gmail]/All Mail selected. (Success)"
133
- raw_data: "RUBY0003 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
134
- - FLAGS: &4
135
- - - :Answered
136
- - :Flagged
137
- - :Draft
138
- - :Deleted
139
- - :Seen
140
- - "$Phishing"
141
- - "$NotPhishing"
142
- OK: &5
143
- - !ruby/struct:Net::IMAP::ResponseText
144
- code: !ruby/struct:Net::IMAP::ResponseCode
145
- name: PERMANENTFLAGS
146
- data: &2
147
- - :Answered
148
- - :Flagged
149
- - :Draft
150
- - :Deleted
151
- - :Seen
152
- - "$Phishing"
153
- - "$NotPhishing"
154
- - :*
155
- text: " Flags permitted."
156
- - !ruby/struct:Net::IMAP::ResponseText
157
- code: !ruby/struct:Net::IMAP::ResponseCode
158
- name: UIDVALIDITY
159
- data: 11
160
- text: " UIDs valid."
161
- - !ruby/struct:Net::IMAP::ResponseText
162
- code: !ruby/struct:Net::IMAP::ResponseCode
163
- name: UIDNEXT
164
- data: 187
165
- text: " Predicted next UID."
166
- - !ruby/struct:Net::IMAP::ResponseText
167
- code: !ruby/struct:Net::IMAP::ResponseCode
168
- name: HIGHESTMODSEQ
169
- data: '14589'
170
- text: ''
171
- PERMANENTFLAGS: &6
172
- - *2
173
- UIDVALIDITY: &7
174
- - 11
175
- EXISTS: &8
176
- - 179
177
- RECENT: &9
178
- - 0
179
- UIDNEXT: &10
180
- - 187
181
- HIGHESTMODSEQ: &11
182
- - '14589'
183
- - - :return
184
- - !ruby/struct:Net::IMAP::TaggedResponse
185
- tag: RUBY0005
186
- name: OK
187
- data: !ruby/struct:Net::IMAP::ResponseText
188
- code: !ruby/struct:Net::IMAP::ResponseCode
189
- name: READ-WRITE
190
- data:
191
- text: " [Gmail]/All Mail selected. (Success)"
192
- raw_data: "RUBY0005 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
193
- - FLAGS: &12
194
- - - :Answered
195
- - :Flagged
196
- - :Draft
197
- - :Deleted
198
- - :Seen
199
- - "$Phishing"
200
- - "$NotPhishing"
201
- OK: &13
202
- - !ruby/struct:Net::IMAP::ResponseText
203
- code: !ruby/struct:Net::IMAP::ResponseCode
204
- name: PERMANENTFLAGS
205
- data: &3
206
- - :Answered
207
- - :Flagged
208
- - :Draft
209
- - :Deleted
210
- - :Seen
211
- - "$Phishing"
212
- - "$NotPhishing"
213
- - :*
214
- text: " Flags permitted."
215
- - !ruby/struct:Net::IMAP::ResponseText
216
- code: !ruby/struct:Net::IMAP::ResponseCode
217
- name: UIDVALIDITY
218
- data: 11
219
- text: " UIDs valid."
220
- - !ruby/struct:Net::IMAP::ResponseText
221
- code: !ruby/struct:Net::IMAP::ResponseCode
222
- name: UIDNEXT
223
- data: 187
224
- text: " Predicted next UID."
225
- - !ruby/struct:Net::IMAP::ResponseText
226
- code: !ruby/struct:Net::IMAP::ResponseCode
227
- name: HIGHESTMODSEQ
228
- data: '14589'
229
- text: ''
230
- PERMANENTFLAGS: &14
231
- - *3
232
- UIDVALIDITY: &15
233
- - 11
234
- EXISTS: &16
235
- - 179
236
- RECENT: &17
237
- - 0
238
- UIDNEXT: &18
239
- - 187
240
- HIGHESTMODSEQ: &19
241
- - '14589'
242
- UID SEARCH-b19658413e2b63d2bac9c290a67c2cb3:
243
- - - :return
244
- - !ruby/struct:Net::IMAP::TaggedResponse
245
- tag: RUBY0004
246
- name: OK
247
- data: !ruby/struct:Net::IMAP::ResponseText
248
- code:
249
- text: SEARCH completed (Success)
250
- raw_data: "RUBY0004 OK SEARCH completed (Success)\r\n"
251
- - FLAGS: *4
252
- OK: *5
253
- PERMANENTFLAGS: *6
254
- UIDVALIDITY: *7
255
- EXISTS: *8
256
- RECENT: *9
257
- UIDNEXT: *10
258
- HIGHESTMODSEQ: *11
259
- SEARCH:
260
- - - 1
261
- - 2
262
- - 3
263
- - 4
264
- - 5
265
- - 6
266
- - 7
267
- - 8
268
- - 9
269
- - 10
270
- - 11
271
- - 12
272
- - 13
273
- - 14
274
- - 15
275
- - 16
276
- - 17
277
- - 18
278
- - 19
279
- - 20
280
- - 21
281
- - 22
282
- - 23
283
- - 24
284
- - 25
285
- - 26
286
- - 27
287
- - 28
288
- - 29
289
- - 30
290
- - 31
291
- - 32
292
- - 33
293
- - 34
294
- - 35
295
- - 36
296
- - 37
297
- - 38
298
- - 39
299
- - 40
300
- - 41
301
- - 42
302
- - 43
303
- - 44
304
- - 45
305
- - 46
306
- - 47
307
- - 48
308
- - 49
309
- - 50
310
- - 51
311
- - 52
312
- - 53
313
- - 54
314
- - 55
315
- - 56
316
- - 57
317
- - 58
318
- - 59
319
- - 60
320
- - 61
321
- - 62
322
- - 63
323
- - 64
324
- - 65
325
- - 66
326
- - 67
327
- - 68
328
- - 69
329
- - 70
330
- - 71
331
- - 72
332
- - 73
333
- - 74
334
- - 75
335
- - 76
336
- - 77
337
- - 78
338
- - 79
339
- - 80
340
- - 81
341
- - 82
342
- - 83
343
- - 84
344
- - 85
345
- - 86
346
- - 87
347
- - 88
348
- - 89
349
- - 90
350
- - 91
351
- - 92
352
- - 93
353
- - 94
354
- - 95
355
- - 96
356
- - 97
357
- - 98
358
- - 99
359
- - 100
360
- - 101
361
- - 102
362
- - 103
363
- - 104
364
- - 105
365
- - 106
366
- - 107
367
- - 108
368
- - 109
369
- - 110
370
- - 111
371
- - 112
372
- - 113
373
- - 114
374
- - 115
375
- - 116
376
- - 117
377
- - 118
378
- - 119
379
- - 120
380
- - 121
381
- - 122
382
- - 123
383
- - 124
384
- - 125
385
- - 126
386
- - 127
387
- - 128
388
- - 129
389
- - 130
390
- - 131
391
- - 132
392
- - 133
393
- - 134
394
- - 135
395
- - 136
396
- - 137
397
- - 138
398
- - 139
399
- - 140
400
- - 141
401
- - 142
402
- - 143
403
- - 144
404
- - 145
405
- - 150
406
- - 151
407
- - 155
408
- - 156
409
- - 157
410
- - 158
411
- - 159
412
- - 160
413
- - 161
414
- - 162
415
- - 163
416
- - 164
417
- - 165
418
- - 166
419
- - 167
420
- - 168
421
- - 169
422
- - 170
423
- - 171
424
- - 172
425
- - 173
426
- - 174
427
- - 175
428
- - 176
429
- - 177
430
- - 178
431
- - 179
432
- - 180
433
- - 181
434
- - 182
435
- - 183
436
- - 184
437
- - 185
438
- - 186
439
- UID FETCH-70e92ae4507a5481cf98aac122edceb8:
440
- - - :return
441
- - !ruby/struct:Net::IMAP::TaggedResponse
442
- tag: RUBY0006
443
- name: OK
444
- data: !ruby/struct:Net::IMAP::ResponseText
445
- code:
446
- text: Success
447
- raw_data: "RUBY0006 OK Success\r\n"
448
- - FLAGS: *12
449
- OK: *13
450
- PERMANENTFLAGS: *14
451
- UIDVALIDITY: *15
452
- EXISTS: *16
453
- RECENT: *17
454
- UIDNEXT: *18
455
- HIGHESTMODSEQ: *19
456
- FETCH:
457
- - !ruby/struct:Net::IMAP::FetchData
458
- seqno: 1
459
- attr:
460
- X-GM-THRID: 1490339162618061913
461
- X-GM-MSGID: 1490339162618061913
462
- X-GM-LABELS:
463
- - "\\Inbox"
464
- UID: 1
465
- FLAGS:
466
- - :Seen
467
- ENVELOPE: !ruby/struct:Net::IMAP::Envelope
468
- date: Wed, 14 Jan 2015 21:03:01 -0800
469
- subject: Three tips to get the most out of Gmail
470
- from:
471
- - !ruby/struct:Net::IMAP::Address
472
- name: Gmail Team
473
- route:
474
- mailbox: mail-noreply
475
- host: google.com
476
- sender:
477
- - !ruby/struct:Net::IMAP::Address
478
- name: Gmail Team
479
- route:
480
- mailbox: mail-noreply
481
- host: google.com
482
- reply_to:
483
- - !ruby/struct:Net::IMAP::Address
484
- name: Gmail Team
485
- route:
486
- mailbox: mail-noreply
487
- host: google.com
488
- to:
489
- - !ruby/struct:Net::IMAP::Address
490
- name: John Doe
491
- route:
492
- mailbox: ki0zvkyi1yzgy7xu4f4dh46nqrcecm
493
- host: gmail.com
494
- cc:
495
- bcc:
496
- in_reply_to:
497
- message_id: "<CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>"
498
- BODY[]: "MIME-Version: 1.0\r\nx-no-auto-attachment: 1\r\nReceived: by 10.70.87.10;
499
- Wed, 14 Jan 2015 21:03:01 -0800 (PST)\r\nDate: Wed, 14 Jan 2015 21:03:01
500
- -0800\r\nMessage-ID: <CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>\r\nSubject:
501
- Three tips to get the most out of Gmail\r\nFrom: Gmail Team <mail-noreply@google.com>\r\nTo:
502
- John Doe <ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com>\r\nContent-Type: multipart/alternative;
503
- boundary=bcaec51dcff73ca5e9050ca9c59a\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
504
- text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n
505
- Three tips to get the most out of Gmail\r\n[image: Google]\r\n\r\nHi John\r\n\r\nTips
506
- to get the most out of Gmail\r\n\r\n[image: Contacts]\r\nBring your contacts
507
- and mail into Gmail\r\n\r\nOn your computer, you can copy your contacts
508
- and emails from your old email\r\naccount to make the transition to Gmail
509
- even better. Learn how\r\n<https://support.google.com/mail/answer/164640?hl=3Den&ref_topic=3D1669014>=\r\n.\r\n[image:
510
- Search]\r\nFind what you need fast\r\n\r\nWith the power of Google Search
511
- right in your inbox, it's easy to sort your\r\nemail. Find what you're looking
512
- for with predictions based on email\r\ncontent, past searches and contacts.\r\n[image:
513
- Search]\r\nMuch more than email\r\n\r\nYou can send text messages and make
514
- video calls with Hangouts\r\n<https://www.google.com/intl/en/hangouts/>
515
- right from Gmail. To use this\r\nfeature on mobile, download the Hangouts
516
- app for Android\r\n<https://play.google.com/store/apps/details?id=3Dcom.google.android.talk&hl=\r\n=3Den>\r\nand
517
- Apple <https://itunes.apple.com/en/app/hangouts/id643496868?mt=3D8>\r\ndevices.\r\n\r\n\r\n[image:
518
- Gmail icon]Happy emailing,\r\nThe Gmail Team\r\n =C2=A9 2015 Google Inc.
519
- 1600 Amphitheatre Parkway, Mountain View, CA 94043\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
520
- text/html; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n<!DOCTYPE
521
- html>\r\n<html><head><meta http-equiv=3D\"content-type\" content=3D\"text/html;charset=\r\n=3DUTF-8\"
522
- /><title>Three tips to get the most out of Gmail</title></head><b=\r\nody
523
- style=3D\"background-color:#e5e5e5; margin:20px 0;\"><br /><div style=3D\"=\r\nmargin:2%;\"><div
524
- style=3D\"direction:ltr; text-align:left; font-family:'Open=\r\n sans','Arial',sans-serif;
525
- color:#444; background-color:white; padding:1.5e=\r\nm; border-radius:1em;
526
- box-shadow:1px -5px 8px 2px #bbb; max-width:580px; ma=\r\nrgin:2% auto 0
527
- auto;\"><table style=3D\"background:white;width:100%\"><tr><td>=\r\n<div
528
- style=3D\"width:90px; height:54px; margin:10px auto;\"><img src=3D\"https=\r\n://services.google.com/fh/files/emails/google_logo_flat_90_color.png\"
529
- alt=\r\n=3D\"Google\" width=3D\"90\" height=3D\"34\"/></div><div style=3D\"width:90%;
530
- padd=\r\ning-bottom:10px; padding-left:15px\"><p><img alt=3D\"\" src=3D\"https://ssl.gst=\r\natic.com/accounts/services/mail/msa/gmail_icon_small.png\"
531
- style=3D\"display:=\r\nblock; float:left; margin-top:4px; margin-right:5px;\"/><span
532
- style=3D\"font-=\r\nfamily:'Open sans','Arial',sans-serif; font-weight:bold;
533
- font-size:small; l=\r\nine-height:1.4em\">Hi John</span></p><p><span style=3D\"font-family:'Open
534
- san=\r\ns','Arial',sans-serif; font-size:2.08em;\">Tips to get the most
535
- out of Gmail=\r\n</span><br/></p></div><p></p><div style=3D\"float:left;
536
- clear:both; padding:=\r\n0px 5px 10px 10px;\"><img src=3D\"https://services.google.com/fh/files/emails=\r\n/importcontacts.png\"
537
- alt=3D\"Contacts\" style=3D\"display:block;\"width=3D\"129\"=\r\nheight=3D\"129\"/></div><div
538
- style=3D\"float:left; vertical-align:middle; padd=\r\ning:10px; max-width:398px;
539
- float:left;\"><table style=3D\"vertical-align:midd=\r\nle;\"><tr><td style=3D\"font-family:'Open
540
- sans','Arial',sans-serif;\"><span st=\r\nyle=3D\"font-size:20px;\">Bring
541
- your contacts and mail into Gmail</span><br/>=\r\n<br/><span style=3D\"font-size:small;
542
- line-height:1.4em\">On your computer, y=\r\nou can copy your contacts and
543
- emails from your old email account to make th=\r\ne transition to Gmail
544
- even better. <a href=3D\"https://support.google.com/ma=\r\nil/answer/164640?hl=3Den&amp;ref_topic=3D1669014\"
545
- style=3D\"text-decoration:=\r\nnone; color:#15C\">Learn how</a>.</span></td></tr></table></div><div
546
- style=\r\n=3D\"float:left; clear:both; padding:0px 5px 10px 10px;\"><img
547
- src=3D\"https:/=\r\n/ssl.gstatic.com/mail/welcome/localized/en/welcome_search.png\"
548
- alt=3D\"Searc=\r\nh\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
549
- style=3D=\r\n\"float:left; vertical-align:middle; padding:10px; max-width:398px;
550
- float:le=\r\nft;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-family:'=\r\nOpen
551
- sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Find what
552
- y=\r\nou need fast</span><br/><br/><span style=3D\"font-size:small; line-height:1.=\r\n4em\">With
553
- the power of Google Search right in your inbox, it's easy to sort=\r\n your
554
- email. Find what you're looking for with predictions based on email c=\r\nontent,
555
- past searches and contacts.</span></td></tr></table></div><div styl=\r\ne=3D\"float:left;
556
- clear:both; padding:0px 5px 10px 10px;\"><img src=3D\"https:=\r\n//ssl.gstatic.com/accounts/services/mail/msa/welcome_hangouts.png\"
557
- alt=3D\"S=\r\nearch\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
558
- styl=\r\ne=3D\"float:left; vertical-align:middle; padding:10px; max-width:398px;
559
- floa=\r\nt:left;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-fami=\r\nly:'Open
560
- sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Much mo=\r\nre
561
- than email</span><br/><br/><span style=3D\"font-size:small; line-height:1=\r\n.4em\">You
562
- can send text messages and make video calls with <a href=3D\"https=\r\n://www.google.com/intl/en/hangouts/\"
563
- style=3D\"text-decoration:none; color:#=\r\n15C\">Hangouts</a> right from
564
- Gmail. To use this feature on mobile, download=\r\n the Hangouts app for
565
- <a href=3D\"https://play.google.com/store/apps/details=\r\n?id=3Dcom.google.android.talk&amp;hl=3Den\"
566
- style=3D\"text-decoration:none; c=\r\nolor:#15C\">Android</a> and <a href=3D\"https://itunes.apple.com/en/app/hango=\r\nuts/id643496868?mt=3D8\"
567
- style=3D\"text-decoration:none; color:#15C\">Apple</a=\r\n> devices.</span></td></tr></table></div><br/><br/>\r\n<div
568
- style=3D\"clear:both; padding-left:13px; height:6.8em;\"><table style=3D=\r\n\"width:100%;
569
- border-collapse:collapse; border:0\"><tr><td style=3D\"width:68p=\r\nx\"><img
570
- alt=3D'Gmail icon' width=3D\"49\" height=3D\"37\" src=3D\"https://ssl.gs=\r\ntatic.com/accounts/services/mail/msa/gmail_icon_large.png\"
571
- style=3D\"display=\r\n:block;\"/></td><td style=3D\"align:left; font-family:'Open
572
- sans','Arial',san=\r\ns-serif; vertical-align:bottom\"><span style=3D\"font-size:small\">Happy
573
- email=\r\ning,<br/></span><span style=3D\"font-size:x-large; line-height:1\">The
574
- Gmail =\r\nTeam</span></td></tr></table></div>\r\n</td></tr></table></div>\r\n<div
575
- style=3D\"direction:ltr;color:#777; font-size:0.8em; border-radius:1em;=\r\n
576
- padding:1em; margin:0 auto 4% auto; font-family:'Arial','Helvetica',sans-s=\r\nerif;
577
- text-align:center;\">=C2=A9 2015 Google Inc. 1600 Amphitheatre Parkway=\r\n,
578
- Mountain View, CA 94043<br/></div></div></body></html>\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a--"
1
+ ---
2
+ LOGIN-9a890af1c86854f5170d99be6e10b8f1:
3
+ - - :return
4
+ - !ruby/struct:Net::IMAP::TaggedResponse
5
+ tag: RUBY0001
6
+ name: OK
7
+ data: !ruby/struct:Net::IMAP::ResponseText
8
+ code:
9
+ text: ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated (Success)
10
+ raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
11
+ (Success)\r\n"
12
+ - CAPABILITY: &1
13
+ - - IMAP4REV1
14
+ - UNSELECT
15
+ - IDLE
16
+ - NAMESPACE
17
+ - QUOTA
18
+ - ID
19
+ - XLIST
20
+ - CHILDREN
21
+ - X-GM-EXT-1
22
+ - UIDPLUS
23
+ - COMPRESS=DEFLATE
24
+ - ENABLE
25
+ - MOVE
26
+ - CONDSTORE
27
+ - ESEARCH
28
+ - UTF8=ACCEPT
29
+ LIST-b30698c3407aff5520448484b159fc07:
30
+ - - :return
31
+ - !ruby/struct:Net::IMAP::TaggedResponse
32
+ tag: RUBY0002
33
+ name: OK
34
+ data: !ruby/struct:Net::IMAP::ResponseText
35
+ code:
36
+ text: Success
37
+ raw_data: "RUBY0002 OK Success\r\n"
38
+ - CAPABILITY: *1
39
+ LIST:
40
+ - !ruby/struct:Net::IMAP::MailboxList
41
+ attr:
42
+ - :Hasnochildren
43
+ delim: "/"
44
+ name: Awesome
45
+ - !ruby/struct:Net::IMAP::MailboxList
46
+ attr:
47
+ - :Hasnochildren
48
+ delim: "/"
49
+ name: Great
50
+ - !ruby/struct:Net::IMAP::MailboxList
51
+ attr:
52
+ - :Hasnochildren
53
+ delim: "/"
54
+ name: INBOX
55
+ - !ruby/struct:Net::IMAP::MailboxList
56
+ attr:
57
+ - :Hasnochildren
58
+ delim: "/"
59
+ name: Ni&APE-os
60
+ - !ruby/struct:Net::IMAP::MailboxList
61
+ attr:
62
+ - :Noselect
63
+ - :Haschildren
64
+ delim: "/"
65
+ name: "[Gmail]"
66
+ - !ruby/struct:Net::IMAP::MailboxList
67
+ attr:
68
+ - :Hasnochildren
69
+ - :All
70
+ delim: "/"
71
+ name: "[Gmail]/All Mail"
72
+ - !ruby/struct:Net::IMAP::MailboxList
73
+ attr:
74
+ - :Hasnochildren
75
+ - :Drafts
76
+ delim: "/"
77
+ name: "[Gmail]/Drafts"
78
+ - !ruby/struct:Net::IMAP::MailboxList
79
+ attr:
80
+ - :Hasnochildren
81
+ - :Important
82
+ delim: "/"
83
+ name: "[Gmail]/Important"
84
+ - !ruby/struct:Net::IMAP::MailboxList
85
+ attr:
86
+ - :Sent
87
+ - :Hasnochildren
88
+ delim: "/"
89
+ name: "[Gmail]/Sent Mail"
90
+ - !ruby/struct:Net::IMAP::MailboxList
91
+ attr:
92
+ - :Hasnochildren
93
+ - :Junk
94
+ delim: "/"
95
+ name: "[Gmail]/Spam"
96
+ - !ruby/struct:Net::IMAP::MailboxList
97
+ attr:
98
+ - :Hasnochildren
99
+ - :Flagged
100
+ delim: "/"
101
+ name: "[Gmail]/Starred"
102
+ - !ruby/struct:Net::IMAP::MailboxList
103
+ attr:
104
+ - :Trash
105
+ - :Hasnochildren
106
+ delim: "/"
107
+ name: "[Gmail]/Trash"
108
+ - !ruby/struct:Net::IMAP::MailboxList
109
+ attr:
110
+ - :Hasnochildren
111
+ delim: "/"
112
+ name: one's and two's
113
+ - !ruby/struct:Net::IMAP::MailboxList
114
+ attr:
115
+ - :Hasnochildren
116
+ delim: "/"
117
+ name: some new label
118
+ - !ruby/struct:Net::IMAP::MailboxList
119
+ attr:
120
+ - :Hasnochildren
121
+ delim: "/"
122
+ name: some other label
123
+ SELECT-868fce8856c91e50bebd43b4dbd8e071:
124
+ - - :return
125
+ - !ruby/struct:Net::IMAP::TaggedResponse
126
+ tag: RUBY0003
127
+ name: OK
128
+ data: !ruby/struct:Net::IMAP::ResponseText
129
+ code: !ruby/struct:Net::IMAP::ResponseCode
130
+ name: READ-WRITE
131
+ data:
132
+ text: " [Gmail]/All Mail selected. (Success)"
133
+ raw_data: "RUBY0003 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
134
+ - FLAGS: &4
135
+ - - :Answered
136
+ - :Flagged
137
+ - :Draft
138
+ - :Deleted
139
+ - :Seen
140
+ - "$Phishing"
141
+ - "$NotPhishing"
142
+ OK: &5
143
+ - !ruby/struct:Net::IMAP::ResponseText
144
+ code: !ruby/struct:Net::IMAP::ResponseCode
145
+ name: PERMANENTFLAGS
146
+ data: &2
147
+ - :Answered
148
+ - :Flagged
149
+ - :Draft
150
+ - :Deleted
151
+ - :Seen
152
+ - "$Phishing"
153
+ - "$NotPhishing"
154
+ - :*
155
+ text: " Flags permitted."
156
+ - !ruby/struct:Net::IMAP::ResponseText
157
+ code: !ruby/struct:Net::IMAP::ResponseCode
158
+ name: UIDVALIDITY
159
+ data: 11
160
+ text: " UIDs valid."
161
+ - !ruby/struct:Net::IMAP::ResponseText
162
+ code: !ruby/struct:Net::IMAP::ResponseCode
163
+ name: UIDNEXT
164
+ data: 187
165
+ text: " Predicted next UID."
166
+ - !ruby/struct:Net::IMAP::ResponseText
167
+ code: !ruby/struct:Net::IMAP::ResponseCode
168
+ name: HIGHESTMODSEQ
169
+ data: '14589'
170
+ text: ''
171
+ PERMANENTFLAGS: &6
172
+ - *2
173
+ UIDVALIDITY: &7
174
+ - 11
175
+ EXISTS: &8
176
+ - 179
177
+ RECENT: &9
178
+ - 0
179
+ UIDNEXT: &10
180
+ - 187
181
+ HIGHESTMODSEQ: &11
182
+ - '14589'
183
+ - - :return
184
+ - !ruby/struct:Net::IMAP::TaggedResponse
185
+ tag: RUBY0005
186
+ name: OK
187
+ data: !ruby/struct:Net::IMAP::ResponseText
188
+ code: !ruby/struct:Net::IMAP::ResponseCode
189
+ name: READ-WRITE
190
+ data:
191
+ text: " [Gmail]/All Mail selected. (Success)"
192
+ raw_data: "RUBY0005 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
193
+ - FLAGS: &12
194
+ - - :Answered
195
+ - :Flagged
196
+ - :Draft
197
+ - :Deleted
198
+ - :Seen
199
+ - "$Phishing"
200
+ - "$NotPhishing"
201
+ OK: &13
202
+ - !ruby/struct:Net::IMAP::ResponseText
203
+ code: !ruby/struct:Net::IMAP::ResponseCode
204
+ name: PERMANENTFLAGS
205
+ data: &3
206
+ - :Answered
207
+ - :Flagged
208
+ - :Draft
209
+ - :Deleted
210
+ - :Seen
211
+ - "$Phishing"
212
+ - "$NotPhishing"
213
+ - :*
214
+ text: " Flags permitted."
215
+ - !ruby/struct:Net::IMAP::ResponseText
216
+ code: !ruby/struct:Net::IMAP::ResponseCode
217
+ name: UIDVALIDITY
218
+ data: 11
219
+ text: " UIDs valid."
220
+ - !ruby/struct:Net::IMAP::ResponseText
221
+ code: !ruby/struct:Net::IMAP::ResponseCode
222
+ name: UIDNEXT
223
+ data: 187
224
+ text: " Predicted next UID."
225
+ - !ruby/struct:Net::IMAP::ResponseText
226
+ code: !ruby/struct:Net::IMAP::ResponseCode
227
+ name: HIGHESTMODSEQ
228
+ data: '14589'
229
+ text: ''
230
+ PERMANENTFLAGS: &14
231
+ - *3
232
+ UIDVALIDITY: &15
233
+ - 11
234
+ EXISTS: &16
235
+ - 179
236
+ RECENT: &17
237
+ - 0
238
+ UIDNEXT: &18
239
+ - 187
240
+ HIGHESTMODSEQ: &19
241
+ - '14589'
242
+ UID SEARCH-b19658413e2b63d2bac9c290a67c2cb3:
243
+ - - :return
244
+ - !ruby/struct:Net::IMAP::TaggedResponse
245
+ tag: RUBY0004
246
+ name: OK
247
+ data: !ruby/struct:Net::IMAP::ResponseText
248
+ code:
249
+ text: SEARCH completed (Success)
250
+ raw_data: "RUBY0004 OK SEARCH completed (Success)\r\n"
251
+ - FLAGS: *4
252
+ OK: *5
253
+ PERMANENTFLAGS: *6
254
+ UIDVALIDITY: *7
255
+ EXISTS: *8
256
+ RECENT: *9
257
+ UIDNEXT: *10
258
+ HIGHESTMODSEQ: *11
259
+ SEARCH:
260
+ - - 1
261
+ - 2
262
+ - 3
263
+ - 4
264
+ - 5
265
+ - 6
266
+ - 7
267
+ - 8
268
+ - 9
269
+ - 10
270
+ - 11
271
+ - 12
272
+ - 13
273
+ - 14
274
+ - 15
275
+ - 16
276
+ - 17
277
+ - 18
278
+ - 19
279
+ - 20
280
+ - 21
281
+ - 22
282
+ - 23
283
+ - 24
284
+ - 25
285
+ - 26
286
+ - 27
287
+ - 28
288
+ - 29
289
+ - 30
290
+ - 31
291
+ - 32
292
+ - 33
293
+ - 34
294
+ - 35
295
+ - 36
296
+ - 37
297
+ - 38
298
+ - 39
299
+ - 40
300
+ - 41
301
+ - 42
302
+ - 43
303
+ - 44
304
+ - 45
305
+ - 46
306
+ - 47
307
+ - 48
308
+ - 49
309
+ - 50
310
+ - 51
311
+ - 52
312
+ - 53
313
+ - 54
314
+ - 55
315
+ - 56
316
+ - 57
317
+ - 58
318
+ - 59
319
+ - 60
320
+ - 61
321
+ - 62
322
+ - 63
323
+ - 64
324
+ - 65
325
+ - 66
326
+ - 67
327
+ - 68
328
+ - 69
329
+ - 70
330
+ - 71
331
+ - 72
332
+ - 73
333
+ - 74
334
+ - 75
335
+ - 76
336
+ - 77
337
+ - 78
338
+ - 79
339
+ - 80
340
+ - 81
341
+ - 82
342
+ - 83
343
+ - 84
344
+ - 85
345
+ - 86
346
+ - 87
347
+ - 88
348
+ - 89
349
+ - 90
350
+ - 91
351
+ - 92
352
+ - 93
353
+ - 94
354
+ - 95
355
+ - 96
356
+ - 97
357
+ - 98
358
+ - 99
359
+ - 100
360
+ - 101
361
+ - 102
362
+ - 103
363
+ - 104
364
+ - 105
365
+ - 106
366
+ - 107
367
+ - 108
368
+ - 109
369
+ - 110
370
+ - 111
371
+ - 112
372
+ - 113
373
+ - 114
374
+ - 115
375
+ - 116
376
+ - 117
377
+ - 118
378
+ - 119
379
+ - 120
380
+ - 121
381
+ - 122
382
+ - 123
383
+ - 124
384
+ - 125
385
+ - 126
386
+ - 127
387
+ - 128
388
+ - 129
389
+ - 130
390
+ - 131
391
+ - 132
392
+ - 133
393
+ - 134
394
+ - 135
395
+ - 136
396
+ - 137
397
+ - 138
398
+ - 139
399
+ - 140
400
+ - 141
401
+ - 142
402
+ - 143
403
+ - 144
404
+ - 145
405
+ - 150
406
+ - 151
407
+ - 155
408
+ - 156
409
+ - 157
410
+ - 158
411
+ - 159
412
+ - 160
413
+ - 161
414
+ - 162
415
+ - 163
416
+ - 164
417
+ - 165
418
+ - 166
419
+ - 167
420
+ - 168
421
+ - 169
422
+ - 170
423
+ - 171
424
+ - 172
425
+ - 173
426
+ - 174
427
+ - 175
428
+ - 176
429
+ - 177
430
+ - 178
431
+ - 179
432
+ - 180
433
+ - 181
434
+ - 182
435
+ - 183
436
+ - 184
437
+ - 185
438
+ - 186
439
+ UID FETCH-70e92ae4507a5481cf98aac122edceb8:
440
+ - - :return
441
+ - !ruby/struct:Net::IMAP::TaggedResponse
442
+ tag: RUBY0006
443
+ name: OK
444
+ data: !ruby/struct:Net::IMAP::ResponseText
445
+ code:
446
+ text: Success
447
+ raw_data: "RUBY0006 OK Success\r\n"
448
+ - FLAGS: *12
449
+ OK: *13
450
+ PERMANENTFLAGS: *14
451
+ UIDVALIDITY: *15
452
+ EXISTS: *16
453
+ RECENT: *17
454
+ UIDNEXT: *18
455
+ HIGHESTMODSEQ: *19
456
+ FETCH:
457
+ - !ruby/struct:Net::IMAP::FetchData
458
+ seqno: 1
459
+ attr:
460
+ X-GM-THRID: 1490339162618061913
461
+ X-GM-MSGID: 1490339162618061913
462
+ X-GM-LABELS:
463
+ - "\\Inbox"
464
+ UID: 1
465
+ FLAGS:
466
+ - :Seen
467
+ ENVELOPE: !ruby/struct:Net::IMAP::Envelope
468
+ date: Wed, 14 Jan 2015 21:03:01 -0800
469
+ subject: Three tips to get the most out of Gmail
470
+ from:
471
+ - !ruby/struct:Net::IMAP::Address
472
+ name: Gmail Team
473
+ route:
474
+ mailbox: mail-noreply
475
+ host: google.com
476
+ sender:
477
+ - !ruby/struct:Net::IMAP::Address
478
+ name: Gmail Team
479
+ route:
480
+ mailbox: mail-noreply
481
+ host: google.com
482
+ reply_to:
483
+ - !ruby/struct:Net::IMAP::Address
484
+ name: Gmail Team
485
+ route:
486
+ mailbox: mail-noreply
487
+ host: google.com
488
+ to:
489
+ - !ruby/struct:Net::IMAP::Address
490
+ name: John Doe
491
+ route:
492
+ mailbox: ki0zvkyi1yzgy7xu4f4dh46nqrcecm
493
+ host: gmail.com
494
+ cc:
495
+ bcc:
496
+ in_reply_to:
497
+ message_id: "<CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>"
498
+ BODY[]: "MIME-Version: 1.0\r\nx-no-auto-attachment: 1\r\nReceived: by 10.70.87.10;
499
+ Wed, 14 Jan 2015 21:03:01 -0800 (PST)\r\nDate: Wed, 14 Jan 2015 21:03:01
500
+ -0800\r\nMessage-ID: <CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>\r\nSubject:
501
+ Three tips to get the most out of Gmail\r\nFrom: Gmail Team <mail-noreply@google.com>\r\nTo:
502
+ John Doe <ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com>\r\nContent-Type: multipart/alternative;
503
+ boundary=bcaec51dcff73ca5e9050ca9c59a\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
504
+ text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n
505
+ Three tips to get the most out of Gmail\r\n[image: Google]\r\n\r\nHi John\r\n\r\nTips
506
+ to get the most out of Gmail\r\n\r\n[image: Contacts]\r\nBring your contacts
507
+ and mail into Gmail\r\n\r\nOn your computer, you can copy your contacts
508
+ and emails from your old email\r\naccount to make the transition to Gmail
509
+ even better. Learn how\r\n<https://support.google.com/mail/answer/164640?hl=3Den&ref_topic=3D1669014>=\r\n.\r\n[image:
510
+ Search]\r\nFind what you need fast\r\n\r\nWith the power of Google Search
511
+ right in your inbox, it's easy to sort your\r\nemail. Find what you're looking
512
+ for with predictions based on email\r\ncontent, past searches and contacts.\r\n[image:
513
+ Search]\r\nMuch more than email\r\n\r\nYou can send text messages and make
514
+ video calls with Hangouts\r\n<https://www.google.com/intl/en/hangouts/>
515
+ right from Gmail. To use this\r\nfeature on mobile, download the Hangouts
516
+ app for Android\r\n<https://play.google.com/store/apps/details?id=3Dcom.google.android.talk&hl=\r\n=3Den>\r\nand
517
+ Apple <https://itunes.apple.com/en/app/hangouts/id643496868?mt=3D8>\r\ndevices.\r\n\r\n\r\n[image:
518
+ Gmail icon]Happy emailing,\r\nThe Gmail Team\r\n =C2=A9 2015 Google Inc.
519
+ 1600 Amphitheatre Parkway, Mountain View, CA 94043\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
520
+ text/html; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n<!DOCTYPE
521
+ html>\r\n<html><head><meta http-equiv=3D\"content-type\" content=3D\"text/html;charset=\r\n=3DUTF-8\"
522
+ /><title>Three tips to get the most out of Gmail</title></head><b=\r\nody
523
+ style=3D\"background-color:#e5e5e5; margin:20px 0;\"><br /><div style=3D\"=\r\nmargin:2%;\"><div
524
+ style=3D\"direction:ltr; text-align:left; font-family:'Open=\r\n sans','Arial',sans-serif;
525
+ color:#444; background-color:white; padding:1.5e=\r\nm; border-radius:1em;
526
+ box-shadow:1px -5px 8px 2px #bbb; max-width:580px; ma=\r\nrgin:2% auto 0
527
+ auto;\"><table style=3D\"background:white;width:100%\"><tr><td>=\r\n<div
528
+ style=3D\"width:90px; height:54px; margin:10px auto;\"><img src=3D\"https=\r\n://services.google.com/fh/files/emails/google_logo_flat_90_color.png\"
529
+ alt=\r\n=3D\"Google\" width=3D\"90\" height=3D\"34\"/></div><div style=3D\"width:90%;
530
+ padd=\r\ning-bottom:10px; padding-left:15px\"><p><img alt=3D\"\" src=3D\"https://ssl.gst=\r\natic.com/accounts/services/mail/msa/gmail_icon_small.png\"
531
+ style=3D\"display:=\r\nblock; float:left; margin-top:4px; margin-right:5px;\"/><span
532
+ style=3D\"font-=\r\nfamily:'Open sans','Arial',sans-serif; font-weight:bold;
533
+ font-size:small; l=\r\nine-height:1.4em\">Hi John</span></p><p><span style=3D\"font-family:'Open
534
+ san=\r\ns','Arial',sans-serif; font-size:2.08em;\">Tips to get the most
535
+ out of Gmail=\r\n</span><br/></p></div><p></p><div style=3D\"float:left;
536
+ clear:both; padding:=\r\n0px 5px 10px 10px;\"><img src=3D\"https://services.google.com/fh/files/emails=\r\n/importcontacts.png\"
537
+ alt=3D\"Contacts\" style=3D\"display:block;\"width=3D\"129\"=\r\nheight=3D\"129\"/></div><div
538
+ style=3D\"float:left; vertical-align:middle; padd=\r\ning:10px; max-width:398px;
539
+ float:left;\"><table style=3D\"vertical-align:midd=\r\nle;\"><tr><td style=3D\"font-family:'Open
540
+ sans','Arial',sans-serif;\"><span st=\r\nyle=3D\"font-size:20px;\">Bring
541
+ your contacts and mail into Gmail</span><br/>=\r\n<br/><span style=3D\"font-size:small;
542
+ line-height:1.4em\">On your computer, y=\r\nou can copy your contacts and
543
+ emails from your old email account to make th=\r\ne transition to Gmail
544
+ even better. <a href=3D\"https://support.google.com/ma=\r\nil/answer/164640?hl=3Den&amp;ref_topic=3D1669014\"
545
+ style=3D\"text-decoration:=\r\nnone; color:#15C\">Learn how</a>.</span></td></tr></table></div><div
546
+ style=\r\n=3D\"float:left; clear:both; padding:0px 5px 10px 10px;\"><img
547
+ src=3D\"https:/=\r\n/ssl.gstatic.com/mail/welcome/localized/en/welcome_search.png\"
548
+ alt=3D\"Searc=\r\nh\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
549
+ style=3D=\r\n\"float:left; vertical-align:middle; padding:10px; max-width:398px;
550
+ float:le=\r\nft;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-family:'=\r\nOpen
551
+ sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Find what
552
+ y=\r\nou need fast</span><br/><br/><span style=3D\"font-size:small; line-height:1.=\r\n4em\">With
553
+ the power of Google Search right in your inbox, it's easy to sort=\r\n your
554
+ email. Find what you're looking for with predictions based on email c=\r\nontent,
555
+ past searches and contacts.</span></td></tr></table></div><div styl=\r\ne=3D\"float:left;
556
+ clear:both; padding:0px 5px 10px 10px;\"><img src=3D\"https:=\r\n//ssl.gstatic.com/accounts/services/mail/msa/welcome_hangouts.png\"
557
+ alt=3D\"S=\r\nearch\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
558
+ styl=\r\ne=3D\"float:left; vertical-align:middle; padding:10px; max-width:398px;
559
+ floa=\r\nt:left;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-fami=\r\nly:'Open
560
+ sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Much mo=\r\nre
561
+ than email</span><br/><br/><span style=3D\"font-size:small; line-height:1=\r\n.4em\">You
562
+ can send text messages and make video calls with <a href=3D\"https=\r\n://www.google.com/intl/en/hangouts/\"
563
+ style=3D\"text-decoration:none; color:#=\r\n15C\">Hangouts</a> right from
564
+ Gmail. To use this feature on mobile, download=\r\n the Hangouts app for
565
+ <a href=3D\"https://play.google.com/store/apps/details=\r\n?id=3Dcom.google.android.talk&amp;hl=3Den\"
566
+ style=3D\"text-decoration:none; c=\r\nolor:#15C\">Android</a> and <a href=3D\"https://itunes.apple.com/en/app/hango=\r\nuts/id643496868?mt=3D8\"
567
+ style=3D\"text-decoration:none; color:#15C\">Apple</a=\r\n> devices.</span></td></tr></table></div><br/><br/>\r\n<div
568
+ style=3D\"clear:both; padding-left:13px; height:6.8em;\"><table style=3D=\r\n\"width:100%;
569
+ border-collapse:collapse; border:0\"><tr><td style=3D\"width:68p=\r\nx\"><img
570
+ alt=3D'Gmail icon' width=3D\"49\" height=3D\"37\" src=3D\"https://ssl.gs=\r\ntatic.com/accounts/services/mail/msa/gmail_icon_large.png\"
571
+ style=3D\"display=\r\n:block;\"/></td><td style=3D\"align:left; font-family:'Open
572
+ sans','Arial',san=\r\ns-serif; vertical-align:bottom\"><span style=3D\"font-size:small\">Happy
573
+ email=\r\ning,<br/></span><span style=3D\"font-size:x-large; line-height:1\">The
574
+ Gmail =\r\nTeam</span></td></tr></table></div>\r\n</td></tr></table></div>\r\n<div
575
+ style=3D\"direction:ltr;color:#777; font-size:0.8em; border-radius:1em;=\r\n
576
+ padding:1em; margin:0 auto 4% auto; font-family:'Arial','Helvetica',sans-s=\r\nerif;
577
+ text-align:center;\">=C2=A9 2015 Google Inc. 1600 Amphitheatre Parkway=\r\n,
578
+ Mountain View, CA 94043<br/></div></div></body></html>\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a--"