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,580 +1,580 @@
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: !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--"