gmail 0.5.0 → 0.6.0

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