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