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,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--"