gmail 0.6.0 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (94) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +27 -27
  4. data/.rspec +1 -1
  5. data/.rubocop.yml +53 -13
  6. data/.rubocop_todo.yml +299 -239
  7. data/.travis.yml +19 -19
  8. data/CHANGELOG.md +152 -145
  9. data/Gemfile +5 -3
  10. data/LICENSE +21 -21
  11. data/README.md +380 -355
  12. data/Rakefile +44 -46
  13. data/gmail.gemspec +32 -34
  14. data/lib/gmail.rb +72 -78
  15. data/lib/gmail/client.rb +35 -34
  16. data/lib/gmail/client/base.rb +244 -229
  17. data/lib/gmail/client/plain.rb +24 -24
  18. data/lib/gmail/client/xoauth.rb +67 -68
  19. data/lib/gmail/client/xoauth2.rb +39 -39
  20. data/lib/gmail/imap_extensions.rb +156 -159
  21. data/lib/gmail/labels.rb +80 -79
  22. data/lib/gmail/mailbox.rb +178 -175
  23. data/lib/gmail/message.rb +212 -207
  24. data/lib/gmail/version.rb +3 -3
  25. data/spec/account.yml.example +1 -1
  26. data/spec/account.yml.obfus +2 -2
  27. data/spec/gmail/client/base_spec.rb +5 -5
  28. data/spec/gmail/client/plain_spec.rb +169 -169
  29. data/spec/gmail/client/xoauth2_spec.rb +186 -186
  30. data/spec/gmail/client/xoauth_spec.rb +5 -5
  31. data/spec/gmail/client_spec.rb +5 -5
  32. data/spec/gmail/imap_extensions_spec.rb +47 -47
  33. data/spec/gmail/labels_spec.rb +27 -27
  34. data/spec/gmail/mailbox_spec.rb +84 -84
  35. data/spec/gmail/message_spec.rb +181 -181
  36. data/spec/gmail_spec.rb +40 -39
  37. data/spec/recordings/gmail/_new_connects_with_client_and_give_it_context_when_block_given.yml +61 -28
  38. data/spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml +43 -28
  39. data/spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml +21 -13
  40. data/spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml +21 -13
  41. data/spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml +61 -42
  42. data/spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +21 -13
  43. data/spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml +21 -13
  44. data/spec/recordings/gmail_client_plain/instance/labels/checks_if_there_is_given_label_defined.yml +409 -196
  45. data/spec/recordings/gmail_client_plain/instance/labels/creates_given_label.yml +280 -151
  46. data/spec/recordings/gmail_client_plain/instance/labels/removes_existing_label.yml +271 -146
  47. data/spec/recordings/gmail_client_plain/instance/labels/returns_list_of_all_available_labels.yml +227 -113
  48. data/spec/recordings/gmail_client_plain/instance/properly_logs_in_to_valid_gmail_account.yml +61 -42
  49. data/spec/recordings/gmail_client_plain/instance/properly_logs_out_from_gmail.yml +61 -42
  50. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox.yml +164 -109
  51. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox_using_block_style.yml +164 -109
  52. data/spec/recordings/gmail_client_plain/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +21 -13
  53. data/spec/recordings/gmail_client_xo_auth2/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +24 -13
  54. data/spec/recordings/gmail_client_xo_auth2/instance/labels/checks_if_there_is_given_label_defined.yml +39 -27
  55. data/spec/recordings/gmail_client_xo_auth2/instance/labels/creates_given_label.yml +52 -39
  56. data/spec/recordings/gmail_client_xo_auth2/instance/labels/removes_existing_label.yml +52 -39
  57. data/spec/recordings/gmail_client_xo_auth2/instance/labels/returns_list_of_all_available_labels.yml +39 -27
  58. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_in_to_valid_gmail_account.yml +26 -15
  59. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_out_from_gmail.yml +26 -15
  60. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox.yml +63 -40
  61. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox_using_block_style.yml +63 -40
  62. data/spec/recordings/gmail_client_xo_auth2/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +24 -13
  63. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/all/localizes_into_the_appropriate_label.yml +229 -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 +229 -110
  65. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/drafts/localizes_into_the_appropriate_label.yml +229 -116
  66. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/flagged/localizes_into_the_appropriate_label.yml +229 -116
  67. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/important/localizes_into_the_appropriate_label.yml +229 -116
  68. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/inbox/localizes_into_the_appropriate_label.yml +61 -42
  69. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/junk/localizes_into_the_appropriate_label.yml +229 -116
  70. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/sent/localizes_into_the_appropriate_label.yml +229 -116
  71. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/trash/localizes_into_the_appropriate_label.yml +229 -116
  72. data/spec/recordings/gmail_mailbox/instance/counts_all_emails.yml +595 -277
  73. data/spec/recordings/gmail_mailbox/instance/finds_messages.yml +1049 -586
  74. data/spec/recordings/gmail_mailbox/instance/waits_once.yml +191 -136
  75. data/spec/recordings/gmail_mailbox/instance/waits_repeatedly.yml +217 -141
  76. data/spec/recordings/gmail_mailbox/instance/waits_with_29-minute_re-issue.yml +188 -136
  77. data/spec/recordings/gmail_mailbox/instance/waits_with_an_unblocked_connection.yml +644 -207
  78. data/spec/recordings/gmail_mailbox/on_initialize/sets_client_and_name.yml +61 -42
  79. data/spec/recordings/gmail_mailbox/on_initialize/works_in_inbox_by_default.yml +61 -42
  80. data/spec/recordings/gmail_message/initialize/sets_prefetch_attrs.yml +1068 -578
  81. data/spec/recordings/gmail_message/initialize/sets_uid_and_mailbox.yml +1068 -580
  82. data/spec/recordings/gmail_message/instance_methods/deletes_itself.yml +1084 -637
  83. data/spec/recordings/gmail_message/instance_methods/marks_itself_read.yml +1137 -682
  84. data/spec/recordings/gmail_message/instance_methods/marks_itself_unread.yml +1153 -686
  85. data/spec/recordings/gmail_message/instance_methods/moves_from_one_tag_to_other.yml +1447 -862
  86. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label.yml +1288 -776
  87. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label_with_old_method.yml +1288 -776
  88. data/spec/recordings/gmail_message/instance_methods/sets_given_label.yml +1165 -690
  89. data/spec/recordings/gmail_message/instance_methods/sets_given_label_with_old_method.yml +1157 -691
  90. data/spec/spec_helper.rb +56 -53
  91. data/spec/support/imap_mock.rb +181 -181
  92. data/spec/support/obfuscation.rb +49 -52
  93. metadata +21 -90
  94. data/spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml +0 -42
@@ -1,580 +1,1068 @@
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: 190
165
- text: " Predicted next UID."
166
- - !ruby/struct:Net::IMAP::ResponseText
167
- code: !ruby/struct:Net::IMAP::ResponseCode
168
- name: HIGHESTMODSEQ
169
- data: '14699'
170
- text: ''
171
- PERMANENTFLAGS: &6
172
- - *2
173
- UIDVALIDITY: &7
174
- - 11
175
- EXISTS: &8
176
- - 181
177
- RECENT: &9
178
- - 0
179
- UIDNEXT: &10
180
- - 190
181
- HIGHESTMODSEQ: &11
182
- - '14699'
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: 190
224
- text: " Predicted next UID."
225
- - !ruby/struct:Net::IMAP::ResponseText
226
- code: !ruby/struct:Net::IMAP::ResponseCode
227
- name: HIGHESTMODSEQ
228
- data: '14699'
229
- text: ''
230
- PERMANENTFLAGS: &14
231
- - *3
232
- UIDVALIDITY: &15
233
- - 11
234
- EXISTS: &16
235
- - 181
236
- RECENT: &17
237
- - 0
238
- UIDNEXT: &18
239
- - 190
240
- HIGHESTMODSEQ: &19
241
- - '14699'
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
- - 188
440
- - 189
441
- UID FETCH-70e92ae4507a5481cf98aac122edceb8:
442
- - - :return
443
- - !ruby/struct:Net::IMAP::TaggedResponse
444
- tag: RUBY0006
445
- name: OK
446
- data: !ruby/struct:Net::IMAP::ResponseText
447
- code:
448
- text: Success
449
- raw_data: "RUBY0006 OK Success\r\n"
450
- - FLAGS: *12
451
- OK: *13
452
- PERMANENTFLAGS: *14
453
- UIDVALIDITY: *15
454
- EXISTS: *16
455
- RECENT: *17
456
- UIDNEXT: *18
457
- HIGHESTMODSEQ: *19
458
- FETCH:
459
- - !ruby/struct:Net::IMAP::FetchData
460
- seqno: 1
461
- attr:
462
- X-GM-THRID: 1490339162618061913
463
- X-GM-MSGID: 1490339162618061913
464
- X-GM-LABELS:
465
- - "\\Inbox"
466
- UID: 1
467
- FLAGS:
468
- - :Seen
469
- ENVELOPE: !ruby/struct:Net::IMAP::Envelope
470
- date: Wed, 14 Jan 2015 21:03:01 -0800
471
- subject: Three tips to get the most out of Gmail
472
- from:
473
- - !ruby/struct:Net::IMAP::Address
474
- name: Gmail Team
475
- route:
476
- mailbox: mail-noreply
477
- host: google.com
478
- sender:
479
- - !ruby/struct:Net::IMAP::Address
480
- name: Gmail Team
481
- route:
482
- mailbox: mail-noreply
483
- host: google.com
484
- reply_to:
485
- - !ruby/struct:Net::IMAP::Address
486
- name: Gmail Team
487
- route:
488
- mailbox: mail-noreply
489
- host: google.com
490
- to:
491
- - !ruby/struct:Net::IMAP::Address
492
- name: John Doe
493
- route:
494
- mailbox: ki0zvkyi1yzgy7xu4f4dh46nqrcecm
495
- host: gmail.com
496
- cc:
497
- bcc:
498
- in_reply_to:
499
- message_id: "<CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>"
500
- BODY[]: "MIME-Version: 1.0\r\nx-no-auto-attachment: 1\r\nReceived: by 10.70.87.10;
501
- Wed, 14 Jan 2015 21:03:01 -0800 (PST)\r\nDate: Wed, 14 Jan 2015 21:03:01
502
- -0800\r\nMessage-ID: <CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>\r\nSubject:
503
- Three tips to get the most out of Gmail\r\nFrom: Gmail Team <mail-noreply@google.com>\r\nTo:
504
- John Doe <ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com>\r\nContent-Type: multipart/alternative;
505
- boundary=bcaec51dcff73ca5e9050ca9c59a\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
506
- text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n
507
- Three tips to get the most out of Gmail\r\n[image: Google]\r\n\r\nHi John\r\n\r\nTips
508
- to get the most out of Gmail\r\n\r\n[image: Contacts]\r\nBring your contacts
509
- and mail into Gmail\r\n\r\nOn your computer, you can copy your contacts
510
- and emails from your old email\r\naccount to make the transition to Gmail
511
- even better. Learn how\r\n<https://support.google.com/mail/answer/164640?hl=3Den&ref_topic=3D1669014>=\r\n.\r\n[image:
512
- Search]\r\nFind what you need fast\r\n\r\nWith the power of Google Search
513
- right in your inbox, it's easy to sort your\r\nemail. Find what you're looking
514
- for with predictions based on email\r\ncontent, past searches and contacts.\r\n[image:
515
- Search]\r\nMuch more than email\r\n\r\nYou can send text messages and make
516
- video calls with Hangouts\r\n<https://www.google.com/intl/en/hangouts/>
517
- right from Gmail. To use this\r\nfeature on mobile, download the Hangouts
518
- app for Android\r\n<https://play.google.com/store/apps/details?id=3Dcom.google.android.talk&hl=\r\n=3Den>\r\nand
519
- Apple <https://itunes.apple.com/en/app/hangouts/id643496868?mt=3D8>\r\ndevices.\r\n\r\n\r\n[image:
520
- Gmail icon]Happy emailing,\r\nThe Gmail Team\r\n =C2=A9 2015 Google Inc.
521
- 1600 Amphitheatre Parkway, Mountain View, CA 94043\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
522
- text/html; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n<!DOCTYPE
523
- html>\r\n<html><head><meta http-equiv=3D\"content-type\" content=3D\"text/html;charset=\r\n=3DUTF-8\"
524
- /><title>Three tips to get the most out of Gmail</title></head><b=\r\nody
525
- style=3D\"background-color:#e5e5e5; margin:20px 0;\"><br /><div style=3D\"=\r\nmargin:2%;\"><div
526
- style=3D\"direction:ltr; text-align:left; font-family:'Open=\r\n sans','Arial',sans-serif;
527
- color:#444; background-color:white; padding:1.5e=\r\nm; border-radius:1em;
528
- box-shadow:1px -5px 8px 2px #bbb; max-width:580px; ma=\r\nrgin:2% auto 0
529
- auto;\"><table style=3D\"background:white;width:100%\"><tr><td>=\r\n<div
530
- 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\"
531
- alt=\r\n=3D\"Google\" width=3D\"90\" height=3D\"34\"/></div><div style=3D\"width:90%;
532
- 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\"
533
- style=3D\"display:=\r\nblock; float:left; margin-top:4px; margin-right:5px;\"/><span
534
- style=3D\"font-=\r\nfamily:'Open sans','Arial',sans-serif; font-weight:bold;
535
- font-size:small; l=\r\nine-height:1.4em\">Hi John</span></p><p><span style=3D\"font-family:'Open
536
- san=\r\ns','Arial',sans-serif; font-size:2.08em;\">Tips to get the most
537
- out of Gmail=\r\n</span><br/></p></div><p></p><div style=3D\"float:left;
538
- clear:both; padding:=\r\n0px 5px 10px 10px;\"><img src=3D\"https://services.google.com/fh/files/emails=\r\n/importcontacts.png\"
539
- alt=3D\"Contacts\" style=3D\"display:block;\"width=3D\"129\"=\r\nheight=3D\"129\"/></div><div
540
- style=3D\"float:left; vertical-align:middle; padd=\r\ning:10px; max-width:398px;
541
- float:left;\"><table style=3D\"vertical-align:midd=\r\nle;\"><tr><td style=3D\"font-family:'Open
542
- sans','Arial',sans-serif;\"><span st=\r\nyle=3D\"font-size:20px;\">Bring
543
- your contacts and mail into Gmail</span><br/>=\r\n<br/><span style=3D\"font-size:small;
544
- line-height:1.4em\">On your computer, y=\r\nou can copy your contacts and
545
- emails from your old email account to make th=\r\ne transition to Gmail
546
- even better. <a href=3D\"https://support.google.com/ma=\r\nil/answer/164640?hl=3Den&amp;ref_topic=3D1669014\"
547
- style=3D\"text-decoration:=\r\nnone; color:#15C\">Learn how</a>.</span></td></tr></table></div><div
548
- style=\r\n=3D\"float:left; clear:both; padding:0px 5px 10px 10px;\"><img
549
- src=3D\"https:/=\r\n/ssl.gstatic.com/mail/welcome/localized/en/welcome_search.png\"
550
- alt=3D\"Searc=\r\nh\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
551
- style=3D=\r\n\"float:left; vertical-align:middle; padding:10px; max-width:398px;
552
- float:le=\r\nft;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-family:'=\r\nOpen
553
- sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Find what
554
- y=\r\nou need fast</span><br/><br/><span style=3D\"font-size:small; line-height:1.=\r\n4em\">With
555
- the power of Google Search right in your inbox, it's easy to sort=\r\n your
556
- email. Find what you're looking for with predictions based on email c=\r\nontent,
557
- past searches and contacts.</span></td></tr></table></div><div styl=\r\ne=3D\"float:left;
558
- clear:both; padding:0px 5px 10px 10px;\"><img src=3D\"https:=\r\n//ssl.gstatic.com/accounts/services/mail/msa/welcome_hangouts.png\"
559
- alt=3D\"S=\r\nearch\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
560
- styl=\r\ne=3D\"float:left; vertical-align:middle; padding:10px; max-width:398px;
561
- floa=\r\nt:left;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-fami=\r\nly:'Open
562
- sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Much mo=\r\nre
563
- than email</span><br/><br/><span style=3D\"font-size:small; line-height:1=\r\n.4em\">You
564
- can send text messages and make video calls with <a href=3D\"https=\r\n://www.google.com/intl/en/hangouts/\"
565
- style=3D\"text-decoration:none; color:#=\r\n15C\">Hangouts</a> right from
566
- Gmail. To use this feature on mobile, download=\r\n the Hangouts app for
567
- <a href=3D\"https://play.google.com/store/apps/details=\r\n?id=3Dcom.google.android.talk&amp;hl=3Den\"
568
- 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\"
569
- style=3D\"text-decoration:none; color:#15C\">Apple</a=\r\n> devices.</span></td></tr></table></div><br/><br/>\r\n<div
570
- style=3D\"clear:both; padding-left:13px; height:6.8em;\"><table style=3D=\r\n\"width:100%;
571
- border-collapse:collapse; border:0\"><tr><td style=3D\"width:68p=\r\nx\"><img
572
- 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\"
573
- style=3D\"display=\r\n:block;\"/></td><td style=3D\"align:left; font-family:'Open
574
- sans','Arial',san=\r\ns-serif; vertical-align:bottom\"><span style=3D\"font-size:small\">Happy
575
- email=\r\ning,<br/></span><span style=3D\"font-size:x-large; line-height:1\">The
576
- Gmail =\r\nTeam</span></td></tr></table></div>\r\n</td></tr></table></div>\r\n<div
577
- style=3D\"direction:ltr;color:#777; font-size:0.8em; border-radius:1em;=\r\n
578
- padding:1em; margin:0 auto 4% auto; font-family:'Arial','Helvetica',sans-s=\r\nerif;
579
- text-align:center;\">=C2=A9 2015 Google Inc. 1600 Amphitheatre Parkway=\r\n,
580
- 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: &2 !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: &3
13
+ - &1
14
+ - IMAP4REV1
15
+ - UNSELECT
16
+ - IDLE
17
+ - NAMESPACE
18
+ - QUOTA
19
+ - ID
20
+ - XLIST
21
+ - CHILDREN
22
+ - X-GM-EXT-1
23
+ - UIDPLUS
24
+ - COMPRESS=DEFLATE
25
+ - ENABLE
26
+ - MOVE
27
+ - CONDSTORE
28
+ - ESEARCH
29
+ - UTF8=ACCEPT
30
+ - LIST-EXTENDED
31
+ - LIST-STATUS
32
+ - - !ruby/struct:Net::IMAP::UntaggedResponse
33
+ name: CAPABILITY
34
+ data: *1
35
+ raw_data: "* CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN
36
+ X-GM-EXT-1 UIDPLUS COMPRESS=DEFLATE ENABLE MOVE CONDSTORE ESEARCH UTF8=ACCEPT
37
+ LIST-EXTENDED LIST-STATUS\r\n"
38
+ - !ruby/struct:Net::IMAP::TaggedResponse
39
+ tag: RUBY0001
40
+ name: OK
41
+ data: *2
42
+ raw_data: "RUBY0001 OK ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com authenticated
43
+ (Success)\r\n"
44
+ LIST-b30698c3407aff5520448484b159fc07:
45
+ - - :return
46
+ - !ruby/struct:Net::IMAP::TaggedResponse
47
+ tag: RUBY0002
48
+ name: OK
49
+ data: &20 !ruby/struct:Net::IMAP::ResponseText
50
+ code:
51
+ text: Success
52
+ raw_data: "RUBY0002 OK Success\r\n"
53
+ - CAPABILITY: *3
54
+ LIST:
55
+ - &4 !ruby/struct:Net::IMAP::MailboxList
56
+ attr:
57
+ - :Hasnochildren
58
+ delim: "/"
59
+ name: Awesome
60
+ - &5 !ruby/struct:Net::IMAP::MailboxList
61
+ attr:
62
+ - :Hasnochildren
63
+ delim: "/"
64
+ name: Great
65
+ - &6 !ruby/struct:Net::IMAP::MailboxList
66
+ attr:
67
+ - :Hasnochildren
68
+ delim: "/"
69
+ name: INBOX
70
+ - &7 !ruby/struct:Net::IMAP::MailboxList
71
+ attr:
72
+ - :Hasnochildren
73
+ delim: "/"
74
+ name: Ni&APE-os
75
+ - &8 !ruby/struct:Net::IMAP::MailboxList
76
+ attr:
77
+ - :Haschildren
78
+ - :Noselect
79
+ delim: "/"
80
+ name: "[Gmail]"
81
+ - &9 !ruby/struct:Net::IMAP::MailboxList
82
+ attr:
83
+ - :All
84
+ - :Hasnochildren
85
+ delim: "/"
86
+ name: "[Gmail]/All Mail"
87
+ - &10 !ruby/struct:Net::IMAP::MailboxList
88
+ attr:
89
+ - :Drafts
90
+ - :Hasnochildren
91
+ delim: "/"
92
+ name: "[Gmail]/Drafts"
93
+ - &11 !ruby/struct:Net::IMAP::MailboxList
94
+ attr:
95
+ - :Hasnochildren
96
+ - :Important
97
+ delim: "/"
98
+ name: "[Gmail]/Important"
99
+ - &12 !ruby/struct:Net::IMAP::MailboxList
100
+ attr:
101
+ - :Hasnochildren
102
+ - :Sent
103
+ delim: "/"
104
+ name: "[Gmail]/Sent Mail"
105
+ - &13 !ruby/struct:Net::IMAP::MailboxList
106
+ attr:
107
+ - :Hasnochildren
108
+ - :Junk
109
+ delim: "/"
110
+ name: "[Gmail]/Spam"
111
+ - &14 !ruby/struct:Net::IMAP::MailboxList
112
+ attr:
113
+ - :Flagged
114
+ - :Hasnochildren
115
+ delim: "/"
116
+ name: "[Gmail]/Starred"
117
+ - &15 !ruby/struct:Net::IMAP::MailboxList
118
+ attr:
119
+ - :Hasnochildren
120
+ - :Trash
121
+ delim: "/"
122
+ name: "[Gmail]/Trash"
123
+ - &16 !ruby/struct:Net::IMAP::MailboxList
124
+ attr:
125
+ - :Hasnochildren
126
+ delim: "/"
127
+ name: "\\Junk"
128
+ - &17 !ruby/struct:Net::IMAP::MailboxList
129
+ attr:
130
+ - :Hasnochildren
131
+ delim: "/"
132
+ name: one's and two's
133
+ - &18 !ruby/struct:Net::IMAP::MailboxList
134
+ attr:
135
+ - :Hasnochildren
136
+ delim: "/"
137
+ name: some new label
138
+ - &19 !ruby/struct:Net::IMAP::MailboxList
139
+ attr:
140
+ - :Hasnochildren
141
+ delim: "/"
142
+ name: some other label
143
+ - - !ruby/struct:Net::IMAP::UntaggedResponse
144
+ name: LIST
145
+ data: *4
146
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"Awesome\"\r\n"
147
+ - !ruby/struct:Net::IMAP::UntaggedResponse
148
+ name: LIST
149
+ data: *5
150
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"Great\"\r\n"
151
+ - !ruby/struct:Net::IMAP::UntaggedResponse
152
+ name: LIST
153
+ data: *6
154
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"INBOX\"\r\n"
155
+ - !ruby/struct:Net::IMAP::UntaggedResponse
156
+ name: LIST
157
+ data: *7
158
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"Ni&APE-os\"\r\n"
159
+ - !ruby/struct:Net::IMAP::UntaggedResponse
160
+ name: LIST
161
+ data: *8
162
+ raw_data: "* LIST (\\HasChildren \\Noselect) \"/\" \"[Gmail]\"\r\n"
163
+ - !ruby/struct:Net::IMAP::UntaggedResponse
164
+ name: LIST
165
+ data: *9
166
+ raw_data: "* LIST (\\All \\HasNoChildren) \"/\" \"[Gmail]/All Mail\"\r\n"
167
+ - !ruby/struct:Net::IMAP::UntaggedResponse
168
+ name: LIST
169
+ data: *10
170
+ raw_data: "* LIST (\\Drafts \\HasNoChildren) \"/\" \"[Gmail]/Drafts\"\r\n"
171
+ - !ruby/struct:Net::IMAP::UntaggedResponse
172
+ name: LIST
173
+ data: *11
174
+ raw_data: "* LIST (\\HasNoChildren \\Important) \"/\" \"[Gmail]/Important\"\r\n"
175
+ - !ruby/struct:Net::IMAP::UntaggedResponse
176
+ name: LIST
177
+ data: *12
178
+ raw_data: "* LIST (\\HasNoChildren \\Sent) \"/\" \"[Gmail]/Sent Mail\"\r\n"
179
+ - !ruby/struct:Net::IMAP::UntaggedResponse
180
+ name: LIST
181
+ data: *13
182
+ raw_data: "* LIST (\\HasNoChildren \\Junk) \"/\" \"[Gmail]/Spam\"\r\n"
183
+ - !ruby/struct:Net::IMAP::UntaggedResponse
184
+ name: LIST
185
+ data: *14
186
+ raw_data: "* LIST (\\Flagged \\HasNoChildren) \"/\" \"[Gmail]/Starred\"\r\n"
187
+ - !ruby/struct:Net::IMAP::UntaggedResponse
188
+ name: LIST
189
+ data: *15
190
+ raw_data: "* LIST (\\HasNoChildren \\Trash) \"/\" \"[Gmail]/Trash\"\r\n"
191
+ - !ruby/struct:Net::IMAP::UntaggedResponse
192
+ name: LIST
193
+ data: *16
194
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"\\\\Junk\"\r\n"
195
+ - !ruby/struct:Net::IMAP::UntaggedResponse
196
+ name: LIST
197
+ data: *17
198
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"one's and two's\"\r\n"
199
+ - !ruby/struct:Net::IMAP::UntaggedResponse
200
+ name: LIST
201
+ data: *18
202
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"some new label\"\r\n"
203
+ - !ruby/struct:Net::IMAP::UntaggedResponse
204
+ name: LIST
205
+ data: *19
206
+ raw_data: "* LIST (\\HasNoChildren) \"/\" \"some other label\"\r\n"
207
+ - !ruby/struct:Net::IMAP::TaggedResponse
208
+ tag: RUBY0002
209
+ name: OK
210
+ data: *20
211
+ raw_data: "RUBY0002 OK Success\r\n"
212
+ SELECT-868fce8856c91e50bebd43b4dbd8e071:
213
+ - - :return
214
+ - !ruby/struct:Net::IMAP::TaggedResponse
215
+ tag: RUBY0003
216
+ name: OK
217
+ data: &27 !ruby/struct:Net::IMAP::ResponseText
218
+ code: !ruby/struct:Net::IMAP::ResponseCode
219
+ name: READ-WRITE
220
+ data:
221
+ text: " [Gmail]/All Mail selected. (Success)"
222
+ raw_data: "RUBY0003 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
223
+ - FLAGS: &35
224
+ - &22
225
+ - :Answered
226
+ - :Flagged
227
+ - :Draft
228
+ - :Deleted
229
+ - :Seen
230
+ - "$NotPhishing"
231
+ - "$Phishing"
232
+ OK: &36
233
+ - &23 !ruby/struct:Net::IMAP::ResponseText
234
+ code: !ruby/struct:Net::IMAP::ResponseCode
235
+ name: PERMANENTFLAGS
236
+ data: &21
237
+ - :Answered
238
+ - :Flagged
239
+ - :Draft
240
+ - :Deleted
241
+ - :Seen
242
+ - "$NotPhishing"
243
+ - "$Phishing"
244
+ - :*
245
+ text: " Flags permitted."
246
+ - &24 !ruby/struct:Net::IMAP::ResponseText
247
+ code: !ruby/struct:Net::IMAP::ResponseCode
248
+ name: UIDVALIDITY
249
+ data: 11
250
+ text: " UIDs valid."
251
+ - &25 !ruby/struct:Net::IMAP::ResponseText
252
+ code: !ruby/struct:Net::IMAP::ResponseCode
253
+ name: UIDNEXT
254
+ data: 398
255
+ text: " Predicted next UID."
256
+ - &26 !ruby/struct:Net::IMAP::ResponseText
257
+ code: !ruby/struct:Net::IMAP::ResponseCode
258
+ name: HIGHESTMODSEQ
259
+ data: '24049'
260
+ text: ''
261
+ PERMANENTFLAGS: &37
262
+ - *21
263
+ UIDVALIDITY: &38
264
+ - 11
265
+ EXISTS: &39
266
+ - 385
267
+ RECENT: &40
268
+ - 0
269
+ UIDNEXT: &41
270
+ - 398
271
+ HIGHESTMODSEQ: &42
272
+ - '24049'
273
+ - - !ruby/struct:Net::IMAP::UntaggedResponse
274
+ name: FLAGS
275
+ data: *22
276
+ raw_data: "* FLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing
277
+ $Phishing)\r\n"
278
+ - !ruby/struct:Net::IMAP::UntaggedResponse
279
+ name: OK
280
+ data: *23
281
+ raw_data: "* OK [PERMANENTFLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen
282
+ $NotPhishing $Phishing \\*)] Flags permitted.\r\n"
283
+ - !ruby/struct:Net::IMAP::UntaggedResponse
284
+ name: OK
285
+ data: *24
286
+ raw_data: "* OK [UIDVALIDITY 11] UIDs valid.\r\n"
287
+ - !ruby/struct:Net::IMAP::UntaggedResponse
288
+ name: EXISTS
289
+ data: 385
290
+ raw_data: "* 385 EXISTS\r\n"
291
+ - !ruby/struct:Net::IMAP::UntaggedResponse
292
+ name: RECENT
293
+ data: 0
294
+ raw_data: "* 0 RECENT\r\n"
295
+ - !ruby/struct:Net::IMAP::UntaggedResponse
296
+ name: OK
297
+ data: *25
298
+ raw_data: "* OK [UIDNEXT 398] Predicted next UID.\r\n"
299
+ - !ruby/struct:Net::IMAP::UntaggedResponse
300
+ name: OK
301
+ data: *26
302
+ raw_data: "* OK [HIGHESTMODSEQ 24049]\r\n"
303
+ - !ruby/struct:Net::IMAP::TaggedResponse
304
+ tag: RUBY0003
305
+ name: OK
306
+ data: *27
307
+ raw_data: "RUBY0003 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
308
+ - - :return
309
+ - !ruby/struct:Net::IMAP::TaggedResponse
310
+ tag: RUBY0005
311
+ name: OK
312
+ data: &34 !ruby/struct:Net::IMAP::ResponseText
313
+ code: !ruby/struct:Net::IMAP::ResponseCode
314
+ name: READ-WRITE
315
+ data:
316
+ text: " [Gmail]/All Mail selected. (Success)"
317
+ raw_data: "RUBY0005 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
318
+ - FLAGS: &45
319
+ - &29
320
+ - :Answered
321
+ - :Flagged
322
+ - :Draft
323
+ - :Deleted
324
+ - :Seen
325
+ - "$NotPhishing"
326
+ - "$Phishing"
327
+ OK: &46
328
+ - &30 !ruby/struct:Net::IMAP::ResponseText
329
+ code: !ruby/struct:Net::IMAP::ResponseCode
330
+ name: PERMANENTFLAGS
331
+ data: &28
332
+ - :Answered
333
+ - :Flagged
334
+ - :Draft
335
+ - :Deleted
336
+ - :Seen
337
+ - "$NotPhishing"
338
+ - "$Phishing"
339
+ - :*
340
+ text: " Flags permitted."
341
+ - &31 !ruby/struct:Net::IMAP::ResponseText
342
+ code: !ruby/struct:Net::IMAP::ResponseCode
343
+ name: UIDVALIDITY
344
+ data: 11
345
+ text: " UIDs valid."
346
+ - &32 !ruby/struct:Net::IMAP::ResponseText
347
+ code: !ruby/struct:Net::IMAP::ResponseCode
348
+ name: UIDNEXT
349
+ data: 398
350
+ text: " Predicted next UID."
351
+ - &33 !ruby/struct:Net::IMAP::ResponseText
352
+ code: !ruby/struct:Net::IMAP::ResponseCode
353
+ name: HIGHESTMODSEQ
354
+ data: '24049'
355
+ text: ''
356
+ PERMANENTFLAGS: &47
357
+ - *28
358
+ UIDVALIDITY: &48
359
+ - 11
360
+ EXISTS: &49
361
+ - 385
362
+ RECENT: &50
363
+ - 0
364
+ UIDNEXT: &51
365
+ - 398
366
+ HIGHESTMODSEQ: &52
367
+ - '24049'
368
+ - - !ruby/struct:Net::IMAP::UntaggedResponse
369
+ name: FLAGS
370
+ data: *29
371
+ raw_data: "* FLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen $NotPhishing
372
+ $Phishing)\r\n"
373
+ - !ruby/struct:Net::IMAP::UntaggedResponse
374
+ name: OK
375
+ data: *30
376
+ raw_data: "* OK [PERMANENTFLAGS (\\Answered \\Flagged \\Draft \\Deleted \\Seen
377
+ $NotPhishing $Phishing \\*)] Flags permitted.\r\n"
378
+ - !ruby/struct:Net::IMAP::UntaggedResponse
379
+ name: OK
380
+ data: *31
381
+ raw_data: "* OK [UIDVALIDITY 11] UIDs valid.\r\n"
382
+ - !ruby/struct:Net::IMAP::UntaggedResponse
383
+ name: EXISTS
384
+ data: 385
385
+ raw_data: "* 385 EXISTS\r\n"
386
+ - !ruby/struct:Net::IMAP::UntaggedResponse
387
+ name: RECENT
388
+ data: 0
389
+ raw_data: "* 0 RECENT\r\n"
390
+ - !ruby/struct:Net::IMAP::UntaggedResponse
391
+ name: OK
392
+ data: *32
393
+ raw_data: "* OK [UIDNEXT 398] Predicted next UID.\r\n"
394
+ - !ruby/struct:Net::IMAP::UntaggedResponse
395
+ name: OK
396
+ data: *33
397
+ raw_data: "* OK [HIGHESTMODSEQ 24049]\r\n"
398
+ - !ruby/struct:Net::IMAP::TaggedResponse
399
+ tag: RUBY0005
400
+ name: OK
401
+ data: *34
402
+ raw_data: "RUBY0005 OK [READ-WRITE] [Gmail]/All Mail selected. (Success)\r\n"
403
+ UID SEARCH-b19658413e2b63d2bac9c290a67c2cb3:
404
+ - - :return
405
+ - !ruby/struct:Net::IMAP::TaggedResponse
406
+ tag: RUBY0004
407
+ name: OK
408
+ data: &44 !ruby/struct:Net::IMAP::ResponseText
409
+ code:
410
+ text: SEARCH completed (Success)
411
+ raw_data: "RUBY0004 OK SEARCH completed (Success)\r\n"
412
+ - FLAGS: *35
413
+ OK: *36
414
+ PERMANENTFLAGS: *37
415
+ UIDVALIDITY: *38
416
+ EXISTS: *39
417
+ RECENT: *40
418
+ UIDNEXT: *41
419
+ HIGHESTMODSEQ: *42
420
+ SEARCH:
421
+ - &43
422
+ - 1
423
+ - 2
424
+ - 3
425
+ - 4
426
+ - 5
427
+ - 6
428
+ - 7
429
+ - 8
430
+ - 9
431
+ - 10
432
+ - 11
433
+ - 12
434
+ - 13
435
+ - 14
436
+ - 15
437
+ - 16
438
+ - 17
439
+ - 18
440
+ - 19
441
+ - 20
442
+ - 21
443
+ - 22
444
+ - 23
445
+ - 24
446
+ - 25
447
+ - 26
448
+ - 27
449
+ - 28
450
+ - 29
451
+ - 30
452
+ - 31
453
+ - 32
454
+ - 33
455
+ - 34
456
+ - 35
457
+ - 36
458
+ - 37
459
+ - 38
460
+ - 39
461
+ - 40
462
+ - 41
463
+ - 42
464
+ - 43
465
+ - 44
466
+ - 45
467
+ - 46
468
+ - 47
469
+ - 48
470
+ - 49
471
+ - 50
472
+ - 51
473
+ - 52
474
+ - 53
475
+ - 54
476
+ - 55
477
+ - 56
478
+ - 57
479
+ - 58
480
+ - 59
481
+ - 60
482
+ - 61
483
+ - 62
484
+ - 63
485
+ - 64
486
+ - 65
487
+ - 66
488
+ - 67
489
+ - 68
490
+ - 69
491
+ - 70
492
+ - 71
493
+ - 72
494
+ - 73
495
+ - 74
496
+ - 75
497
+ - 76
498
+ - 77
499
+ - 78
500
+ - 79
501
+ - 80
502
+ - 81
503
+ - 82
504
+ - 83
505
+ - 84
506
+ - 85
507
+ - 86
508
+ - 87
509
+ - 88
510
+ - 89
511
+ - 90
512
+ - 91
513
+ - 92
514
+ - 93
515
+ - 94
516
+ - 95
517
+ - 96
518
+ - 97
519
+ - 98
520
+ - 99
521
+ - 100
522
+ - 101
523
+ - 102
524
+ - 103
525
+ - 104
526
+ - 105
527
+ - 106
528
+ - 107
529
+ - 108
530
+ - 109
531
+ - 110
532
+ - 111
533
+ - 112
534
+ - 113
535
+ - 114
536
+ - 115
537
+ - 116
538
+ - 117
539
+ - 118
540
+ - 119
541
+ - 120
542
+ - 121
543
+ - 122
544
+ - 123
545
+ - 124
546
+ - 125
547
+ - 126
548
+ - 127
549
+ - 128
550
+ - 129
551
+ - 130
552
+ - 131
553
+ - 132
554
+ - 133
555
+ - 134
556
+ - 135
557
+ - 136
558
+ - 137
559
+ - 138
560
+ - 139
561
+ - 140
562
+ - 141
563
+ - 142
564
+ - 143
565
+ - 144
566
+ - 145
567
+ - 150
568
+ - 151
569
+ - 155
570
+ - 156
571
+ - 157
572
+ - 158
573
+ - 159
574
+ - 160
575
+ - 161
576
+ - 162
577
+ - 163
578
+ - 164
579
+ - 165
580
+ - 166
581
+ - 167
582
+ - 168
583
+ - 169
584
+ - 170
585
+ - 171
586
+ - 172
587
+ - 173
588
+ - 174
589
+ - 175
590
+ - 176
591
+ - 177
592
+ - 178
593
+ - 179
594
+ - 180
595
+ - 181
596
+ - 182
597
+ - 183
598
+ - 184
599
+ - 185
600
+ - 186
601
+ - 189
602
+ - 190
603
+ - 191
604
+ - 192
605
+ - 193
606
+ - 194
607
+ - 195
608
+ - 196
609
+ - 197
610
+ - 198
611
+ - 199
612
+ - 200
613
+ - 201
614
+ - 202
615
+ - 203
616
+ - 204
617
+ - 205
618
+ - 206
619
+ - 207
620
+ - 208
621
+ - 209
622
+ - 210
623
+ - 211
624
+ - 212
625
+ - 213
626
+ - 214
627
+ - 215
628
+ - 216
629
+ - 217
630
+ - 218
631
+ - 219
632
+ - 220
633
+ - 221
634
+ - 222
635
+ - 223
636
+ - 224
637
+ - 225
638
+ - 226
639
+ - 227
640
+ - 228
641
+ - 229
642
+ - 230
643
+ - 231
644
+ - 232
645
+ - 233
646
+ - 234
647
+ - 235
648
+ - 236
649
+ - 237
650
+ - 238
651
+ - 239
652
+ - 240
653
+ - 241
654
+ - 242
655
+ - 243
656
+ - 244
657
+ - 245
658
+ - 247
659
+ - 248
660
+ - 249
661
+ - 251
662
+ - 252
663
+ - 253
664
+ - 254
665
+ - 255
666
+ - 256
667
+ - 257
668
+ - 258
669
+ - 259
670
+ - 260
671
+ - 261
672
+ - 262
673
+ - 263
674
+ - 264
675
+ - 265
676
+ - 266
677
+ - 267
678
+ - 268
679
+ - 269
680
+ - 270
681
+ - 271
682
+ - 272
683
+ - 273
684
+ - 274
685
+ - 275
686
+ - 276
687
+ - 277
688
+ - 278
689
+ - 279
690
+ - 280
691
+ - 281
692
+ - 282
693
+ - 283
694
+ - 284
695
+ - 285
696
+ - 286
697
+ - 287
698
+ - 288
699
+ - 289
700
+ - 290
701
+ - 291
702
+ - 292
703
+ - 293
704
+ - 294
705
+ - 295
706
+ - 296
707
+ - 297
708
+ - 298
709
+ - 299
710
+ - 300
711
+ - 301
712
+ - 302
713
+ - 303
714
+ - 304
715
+ - 305
716
+ - 306
717
+ - 307
718
+ - 308
719
+ - 309
720
+ - 310
721
+ - 311
722
+ - 312
723
+ - 313
724
+ - 314
725
+ - 315
726
+ - 316
727
+ - 317
728
+ - 318
729
+ - 319
730
+ - 320
731
+ - 321
732
+ - 322
733
+ - 323
734
+ - 324
735
+ - 325
736
+ - 326
737
+ - 327
738
+ - 328
739
+ - 329
740
+ - 330
741
+ - 331
742
+ - 332
743
+ - 333
744
+ - 334
745
+ - 335
746
+ - 336
747
+ - 337
748
+ - 338
749
+ - 339
750
+ - 340
751
+ - 341
752
+ - 342
753
+ - 343
754
+ - 344
755
+ - 345
756
+ - 346
757
+ - 347
758
+ - 348
759
+ - 349
760
+ - 350
761
+ - 351
762
+ - 352
763
+ - 353
764
+ - 354
765
+ - 355
766
+ - 356
767
+ - 357
768
+ - 358
769
+ - 359
770
+ - 360
771
+ - 361
772
+ - 362
773
+ - 363
774
+ - 364
775
+ - 365
776
+ - 366
777
+ - 367
778
+ - 368
779
+ - 369
780
+ - 370
781
+ - 371
782
+ - 372
783
+ - 373
784
+ - 374
785
+ - 375
786
+ - 376
787
+ - 377
788
+ - 378
789
+ - 379
790
+ - 380
791
+ - 381
792
+ - 382
793
+ - 383
794
+ - 384
795
+ - 385
796
+ - 386
797
+ - 387
798
+ - 388
799
+ - 389
800
+ - 391
801
+ - 392
802
+ - 393
803
+ - 394
804
+ - 395
805
+ - 396
806
+ - 397
807
+ - - !ruby/struct:Net::IMAP::UntaggedResponse
808
+ name: SEARCH
809
+ data: *43
810
+ raw_data: "* SEARCH 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
811
+ 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
812
+ 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
813
+ 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
814
+ 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
815
+ 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
816
+ 136 137 138 139 140 141 142 143 144 145 150 151 155 156 157 158 159 160 161
817
+ 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
818
+ 181 182 183 184 185 186 189 190 191 192 193 194 195 196 197 198 199 200 201
819
+ 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220
820
+ 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239
821
+ 240 241 242 243 244 245 247 248 249 251 252 253 254 255 256 257 258 259 260
822
+ 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279
823
+ 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298
824
+ 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317
825
+ 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336
826
+ 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355
827
+ 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374
828
+ 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 391 392 393 394
829
+ 395 396 397\r\n"
830
+ - !ruby/struct:Net::IMAP::TaggedResponse
831
+ tag: RUBY0004
832
+ name: OK
833
+ data: *44
834
+ raw_data: "RUBY0004 OK SEARCH completed (Success)\r\n"
835
+ UID FETCH-70e92ae4507a5481cf98aac122edceb8:
836
+ - - :return
837
+ - !ruby/struct:Net::IMAP::TaggedResponse
838
+ tag: RUBY0006
839
+ name: OK
840
+ data: &54 !ruby/struct:Net::IMAP::ResponseText
841
+ code:
842
+ text: Success
843
+ raw_data: "RUBY0006 OK Success\r\n"
844
+ - FLAGS: *45
845
+ OK: *46
846
+ PERMANENTFLAGS: *47
847
+ UIDVALIDITY: *48
848
+ EXISTS: *49
849
+ RECENT: *50
850
+ UIDNEXT: *51
851
+ HIGHESTMODSEQ: *52
852
+ FETCH:
853
+ - &53 !ruby/struct:Net::IMAP::FetchData
854
+ seqno: 1
855
+ attr:
856
+ X-GM-THRID: 1490339162618061913
857
+ X-GM-MSGID: 1490339162618061913
858
+ X-GM-LABELS:
859
+ - :Inbox
860
+ UID: 1
861
+ FLAGS:
862
+ - :Seen
863
+ ENVELOPE: !ruby/struct:Net::IMAP::Envelope
864
+ date: Wed, 14 Jan 2015 21:03:01 -0800
865
+ subject: Three tips to get the most out of Gmail
866
+ from:
867
+ - !ruby/struct:Net::IMAP::Address
868
+ name: Gmail Team
869
+ route:
870
+ mailbox: mail-noreply
871
+ host: google.com
872
+ sender:
873
+ - !ruby/struct:Net::IMAP::Address
874
+ name: Gmail Team
875
+ route:
876
+ mailbox: mail-noreply
877
+ host: google.com
878
+ reply_to:
879
+ - !ruby/struct:Net::IMAP::Address
880
+ name: Gmail Team
881
+ route:
882
+ mailbox: mail-noreply
883
+ host: google.com
884
+ to:
885
+ - !ruby/struct:Net::IMAP::Address
886
+ name: John Doe
887
+ route:
888
+ mailbox: ki0zvkyi1yzgy7xu4f4dh46nqrcecm
889
+ host: gmail.com
890
+ cc:
891
+ bcc:
892
+ in_reply_to:
893
+ message_id: "<CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>"
894
+ BODY[]: "MIME-Version: 1.0\r\nx-no-auto-attachment: 1\r\nReceived: by 10.70.87.10;
895
+ Wed, 14 Jan 2015 21:03:01 -0800 (PST)\r\nDate: Wed, 14 Jan 2015 21:03:01
896
+ -0800\r\nMessage-ID: <CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>\r\nSubject:
897
+ Three tips to get the most out of Gmail\r\nFrom: Gmail Team <mail-noreply@google.com>\r\nTo:
898
+ John Doe <ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com>\r\nContent-Type: multipart/alternative;
899
+ boundary=bcaec51dcff73ca5e9050ca9c59a\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
900
+ text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n
901
+ Three tips to get the most out of Gmail\r\n[image: Google]\r\n\r\nHi John\r\n\r\nTips
902
+ to get the most out of Gmail\r\n\r\n[image: Contacts]\r\nBring your contacts
903
+ and mail into Gmail\r\n\r\nOn your computer, you can copy your contacts
904
+ and emails from your old email\r\naccount to make the transition to Gmail
905
+ even better. Learn how\r\n<https://support.google.com/mail/answer/164640?hl=3Den&ref_topic=3D1669014>=\r\n.\r\n[image:
906
+ Search]\r\nFind what you need fast\r\n\r\nWith the power of Google Search
907
+ right in your inbox, it's easy to sort your\r\nemail. Find what you're looking
908
+ for with predictions based on email\r\ncontent, past searches and contacts.\r\n[image:
909
+ Search]\r\nMuch more than email\r\n\r\nYou can send text messages and make
910
+ video calls with Hangouts\r\n<https://www.google.com/intl/en/hangouts/>
911
+ right from Gmail. To use this\r\nfeature on mobile, download the Hangouts
912
+ app for Android\r\n<https://play.google.com/store/apps/details?id=3Dcom.google.android.talk&hl=\r\n=3Den>\r\nand
913
+ Apple <https://itunes.apple.com/en/app/hangouts/id643496868?mt=3D8>\r\ndevices.\r\n\r\n\r\n[image:
914
+ Gmail icon]Happy emailing,\r\nThe Gmail Team\r\n =C2=A9 2015 Google Inc.
915
+ 1600 Amphitheatre Parkway, Mountain View, CA 94043\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
916
+ text/html; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n<!DOCTYPE
917
+ html>\r\n<html><head><meta http-equiv=3D\"content-type\" content=3D\"text/html;charset=\r\n=3DUTF-8\"
918
+ /><title>Three tips to get the most out of Gmail</title></head><b=\r\nody
919
+ style=3D\"background-color:#e5e5e5; margin:20px 0;\"><br /><div style=3D\"=\r\nmargin:2%;\"><div
920
+ style=3D\"direction:ltr; text-align:left; font-family:'Open=\r\n sans','Arial',sans-serif;
921
+ color:#444; background-color:white; padding:1.5e=\r\nm; border-radius:1em;
922
+ box-shadow:1px -5px 8px 2px #bbb; max-width:580px; ma=\r\nrgin:2% auto 0
923
+ auto;\"><table style=3D\"background:white;width:100%\"><tr><td>=\r\n<div
924
+ 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\"
925
+ alt=\r\n=3D\"Google\" width=3D\"90\" height=3D\"34\"/></div><div style=3D\"width:90%;
926
+ 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\"
927
+ style=3D\"display:=\r\nblock; float:left; margin-top:4px; margin-right:5px;\"/><span
928
+ style=3D\"font-=\r\nfamily:'Open sans','Arial',sans-serif; font-weight:bold;
929
+ font-size:small; l=\r\nine-height:1.4em\">Hi John</span></p><p><span style=3D\"font-family:'Open
930
+ san=\r\ns','Arial',sans-serif; font-size:2.08em;\">Tips to get the most
931
+ out of Gmail=\r\n</span><br/></p></div><p></p><div style=3D\"float:left;
932
+ clear:both; padding:=\r\n0px 5px 10px 10px;\"><img src=3D\"https://services.google.com/fh/files/emails=\r\n/importcontacts.png\"
933
+ alt=3D\"Contacts\" style=3D\"display:block;\"width=3D\"129\"=\r\nheight=3D\"129\"/></div><div
934
+ style=3D\"float:left; vertical-align:middle; padd=\r\ning:10px; max-width:398px;
935
+ float:left;\"><table style=3D\"vertical-align:midd=\r\nle;\"><tr><td style=3D\"font-family:'Open
936
+ sans','Arial',sans-serif;\"><span st=\r\nyle=3D\"font-size:20px;\">Bring
937
+ your contacts and mail into Gmail</span><br/>=\r\n<br/><span style=3D\"font-size:small;
938
+ line-height:1.4em\">On your computer, y=\r\nou can copy your contacts and
939
+ emails from your old email account to make th=\r\ne transition to Gmail
940
+ even better. <a href=3D\"https://support.google.com/ma=\r\nil/answer/164640?hl=3Den&amp;ref_topic=3D1669014\"
941
+ style=3D\"text-decoration:=\r\nnone; color:#15C\">Learn how</a>.</span></td></tr></table></div><div
942
+ style=\r\n=3D\"float:left; clear:both; padding:0px 5px 10px 10px;\"><img
943
+ src=3D\"https:/=\r\n/ssl.gstatic.com/mail/welcome/localized/en/welcome_search.png\"
944
+ alt=3D\"Searc=\r\nh\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
945
+ style=3D=\r\n\"float:left; vertical-align:middle; padding:10px; max-width:398px;
946
+ float:le=\r\nft;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-family:'=\r\nOpen
947
+ sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Find what
948
+ y=\r\nou need fast</span><br/><br/><span style=3D\"font-size:small; line-height:1.=\r\n4em\">With
949
+ the power of Google Search right in your inbox, it's easy to sort=\r\n your
950
+ email. Find what you're looking for with predictions based on email c=\r\nontent,
951
+ past searches and contacts.</span></td></tr></table></div><div styl=\r\ne=3D\"float:left;
952
+ clear:both; padding:0px 5px 10px 10px;\"><img src=3D\"https:=\r\n//ssl.gstatic.com/accounts/services/mail/msa/welcome_hangouts.png\"
953
+ alt=3D\"S=\r\nearch\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
954
+ styl=\r\ne=3D\"float:left; vertical-align:middle; padding:10px; max-width:398px;
955
+ floa=\r\nt:left;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-fami=\r\nly:'Open
956
+ sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Much mo=\r\nre
957
+ than email</span><br/><br/><span style=3D\"font-size:small; line-height:1=\r\n.4em\">You
958
+ can send text messages and make video calls with <a href=3D\"https=\r\n://www.google.com/intl/en/hangouts/\"
959
+ style=3D\"text-decoration:none; color:#=\r\n15C\">Hangouts</a> right from
960
+ Gmail. To use this feature on mobile, download=\r\n the Hangouts app for
961
+ <a href=3D\"https://play.google.com/store/apps/details=\r\n?id=3Dcom.google.android.talk&amp;hl=3Den\"
962
+ 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\"
963
+ style=3D\"text-decoration:none; color:#15C\">Apple</a=\r\n> devices.</span></td></tr></table></div><br/><br/>\r\n<div
964
+ style=3D\"clear:both; padding-left:13px; height:6.8em;\"><table style=3D=\r\n\"width:100%;
965
+ border-collapse:collapse; border:0\"><tr><td style=3D\"width:68p=\r\nx\"><img
966
+ 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\"
967
+ style=3D\"display=\r\n:block;\"/></td><td style=3D\"align:left; font-family:'Open
968
+ sans','Arial',san=\r\ns-serif; vertical-align:bottom\"><span style=3D\"font-size:small\">Happy
969
+ email=\r\ning,<br/></span><span style=3D\"font-size:x-large; line-height:1\">The
970
+ Gmail =\r\nTeam</span></td></tr></table></div>\r\n</td></tr></table></div>\r\n<div
971
+ style=3D\"direction:ltr;color:#777; font-size:0.8em; border-radius:1em;=\r\n
972
+ padding:1em; margin:0 auto 4% auto; font-family:'Arial','Helvetica',sans-s=\r\nerif;
973
+ text-align:center;\">=C2=A9 2015 Google Inc. 1600 Amphitheatre Parkway=\r\n,
974
+ Mountain View, CA 94043<br/></div></div></body></html>\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a--"
975
+ - - !ruby/struct:Net::IMAP::UntaggedResponse
976
+ name: FETCH
977
+ data: *53
978
+ raw_data: "* 1 FETCH (X-GM-THRID 1490339162618061913 X-GM-MSGID 1490339162618061913
979
+ X-GM-LABELS (\"\\\\Inbox\") UID 1 FLAGS (\\Seen) ENVELOPE (\"Wed, 14 Jan 2015
980
+ 21:03:01 -0800\" \"Three tips to get the most out of Gmail\" ((\"Gmail Team\"
981
+ NIL \"mail-noreply\" \"google.com\")) ((\"Gmail Team\" NIL \"mail-noreply\"
982
+ \"google.com\")) ((\"Gmail Team\" NIL \"mail-noreply\" \"google.com\")) ((\"John
983
+ Doe\" NIL \"ki0zvkyi1yzgy7xu4f4dh46nqrcecm\" \"gmail.com\")) NIL NIL NIL \"<CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>\")
984
+ BODY[] {6915}\r\nMIME-Version: 1.0\r\nx-no-auto-attachment: 1\r\nReceived:
985
+ by 10.70.87.10; Wed, 14 Jan 2015 21:03:01 -0800 (PST)\r\nDate: Wed, 14 Jan
986
+ 2015 21:03:01 -0800\r\nMessage-ID: <CACNRAYKakHOCaxin=3D-9QAC=GRQgDae66vLpwqPQC6rDAJK2w@mail.gmail.com>\r\nSubject:
987
+ Three tips to get the most out of Gmail\r\nFrom: Gmail Team <mail-noreply@google.com>\r\nTo:
988
+ John Doe <ki0zvkyi1yzgy7xu4f4dh46nqrcecm@gmail.com>\r\nContent-Type: multipart/alternative;
989
+ boundary=bcaec51dcff73ca5e9050ca9c59a\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
990
+ text/plain; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n
991
+ Three tips to get the most out of Gmail\r\n[image: Google]\r\n\r\nHi John\r\n\r\nTips
992
+ to get the most out of Gmail\r\n\r\n[image: Contacts]\r\nBring your contacts
993
+ and mail into Gmail\r\n\r\nOn your computer, you can copy your contacts and
994
+ emails from your old email\r\naccount to make the transition to Gmail even
995
+ better. Learn how\r\n<https://support.google.com/mail/answer/164640?hl=3Den&ref_topic=3D1669014>=\r\n.\r\n[image:
996
+ Search]\r\nFind what you need fast\r\n\r\nWith the power of Google Search
997
+ right in your inbox, it's easy to sort your\r\nemail. Find what you're looking
998
+ for with predictions based on email\r\ncontent, past searches and contacts.\r\n[image:
999
+ Search]\r\nMuch more than email\r\n\r\nYou can send text messages and make
1000
+ video calls with Hangouts\r\n<https://www.google.com/intl/en/hangouts/> right
1001
+ from Gmail. To use this\r\nfeature on mobile, download the Hangouts app for
1002
+ Android\r\n<https://play.google.com/store/apps/details?id=3Dcom.google.android.talk&hl=\r\n=3Den>\r\nand
1003
+ Apple <https://itunes.apple.com/en/app/hangouts/id643496868?mt=3D8>\r\ndevices.\r\n\r\n\r\n[image:
1004
+ Gmail icon]Happy emailing,\r\nThe Gmail Team\r\n =C2=A9 2015 Google Inc. 1600
1005
+ Amphitheatre Parkway, Mountain View, CA 94043\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a\r\nContent-Type:
1006
+ text/html; charset=UTF-8\r\nContent-Transfer-Encoding: quoted-printable\r\n\r\n<!DOCTYPE
1007
+ html>\r\n<html><head><meta http-equiv=3D\"content-type\" content=3D\"text/html;charset=\r\n=3DUTF-8\"
1008
+ /><title>Three tips to get the most out of Gmail</title></head><b=\r\nody
1009
+ style=3D\"background-color:#e5e5e5; margin:20px 0;\"><br /><div style=3D\"=\r\nmargin:2%;\"><div
1010
+ style=3D\"direction:ltr; text-align:left; font-family:'Open=\r\n sans','Arial',sans-serif;
1011
+ color:#444; background-color:white; padding:1.5e=\r\nm; border-radius:1em;
1012
+ box-shadow:1px -5px 8px 2px #bbb; max-width:580px; ma=\r\nrgin:2% auto 0 auto;\"><table
1013
+ style=3D\"background:white;width:100%\"><tr><td>=\r\n<div style=3D\"width:90px;
1014
+ height:54px; margin:10px auto;\"><img src=3D\"https=\r\n://services.google.com/fh/files/emails/google_logo_flat_90_color.png\"
1015
+ alt=\r\n=3D\"Google\" width=3D\"90\" height=3D\"34\"/></div><div style=3D\"width:90%;
1016
+ 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\"
1017
+ style=3D\"display:=\r\nblock; float:left; margin-top:4px; margin-right:5px;\"/><span
1018
+ style=3D\"font-=\r\nfamily:'Open sans','Arial',sans-serif; font-weight:bold;
1019
+ font-size:small; l=\r\nine-height:1.4em\">Hi John</span></p><p><span style=3D\"font-family:'Open
1020
+ san=\r\ns','Arial',sans-serif; font-size:2.08em;\">Tips to get the most out
1021
+ of Gmail=\r\n</span><br/></p></div><p></p><div style=3D\"float:left; clear:both;
1022
+ padding:=\r\n0px 5px 10px 10px;\"><img src=3D\"https://services.google.com/fh/files/emails=\r\n/importcontacts.png\"
1023
+ alt=3D\"Contacts\" style=3D\"display:block;\"width=3D\"129\"=\r\nheight=3D\"129\"/></div><div
1024
+ style=3D\"float:left; vertical-align:middle; padd=\r\ning:10px; max-width:398px;
1025
+ float:left;\"><table style=3D\"vertical-align:midd=\r\nle;\"><tr><td style=3D\"font-family:'Open
1026
+ sans','Arial',sans-serif;\"><span st=\r\nyle=3D\"font-size:20px;\">Bring your
1027
+ contacts and mail into Gmail</span><br/>=\r\n<br/><span style=3D\"font-size:small;
1028
+ line-height:1.4em\">On your computer, y=\r\nou can copy your contacts and
1029
+ emails from your old email account to make th=\r\ne transition to Gmail even
1030
+ better. <a href=3D\"https://support.google.com/ma=\r\nil/answer/164640?hl=3Den&amp;ref_topic=3D1669014\"
1031
+ style=3D\"text-decoration:=\r\nnone; color:#15C\">Learn how</a>.</span></td></tr></table></div><div
1032
+ style=\r\n=3D\"float:left; clear:both; padding:0px 5px 10px 10px;\"><img src=3D\"https:/=\r\n/ssl.gstatic.com/mail/welcome/localized/en/welcome_search.png\"
1033
+ alt=3D\"Searc=\r\nh\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
1034
+ style=3D=\r\n\"float:left; vertical-align:middle; padding:10px; max-width:398px;
1035
+ float:le=\r\nft;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-family:'=\r\nOpen
1036
+ sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Find what y=\r\nou
1037
+ need fast</span><br/><br/><span style=3D\"font-size:small; line-height:1.=\r\n4em\">With
1038
+ the power of Google Search right in your inbox, it's easy to sort=\r\n your
1039
+ email. Find what you're looking for with predictions based on email c=\r\nontent,
1040
+ past searches and contacts.</span></td></tr></table></div><div styl=\r\ne=3D\"float:left;
1041
+ clear:both; padding:0px 5px 10px 10px;\"><img src=3D\"https:=\r\n//ssl.gstatic.com/accounts/services/mail/msa/welcome_hangouts.png\"
1042
+ alt=3D\"S=\r\nearch\" style=3D\"display:block;\"width=3D\"129\"height=3D\"129\"/></div><div
1043
+ styl=\r\ne=3D\"float:left; vertical-align:middle; padding:10px; max-width:398px;
1044
+ floa=\r\nt:left;\"><table style=3D\"vertical-align:middle;\"><tr><td style=3D\"font-fami=\r\nly:'Open
1045
+ sans','Arial',sans-serif;\"><span style=3D\"font-size:20px;\">Much mo=\r\nre
1046
+ than email</span><br/><br/><span style=3D\"font-size:small; line-height:1=\r\n.4em\">You
1047
+ can send text messages and make video calls with <a href=3D\"https=\r\n://www.google.com/intl/en/hangouts/\"
1048
+ style=3D\"text-decoration:none; color:#=\r\n15C\">Hangouts</a> right from
1049
+ Gmail. To use this feature on mobile, download=\r\n the Hangouts app for <a
1050
+ href=3D\"https://play.google.com/store/apps/details=\r\n?id=3Dcom.google.android.talk&amp;hl=3Den\"
1051
+ 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\"
1052
+ style=3D\"text-decoration:none; color:#15C\">Apple</a=\r\n> devices.</span></td></tr></table></div><br/><br/>\r\n<div
1053
+ style=3D\"clear:both; padding-left:13px; height:6.8em;\"><table style=3D=\r\n\"width:100%;
1054
+ border-collapse:collapse; border:0\"><tr><td style=3D\"width:68p=\r\nx\"><img
1055
+ 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\"
1056
+ style=3D\"display=\r\n:block;\"/></td><td style=3D\"align:left; font-family:'Open
1057
+ sans','Arial',san=\r\ns-serif; vertical-align:bottom\"><span style=3D\"font-size:small\">Happy
1058
+ email=\r\ning,<br/></span><span style=3D\"font-size:x-large; line-height:1\">The
1059
+ Gmail =\r\nTeam</span></td></tr></table></div>\r\n</td></tr></table></div>\r\n<div
1060
+ style=3D\"direction:ltr;color:#777; font-size:0.8em; border-radius:1em;=\r\n
1061
+ padding:1em; margin:0 auto 4% auto; font-family:'Arial','Helvetica',sans-s=\r\nerif;
1062
+ text-align:center;\">=C2=A9 2015 Google Inc. 1600 Amphitheatre Parkway=\r\n,
1063
+ Mountain View, CA 94043<br/></div></div></body></html>\r\n\r\n--bcaec51dcff73ca5e9050ca9c59a--)\r\n"
1064
+ - !ruby/struct:Net::IMAP::TaggedResponse
1065
+ tag: RUBY0006
1066
+ name: OK
1067
+ data: *54
1068
+ raw_data: "RUBY0006 OK Success\r\n"