gmail 0.5.0 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +27 -27
  3. data/.rspec +1 -1
  4. data/.rubocop.yml +13 -13
  5. data/.rubocop_todo.yml +239 -239
  6. data/.travis.yml +19 -19
  7. data/CHANGELOG.md +145 -139
  8. data/Gemfile +3 -3
  9. data/LICENSE +21 -21
  10. data/README.md +355 -354
  11. data/Rakefile +46 -46
  12. data/gmail.gemspec +34 -34
  13. data/lib/gmail.rb +78 -78
  14. data/lib/gmail/client.rb +34 -34
  15. data/lib/gmail/client/base.rb +229 -229
  16. data/lib/gmail/client/plain.rb +24 -24
  17. data/lib/gmail/client/xoauth.rb +68 -68
  18. data/lib/gmail/client/xoauth2.rb +39 -39
  19. data/lib/gmail/imap_extensions.rb +159 -150
  20. data/lib/gmail/labels.rb +79 -79
  21. data/lib/gmail/mailbox.rb +175 -135
  22. data/lib/gmail/message.rb +207 -207
  23. data/lib/gmail/version.rb +3 -3
  24. data/spec/account.yml.example +1 -1
  25. data/spec/account.yml.obfus +2 -2
  26. data/spec/gmail/client/base_spec.rb +5 -5
  27. data/spec/gmail/client/plain_spec.rb +169 -168
  28. data/spec/gmail/client/xoauth2_spec.rb +186 -186
  29. data/spec/gmail/client/xoauth_spec.rb +5 -5
  30. data/spec/gmail/client_spec.rb +5 -5
  31. data/spec/gmail/imap_extensions_spec.rb +47 -12
  32. data/spec/gmail/labels_spec.rb +27 -18
  33. data/spec/gmail/mailbox_spec.rb +84 -47
  34. data/spec/gmail/message_spec.rb +181 -181
  35. data/spec/gmail_spec.rb +39 -39
  36. data/spec/recordings/gmail/_new_connects_with_client_and_give_it_context_when_block_given.yml +28 -28
  37. data/spec/recordings/gmail/_new_connects_with_gmail_service_and_return_valid_connection_object.yml +28 -28
  38. data/spec/recordings/gmail/_new_does_not_raise_error_when_couldn_t_connect_with_given_account.yml +13 -13
  39. data/spec/recordings/gmail/_new_raises_error_when_couldn_t_connect_with_given_account.yml +13 -13
  40. data/spec/recordings/gmail_client_plain/instance/_connection_automatically_logs_in_to_gmail_account_when_it_s_called.yml +42 -42
  41. data/spec/recordings/gmail_client_plain/instance/delivers_inline_composed_email.yml +42 -42
  42. data/spec/recordings/gmail_client_plain/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +13 -13
  43. data/spec/recordings/gmail_client_plain/instance/does_not_raise_error_even_though_gmail_account_is_invalid.yml +13 -13
  44. data/spec/recordings/gmail_client_plain/instance/labels/checks_if_there_is_given_label_defined.yml +196 -196
  45. data/spec/recordings/gmail_client_plain/instance/labels/creates_given_label.yml +151 -151
  46. data/spec/recordings/gmail_client_plain/instance/labels/removes_existing_label.yml +146 -146
  47. data/spec/recordings/gmail_client_plain/instance/labels/returns_list_of_all_available_labels.yml +113 -113
  48. data/spec/recordings/gmail_client_plain/instance/properly_logs_in_to_valid_gmail_account.yml +42 -42
  49. data/spec/recordings/gmail_client_plain/instance/properly_logs_out_from_gmail.yml +42 -42
  50. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox.yml +109 -109
  51. data/spec/recordings/gmail_client_plain/instance/properly_switches_to_given_mailbox_using_block_style.yml +109 -109
  52. data/spec/recordings/gmail_client_plain/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +13 -13
  53. data/spec/recordings/gmail_client_xo_auth2/instance/does_not_log_in_when_given_gmail_account_is_invalid.yml +13 -13
  54. data/spec/recordings/gmail_client_xo_auth2/instance/labels/checks_if_there_is_given_label_defined.yml +27 -27
  55. data/spec/recordings/gmail_client_xo_auth2/instance/labels/creates_given_label.yml +39 -39
  56. data/spec/recordings/gmail_client_xo_auth2/instance/labels/removes_existing_label.yml +39 -39
  57. data/spec/recordings/gmail_client_xo_auth2/instance/labels/returns_list_of_all_available_labels.yml +27 -27
  58. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_in_to_valid_gmail_account.yml +15 -15
  59. data/spec/recordings/gmail_client_xo_auth2/instance/properly_logs_out_from_gmail.yml +15 -15
  60. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox.yml +40 -40
  61. data/spec/recordings/gmail_client_xo_auth2/instance/properly_switches_to_given_mailbox_using_block_style.yml +40 -40
  62. data/spec/recordings/gmail_client_xo_auth2/instance/raises_error_when_given_gmail_account_is_invalid_and_errors_enabled.yml +13 -13
  63. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/all/localizes_into_the_appropriate_label.yml +116 -116
  64. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/and_the_mailbox_does_not_exist/returns_the_mailbox_name_as_a_string.yml +110 -0
  65. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/drafts/localizes_into_the_appropriate_label.yml +116 -116
  66. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/flagged/localizes_into_the_appropriate_label.yml +116 -116
  67. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/important/localizes_into_the_appropriate_label.yml +116 -116
  68. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/inbox/localizes_into_the_appropriate_label.yml +42 -42
  69. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/junk/localizes_into_the_appropriate_label.yml +116 -116
  70. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/sent/localizes_into_the_appropriate_label.yml +116 -116
  71. data/spec/recordings/gmail_labels/localize/when_given_the_xl_is_tflag/trash/localizes_into_the_appropriate_label.yml +116 -116
  72. data/spec/recordings/gmail_mailbox/instance/counts_all_emails.yml +277 -277
  73. data/spec/recordings/gmail_mailbox/instance/finds_messages.yml +586 -586
  74. data/spec/recordings/gmail_mailbox/instance/waits_once.yml +136 -0
  75. data/spec/recordings/gmail_mailbox/instance/waits_repeatedly.yml +141 -0
  76. data/spec/recordings/gmail_mailbox/instance/waits_with_29-minute_re-issue.yml +136 -0
  77. data/spec/recordings/gmail_mailbox/instance/waits_with_an_unblocked_connection.yml +207 -0
  78. data/spec/recordings/gmail_mailbox/on_initialize/sets_client_and_name.yml +42 -42
  79. data/spec/recordings/gmail_mailbox/on_initialize/works_in_inbox_by_default.yml +42 -42
  80. data/spec/recordings/gmail_message/initialize/sets_prefetch_attrs.yml +578 -578
  81. data/spec/recordings/gmail_message/initialize/sets_uid_and_mailbox.yml +580 -580
  82. data/spec/recordings/gmail_message/instance_methods/deletes_itself.yml +637 -637
  83. data/spec/recordings/gmail_message/instance_methods/marks_itself_read.yml +682 -682
  84. data/spec/recordings/gmail_message/instance_methods/marks_itself_unread.yml +686 -686
  85. data/spec/recordings/gmail_message/instance_methods/moves_from_one_tag_to_other.yml +862 -862
  86. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label.yml +776 -776
  87. data/spec/recordings/gmail_message/instance_methods/removes_a_given_label_with_old_method.yml +776 -776
  88. data/spec/recordings/gmail_message/instance_methods/sets_given_label.yml +690 -690
  89. data/spec/recordings/gmail_message/instance_methods/sets_given_label_with_old_method.yml +691 -691
  90. data/spec/spec_helper.rb +53 -53
  91. data/spec/support/imap_mock.rb +181 -129
  92. data/spec/support/obfuscation.rb +52 -52
  93. metadata +78 -5
@@ -1,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&amp;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&amp;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&amp;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&amp;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