Can write to database
[dmarc.git] / read_report.ipynb
1 {
2 "cells": [
3 {
4 "cell_type": "code",
5 "execution_count": 1,
6 "metadata": {
7 "collapsed": false
8 },
9 "outputs": [],
10 "source": [
11 "import configparser\n",
12 "import imaplib\n",
13 "# import ssl\n",
14 "# import base64\n",
15 "# import email.parser\n",
16 "import email\n",
17 "import io\n",
18 "import zipfile\n",
19 "import xml.etree.ElementTree"
20 ]
21 },
22 {
23 "cell_type": "code",
24 "execution_count": 2,
25 "metadata": {
26 "collapsed": false
27 },
28 "outputs": [
29 {
30 "data": {
31 "text/plain": [
32 "['dmarc.ini']"
33 ]
34 },
35 "execution_count": 2,
36 "metadata": {},
37 "output_type": "execute_result"
38 }
39 ],
40 "source": [
41 "config = configparser.ConfigParser()\n",
42 "config.read('dmarc.ini')"
43 ]
44 },
45 {
46 "cell_type": "code",
47 "execution_count": 3,
48 "metadata": {
49 "collapsed": false
50 },
51 "outputs": [
52 {
53 "data": {
54 "text/plain": [
55 "[]"
56 ]
57 },
58 "execution_count": 3,
59 "metadata": {},
60 "output_type": "execute_result"
61 }
62 ],
63 "source": [
64 "[k for k in config['DEFAULT']]"
65 ]
66 },
67 {
68 "cell_type": "code",
69 "execution_count": 31,
70 "metadata": {
71 "collapsed": false
72 },
73 "outputs": [
74 {
75 "data": {
76 "text/plain": [
77 "['imap', 'database']"
78 ]
79 },
80 "execution_count": 31,
81 "metadata": {},
82 "output_type": "execute_result"
83 }
84 ],
85 "source": [
86 "config.sections()"
87 ]
88 },
89 {
90 "cell_type": "code",
91 "execution_count": 4,
92 "metadata": {
93 "collapsed": false
94 },
95 "outputs": [
96 {
97 "data": {
98 "text/plain": [
99 "'imap.njae.me.uk'"
100 ]
101 },
102 "execution_count": 4,
103 "metadata": {},
104 "output_type": "execute_result"
105 }
106 ],
107 "source": [
108 "config['imap']['server']"
109 ]
110 },
111 {
112 "cell_type": "code",
113 "execution_count": 5,
114 "metadata": {
115 "collapsed": false
116 },
117 "outputs": [],
118 "source": [
119 "mailbox = imaplib.IMAP4(host=config['imap']['server'], \n",
120 " port=config['imap']['port'])"
121 ]
122 },
123 {
124 "cell_type": "code",
125 "execution_count": 6,
126 "metadata": {
127 "collapsed": false
128 },
129 "outputs": [
130 {
131 "data": {
132 "text/plain": [
133 "('OK', [None])"
134 ]
135 },
136 "execution_count": 6,
137 "metadata": {},
138 "output_type": "execute_result"
139 }
140 ],
141 "source": [
142 "mailbox.starttls()"
143 ]
144 },
145 {
146 "cell_type": "code",
147 "execution_count": 7,
148 "metadata": {
149 "collapsed": false
150 },
151 "outputs": [
152 {
153 "data": {
154 "text/plain": [
155 "('OK', [b'Logged in'])"
156 ]
157 },
158 "execution_count": 7,
159 "metadata": {},
160 "output_type": "execute_result"
161 }
162 ],
163 "source": [
164 "mailbox.login(config['imap']['username'], config['imap']['password'])"
165 ]
166 },
167 {
168 "cell_type": "code",
169 "execution_count": 8,
170 "metadata": {
171 "collapsed": false
172 },
173 "outputs": [
174 {
175 "data": {
176 "text/plain": [
177 "('OK', [b'172'])"
178 ]
179 },
180 "execution_count": 8,
181 "metadata": {},
182 "output_type": "execute_result"
183 }
184 ],
185 "source": [
186 "mailbox.select('INBOX', readonly=True)"
187 ]
188 },
189 {
190 "cell_type": "code",
191 "execution_count": 9,
192 "metadata": {
193 "collapsed": false
194 },
195 "outputs": [
196 {
197 "data": {
198 "text/plain": [
199 "('OK',\n",
200 " [b'1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172'])"
201 ]
202 },
203 "execution_count": 9,
204 "metadata": {},
205 "output_type": "execute_result"
206 }
207 ],
208 "source": [
209 "mailbox.search(None, \"ALL\")"
210 ]
211 },
212 {
213 "cell_type": "code",
214 "execution_count": 10,
215 "metadata": {
216 "collapsed": false
217 },
218 "outputs": [
219 {
220 "data": {
221 "text/plain": [
222 "('OK', [b'164 165 166 167 168 169 170 171 172'])"
223 ]
224 },
225 "execution_count": 10,
226 "metadata": {},
227 "output_type": "execute_result"
228 }
229 ],
230 "source": [
231 "resp, nums = mailbox.search(None, \"SINCE 23-Mar-2016\")\n",
232 "resp, nums"
233 ]
234 },
235 {
236 "cell_type": "code",
237 "execution_count": 11,
238 "metadata": {
239 "collapsed": false
240 },
241 "outputs": [
242 {
243 "data": {
244 "text/plain": [
245 "[b'164', b'165', b'166', b'167', b'168', b'169', b'170', b'171', b'172']"
246 ]
247 },
248 "execution_count": 11,
249 "metadata": {},
250 "output_type": "execute_result"
251 }
252 ],
253 "source": [
254 "nums[0].split()"
255 ]
256 },
257 {
258 "cell_type": "code",
259 "execution_count": 12,
260 "metadata": {
261 "collapsed": false
262 },
263 "outputs": [
264 {
265 "data": {
266 "text/plain": [
267 "('OK',\n",
268 " [(b'172 (RFC822 {4406}',\n",
269 " b'Return-Path: <noreply-dmarc-support@google.com>\\r\\nDelivered-To: dmarc@njae.me.uk\\r\\nReceived: from localhost (localhost [127.0.0.1])\\r\\n\\tby mail.njae.me.uk (Postfix) with ESMTP id B966C8F\\r\\n\\tfor <dmarc@njae.me.uk>; Mon, 28 Mar 2016 11:11:48 +0100 (BST)\\r\\nX-Virus-Scanned: Debian amavisd-new at njae.me.uk\\r\\nAuthentication-Results: ogedei.njae.me.uk (amavisd-new);\\r\\n\\tdkim=pass (2048-bit key) header.d=google.com\\r\\nReceived: from mail.njae.me.uk ([127.0.0.1])\\r\\n\\tby localhost (ogedei.njae.me.uk [127.0.0.1]) (amavisd-new, port 10024)\\r\\n\\twith ESMTP id GOe6I1LLVNl9 for <dmarc@njae.me.uk>;\\r\\n\\tMon, 28 Mar 2016 11:11:47 +0100 (BST)\\r\\nReceived-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.223.202; helo=mail-io0-f202.google.com; envelope-from=noreply-dmarc-support@google.com; receiver=dmarc@njae.me.uk \\r\\nAuthentication-Results: mail.njae.me.uk; dmarc=pass header.from=google.com\\r\\nAuthentication-Results: mail.njae.me.uk; dkim=pass\\r\\n\\treason=\"2048-bit key; unprotected key\"\\r\\n\\theader.d=google.com header.i=@google.com header.b=FskZAi7J;\\r\\n\\tdkim-adsp=pass; dkim-atps=neutral\\r\\nReceived: from mail-io0-f202.google.com (mail-io0-f202.google.com [209.85.223.202])\\r\\n\\tby mail.njae.me.uk (Postfix) with ESMTPS id CDAA850\\r\\n\\tfor <dmarc@njae.me.uk>; Mon, 28 Mar 2016 11:11:46 +0100 (BST)\\r\\nReceived: by mail-io0-f202.google.com with SMTP id e3so1655636ioa.1\\r\\n for <dmarc@njae.me.uk>; Mon, 28 Mar 2016 03:11:46 -0700 (PDT)\\r\\nDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\\r\\n d=google.com; s=20120113;\\r\\n h=mime-version:message-id:date:subject:from:to:content-disposition\\r\\n :content-transfer-encoding;\\r\\n bh=ZMmMsYb7psOB4wlBTQUv+llYFZLud7uqkJWOqTZoywc=;\\r\\n b=FskZAi7J5MJ/Py4sgZaL4dHbNcmccPHDWlFnblx0RT0Dlfb35hDkjtYg5ageqyFowe\\r\\n o4hDspB8+L7cBsY+ftdbMhneveFpKvDgwZqq/88iMOWLuUN39ZWMC7m/XIz2CZhUlLMz\\r\\n xE25EhSOW9xiWWBOESZzIfCvSOoTuyfxMTUFq1uvARg2NUOAdrFTLTivAsMyK2RNkisM\\r\\n SrQRcwDaMLIlQw6FzG+gsO3u8wrT6ckd0fHJtkGptab6CqhEwdkY3kJMCmiasoP/io2v\\r\\n KEsQCkByjHJgnL4tFu5yznLggBrbbvdK4HonSGKDi7cHyuoImxaVZNVMQhaYRnyPqj7j\\r\\n o08g==\\r\\nX-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\\r\\n d=1e100.net; s=20130820;\\r\\n h=x-gm-message-state:mime-version:message-id:date:subject:from:to\\r\\n :content-disposition:content-transfer-encoding;\\r\\n bh=ZMmMsYb7psOB4wlBTQUv+llYFZLud7uqkJWOqTZoywc=;\\r\\n b=OJjK6bq/e//bsrZJ503gIDT0b582UN5hgfMRT+iJVwtH7ombD4ld+S/+NOfWVTwq8J\\r\\n FoHVodNZjznUtkoOVOm3BFbliMPyxHoYKdbWyYgYH5KzlD9Iv81N5djl50nxdWNkbhK1\\r\\n CZHike9tfLHF82v6i8BIRMubK8UHyCCOpVgFMM+GK3tTdyA7BY/0jXNqzfTDbS/FyeoW\\r\\n sH/sckfOf4HN9DRgNbZ78aq5c1bAcx/N7Fn7+53uLBxw82XUd7JFi10kMd3jvPbHMORa\\r\\n YQgyPoQxuQPvjfU0KTJiXQt+iP+ksHl0DO9umo+c5WzLdHk8QV1ryS5OEhUrfaORqK8a\\r\\n 0d9g==\\r\\nX-Gm-Message-State: AD7BkJLC5599FbOXiJoIKq3UlGXdkIr5BkghJuDHCJeDAQVhAr64/XYgB+fejr5uDj8FvDHPPSPVXA==\\r\\nMIME-Version: 1.0\\r\\nX-Received: by 10.182.243.135 with SMTP id wy7mr16780454obc.8.1459159905131;\\r\\n Mon, 28 Mar 2016 03:11:45 -0700 (PDT)\\r\\nMessage-ID: <16143280651570354241@google.com>\\r\\nDate: Mon, 28 Mar 2016 10:11:45 +0000\\r\\nSubject: Report domain: njae.me.uk Submitter: google.com Report-ID: 16143280651570354241\\r\\nFrom: noreply-dmarc-support@google.com\\r\\nTo: dmarc@njae.me.uk\\r\\nContent-Type: application/zip; \\r\\n\\tname=\"google.com!njae.me.uk!1459036800!1459123199.zip\"\\r\\nContent-Disposition: attachment; \\r\\n\\tfilename=\"google.com!njae.me.uk!1459036800!1459123199.zip\"\\r\\nContent-Transfer-Encoding: base64\\r\\n\\r\\nUEsDBAoAAAAIAD1PfEjhndhx2QEAAHoEAAAvAAAAZ29vZ2xlLmNvbSFuamFlLm1lLnVrITE0NTkw\\r\\nMzY4MDAhMTQ1OTEyMzE5OS54bWytVMtyozAQvOcrKN+NEAbW3lKUPeULds+ULAasNUgqSeTx9yss\\r\\n8YiTqlz2hOiZ6ZnuEZCnt6FPXsBYoeTjDqfZLgHJVSNk97j78/t5f9wlT/SBtADNmfErfUgSYkAr\\r\\n4+oBHGuYYxPmUWW6WrIBaKdU10PK1UDQAoYcGJjoqVSeoX/fNwMzfG9HPdH92paFvFjz5gyruZKO\\r\\ncVcL2Sp6cU7bnwjF0nQtRQwxaV/BoLyoqvKYea7P9YE4yhANxRUuDvkxq0pc/sgOZZEXmKA1HvK9\\r\\nVqgNk11U46EzdEJSXJSn7FAdM98tIHMcZHOL4vyATyc/i5zJ0Ee2pdvWVKJVL/h7rcdzL+wFlkGU\\r\\nt0dS+ZdBOkA6Xj1bgEKcNVcxUENQOETQ6vaGTc8Aab8JCQTp+G5nwM6I5o7iSdZ0uI351UjeSa7M\\r\\nPJ1Rr4t+q0bDoRaa5jhPq1NalmmV+wYLPmdyNUpHfSgcZji2gxfWj96wZg5MLgirlRXO39w49hbZ\\r\\n5E0eaGatT1jsiHrbGFg82Ui86+k3NAsjogHpRCv8d7OUXYA1YOrWqOHDZrZ4JPpUTtjoLrUBO/Zu\\r\\nZbyb9putxys9UURR8WXRteUjG8X/g3u9VOhey5QcrgdB62/kH1BLAQIKAAoAAAAIAD1PfEjhndhx\\r\\n2QEAAHoEAAAvAAAAAAAAAAAAAAAAAAAAAABnb29nbGUuY29tIW5qYWUubWUudWshMTQ1OTAzNjgw\\r\\nMCExNDU5MTIzMTk5LnhtbFBLBQYAAAAAAQABAF0AAAAmAgAAAAA=\\r\\n'),\n",
270 " b')'])"
271 ]
272 },
273 "execution_count": 12,
274 "metadata": {},
275 "output_type": "execute_result"
276 }
277 ],
278 "source": [
279 "all_resp = mailbox.fetch(nums[0].split()[-1], '(RFC822)')\n",
280 "all_resp"
281 ]
282 },
283 {
284 "cell_type": "code",
285 "execution_count": 13,
286 "metadata": {
287 "collapsed": false
288 },
289 "outputs": [
290 {
291 "name": "stdout",
292 "output_type": "stream",
293 "text": [
294 "Return-Path: <noreply-dmarc-support@google.com>\r\n",
295 "Delivered-To: dmarc@njae.me.uk\r\n",
296 "Received: from localhost (localhost [127.0.0.1])\r\n",
297 "\tby mail.njae.me.uk (Postfix) with ESMTP id B966C8F\r\n",
298 "\tfor <dmarc@njae.me.uk>; Mon, 28 Mar 2016 11:11:48 +0100 (BST)\r\n",
299 "X-Virus-Scanned: Debian amavisd-new at njae.me.uk\r\n",
300 "Authentication-Results: ogedei.njae.me.uk (amavisd-new);\r\n",
301 "\tdkim=pass (2048-bit key) header.d=google.com\r\n",
302 "Received: from mail.njae.me.uk ([127.0.0.1])\r\n",
303 "\tby localhost (ogedei.njae.me.uk [127.0.0.1]) (amavisd-new, port 10024)\r\n",
304 "\twith ESMTP id GOe6I1LLVNl9 for <dmarc@njae.me.uk>;\r\n",
305 "\tMon, 28 Mar 2016 11:11:47 +0100 (BST)\r\n",
306 "Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.223.202; helo=mail-io0-f202.google.com; envelope-from=noreply-dmarc-support@google.com; receiver=dmarc@njae.me.uk \r\n",
307 "Authentication-Results: mail.njae.me.uk; dmarc=pass header.from=google.com\r\n",
308 "Authentication-Results: mail.njae.me.uk; dkim=pass\r\n",
309 "\treason=\"2048-bit key; unprotected key\"\r\n",
310 "\theader.d=google.com header.i=@google.com header.b=FskZAi7J;\r\n",
311 "\tdkim-adsp=pass; dkim-atps=neutral\r\n",
312 "Received: from mail-io0-f202.google.com (mail-io0-f202.google.com [209.85.223.202])\r\n",
313 "\tby mail.njae.me.uk (Postfix) with ESMTPS id CDAA850\r\n",
314 "\tfor <dmarc@njae.me.uk>; Mon, 28 Mar 2016 11:11:46 +0100 (BST)\r\n",
315 "Received: by mail-io0-f202.google.com with SMTP id e3so1655636ioa.1\r\n",
316 " for <dmarc@njae.me.uk>; Mon, 28 Mar 2016 03:11:46 -0700 (PDT)\r\n",
317 "DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r\n",
318 " d=google.com; s=20120113;\r\n",
319 " h=mime-version:message-id:date:subject:from:to:content-disposition\r\n",
320 " :content-transfer-encoding;\r\n",
321 " bh=ZMmMsYb7psOB4wlBTQUv+llYFZLud7uqkJWOqTZoywc=;\r\n",
322 " b=FskZAi7J5MJ/Py4sgZaL4dHbNcmccPHDWlFnblx0RT0Dlfb35hDkjtYg5ageqyFowe\r\n",
323 " o4hDspB8+L7cBsY+ftdbMhneveFpKvDgwZqq/88iMOWLuUN39ZWMC7m/XIz2CZhUlLMz\r\n",
324 " xE25EhSOW9xiWWBOESZzIfCvSOoTuyfxMTUFq1uvARg2NUOAdrFTLTivAsMyK2RNkisM\r\n",
325 " SrQRcwDaMLIlQw6FzG+gsO3u8wrT6ckd0fHJtkGptab6CqhEwdkY3kJMCmiasoP/io2v\r\n",
326 " KEsQCkByjHJgnL4tFu5yznLggBrbbvdK4HonSGKDi7cHyuoImxaVZNVMQhaYRnyPqj7j\r\n",
327 " o08g==\r\n",
328 "X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r\n",
329 " d=1e100.net; s=20130820;\r\n",
330 " h=x-gm-message-state:mime-version:message-id:date:subject:from:to\r\n",
331 " :content-disposition:content-transfer-encoding;\r\n",
332 " bh=ZMmMsYb7psOB4wlBTQUv+llYFZLud7uqkJWOqTZoywc=;\r\n",
333 " b=OJjK6bq/e//bsrZJ503gIDT0b582UN5hgfMRT+iJVwtH7ombD4ld+S/+NOfWVTwq8J\r\n",
334 " FoHVodNZjznUtkoOVOm3BFbliMPyxHoYKdbWyYgYH5KzlD9Iv81N5djl50nxdWNkbhK1\r\n",
335 " CZHike9tfLHF82v6i8BIRMubK8UHyCCOpVgFMM+GK3tTdyA7BY/0jXNqzfTDbS/FyeoW\r\n",
336 " sH/sckfOf4HN9DRgNbZ78aq5c1bAcx/N7Fn7+53uLBxw82XUd7JFi10kMd3jvPbHMORa\r\n",
337 " YQgyPoQxuQPvjfU0KTJiXQt+iP+ksHl0DO9umo+c5WzLdHk8QV1ryS5OEhUrfaORqK8a\r\n",
338 " 0d9g==\r\n",
339 "X-Gm-Message-State: AD7BkJLC5599FbOXiJoIKq3UlGXdkIr5BkghJuDHCJeDAQVhAr64/XYgB+fejr5uDj8FvDHPPSPVXA==\r\n",
340 "MIME-Version: 1.0\r\n",
341 "X-Received: by 10.182.243.135 with SMTP id wy7mr16780454obc.8.1459159905131;\r\n",
342 " Mon, 28 Mar 2016 03:11:45 -0700 (PDT)\r\n",
343 "Message-ID: <16143280651570354241@google.com>\r\n",
344 "Date: Mon, 28 Mar 2016 10:11:45 +0000\r\n",
345 "Subject: Report domain: njae.me.uk Submitter: google.com Report-ID: 16143280651570354241\r\n",
346 "From: noreply-dmarc-support@google.com\r\n",
347 "To: dmarc@njae.me.uk\r\n",
348 "Content-Type: application/zip; \r\n",
349 "\tname=\"google.com!njae.me.uk!1459036800!1459123199.zip\"\r\n",
350 "Content-Disposition: attachment; \r\n",
351 "\tfilename=\"google.com!njae.me.uk!1459036800!1459123199.zip\"\r\n",
352 "Content-Transfer-Encoding: base64\r\n",
353 "\r\n",
354 "UEsDBAoAAAAIAD1PfEjhndhx2QEAAHoEAAAvAAAAZ29vZ2xlLmNvbSFuamFlLm1lLnVrITE0NTkw\r\n",
355 "MzY4MDAhMTQ1OTEyMzE5OS54bWytVMtyozAQvOcrKN+NEAbW3lKUPeULds+ULAasNUgqSeTx9yss\r\n",
356 "8YiTqlz2hOiZ6ZnuEZCnt6FPXsBYoeTjDqfZLgHJVSNk97j78/t5f9wlT/SBtADNmfErfUgSYkAr\r\n",
357 "4+oBHGuYYxPmUWW6WrIBaKdU10PK1UDQAoYcGJjoqVSeoX/fNwMzfG9HPdH92paFvFjz5gyruZKO\r\n",
358 "cVcL2Sp6cU7bnwjF0nQtRQwxaV/BoLyoqvKYea7P9YE4yhANxRUuDvkxq0pc/sgOZZEXmKA1HvK9\r\n",
359 "VqgNk11U46EzdEJSXJSn7FAdM98tIHMcZHOL4vyATyc/i5zJ0Ee2pdvWVKJVL/h7rcdzL+wFlkGU\r\n",
360 "t0dS+ZdBOkA6Xj1bgEKcNVcxUENQOETQ6vaGTc8Aab8JCQTp+G5nwM6I5o7iSdZ0uI351UjeSa7M\r\n",
361 "PJ1Rr4t+q0bDoRaa5jhPq1NalmmV+wYLPmdyNUpHfSgcZji2gxfWj96wZg5MLgirlRXO39w49hbZ\r\n",
362 "5E0eaGatT1jsiHrbGFg82Ui86+k3NAsjogHpRCv8d7OUXYA1YOrWqOHDZrZ4JPpUTtjoLrUBO/Zu\r\n",
363 "Zbyb9putxys9UURR8WXRteUjG8X/g3u9VOhey5QcrgdB62/kH1BLAQIKAAoAAAAIAD1PfEjhndhx\r\n",
364 "2QEAAHoEAAAvAAAAAAAAAAAAAAAAAAAAAABnb29nbGUuY29tIW5qYWUubWUudWshMTQ1OTAzNjgw\r\n",
365 "MCExNDU5MTIzMTk5LnhtbFBLBQYAAAAAAQABAF0AAAAmAgAAAAA=\r\n",
366 "\n"
367 ]
368 }
369 ],
370 "source": [
371 "print(all_resp[1][0][1].decode('utf-8'))"
372 ]
373 },
374 {
375 "cell_type": "code",
376 "execution_count": 14,
377 "metadata": {
378 "collapsed": false
379 },
380 "outputs": [
381 {
382 "data": {
383 "text/plain": [
384 "('OK',\n",
385 " [(b'172 (BODY[1] {912}',\n",
386 " b'UEsDBAoAAAAIAD1PfEjhndhx2QEAAHoEAAAvAAAAZ29vZ2xlLmNvbSFuamFlLm1lLnVrITE0NTkw\\r\\nMzY4MDAhMTQ1OTEyMzE5OS54bWytVMtyozAQvOcrKN+NEAbW3lKUPeULds+ULAasNUgqSeTx9yss\\r\\n8YiTqlz2hOiZ6ZnuEZCnt6FPXsBYoeTjDqfZLgHJVSNk97j78/t5f9wlT/SBtADNmfErfUgSYkAr\\r\\n4+oBHGuYYxPmUWW6WrIBaKdU10PK1UDQAoYcGJjoqVSeoX/fNwMzfG9HPdH92paFvFjz5gyruZKO\\r\\ncVcL2Sp6cU7bnwjF0nQtRQwxaV/BoLyoqvKYea7P9YE4yhANxRUuDvkxq0pc/sgOZZEXmKA1HvK9\\r\\nVqgNk11U46EzdEJSXJSn7FAdM98tIHMcZHOL4vyATyc/i5zJ0Ee2pdvWVKJVL/h7rcdzL+wFlkGU\\r\\nt0dS+ZdBOkA6Xj1bgEKcNVcxUENQOETQ6vaGTc8Aab8JCQTp+G5nwM6I5o7iSdZ0uI351UjeSa7M\\r\\nPJ1Rr4t+q0bDoRaa5jhPq1NalmmV+wYLPmdyNUpHfSgcZji2gxfWj96wZg5MLgirlRXO39w49hbZ\\r\\n5E0eaGatT1jsiHrbGFg82Ui86+k3NAsjogHpRCv8d7OUXYA1YOrWqOHDZrZ4JPpUTtjoLrUBO/Zu\\r\\nZbyb9putxys9UURR8WXRteUjG8X/g3u9VOhey5QcrgdB62/kH1BLAQIKAAoAAAAIAD1PfEjhndhx\\r\\n2QEAAHoEAAAvAAAAAAAAAAAAAAAAAAAAAABnb29nbGUuY29tIW5qYWUubWUudWshMTQ1OTAzNjgw\\r\\nMCExNDU5MTIzMTk5LnhtbFBLBQYAAAAAAQABAF0AAAAmAgAAAAA=\\r\\n'),\n",
387 " b')'])"
388 ]
389 },
390 "execution_count": 14,
391 "metadata": {},
392 "output_type": "execute_result"
393 }
394 ],
395 "source": [
396 "all_resp = mailbox.fetch(nums[0].split()[-1], '(BODY[1])')\n",
397 "all_resp"
398 ]
399 },
400 {
401 "cell_type": "code",
402 "execution_count": 15,
403 "metadata": {
404 "collapsed": false
405 },
406 "outputs": [
407 {
408 "data": {
409 "text/plain": [
410 "('OK',\n",
411 " [b'172 (BODY (\"application\" \"zip\" (\"name\" \"google.com!njae.me.uk!1459036800!1459123199.zip\") NIL NIL \"base64\" 912))'])"
412 ]
413 },
414 "execution_count": 15,
415 "metadata": {},
416 "output_type": "execute_result"
417 }
418 ],
419 "source": [
420 "all_resp = mailbox.fetch(nums[0].split()[-1], '(BODY)')\n",
421 "all_resp"
422 ]
423 },
424 {
425 "cell_type": "code",
426 "execution_count": 16,
427 "metadata": {
428 "collapsed": false
429 },
430 "outputs": [
431 {
432 "data": {
433 "text/plain": [
434 "55"
435 ]
436 },
437 "execution_count": 16,
438 "metadata": {},
439 "output_type": "execute_result"
440 }
441 ],
442 "source": [
443 "all_resp[1][0][1]"
444 ]
445 },
446 {
447 "cell_type": "code",
448 "execution_count": 17,
449 "metadata": {
450 "collapsed": false
451 },
452 "outputs": [
453 {
454 "data": {
455 "text/plain": [
456 "int"
457 ]
458 },
459 "execution_count": 17,
460 "metadata": {},
461 "output_type": "execute_result"
462 }
463 ],
464 "source": [
465 "type(all_resp[1][0][1])"
466 ]
467 },
468 {
469 "cell_type": "code",
470 "execution_count": 18,
471 "metadata": {
472 "collapsed": false
473 },
474 "outputs": [
475 {
476 "data": {
477 "text/plain": [
478 "b'Return-Path: <noreply-dmarc-support@google.com>\\r\\nDelivered-To: dmarc@njae.me.uk\\r\\nReceived: from localhost (localhost [127.0.0.1])\\r\\n\\tby mail.njae.me.uk (Postfix) with ESMTP id B966C8F\\r\\n\\tfor <dmarc@njae.me.uk>; Mon, 28 Mar 2016 11:11:48 +0100 (BST)\\r\\nX-Virus-Scanned: Debian amavisd-new at njae.me.uk\\r\\nAuthentication-Results: ogedei.njae.me.uk (amavisd-new);\\r\\n\\tdkim=pass (2048-bit key) header.d=google.com\\r\\nReceived: from mail.njae.me.uk ([127.0.0.1])\\r\\n\\tby localhost (ogedei.njae.me.uk [127.0.0.1]) (amavisd-new, port 10024)\\r\\n\\twith ESMTP id GOe6I1LLVNl9 for <dmarc@njae.me.uk>;\\r\\n\\tMon, 28 Mar 2016 11:11:47 +0100 (BST)\\r\\nReceived-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=209.85.223.202; helo=mail-io0-f202.google.com; envelope-from=noreply-dmarc-support@google.com; receiver=dmarc@njae.me.uk \\r\\nAuthentication-Results: mail.njae.me.uk; dmarc=pass header.from=google.com\\r\\nAuthentication-Results: mail.njae.me.uk; dkim=pass\\r\\n\\treason=\"2048-bit key; unprotected key\"\\r\\n\\theader.d=google.com header.i=@google.com header.b=FskZAi7J;\\r\\n\\tdkim-adsp=pass; dkim-atps=neutral\\r\\nReceived: from mail-io0-f202.google.com (mail-io0-f202.google.com [209.85.223.202])\\r\\n\\tby mail.njae.me.uk (Postfix) with ESMTPS id CDAA850\\r\\n\\tfor <dmarc@njae.me.uk>; Mon, 28 Mar 2016 11:11:46 +0100 (BST)\\r\\nReceived: by mail-io0-f202.google.com with SMTP id e3so1655636ioa.1\\r\\n for <dmarc@njae.me.uk>; Mon, 28 Mar 2016 03:11:46 -0700 (PDT)\\r\\nDKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\\r\\n d=google.com; s=20120113;\\r\\n h=mime-version:message-id:date:subject:from:to:content-disposition\\r\\n :content-transfer-encoding;\\r\\n bh=ZMmMsYb7psOB4wlBTQUv+llYFZLud7uqkJWOqTZoywc=;\\r\\n b=FskZAi7J5MJ/Py4sgZaL4dHbNcmccPHDWlFnblx0RT0Dlfb35hDkjtYg5ageqyFowe\\r\\n o4hDspB8+L7cBsY+ftdbMhneveFpKvDgwZqq/88iMOWLuUN39ZWMC7m/XIz2CZhUlLMz\\r\\n xE25EhSOW9xiWWBOESZzIfCvSOoTuyfxMTUFq1uvARg2NUOAdrFTLTivAsMyK2RNkisM\\r\\n SrQRcwDaMLIlQw6FzG+gsO3u8wrT6ckd0fHJtkGptab6CqhEwdkY3kJMCmiasoP/io2v\\r\\n KEsQCkByjHJgnL4tFu5yznLggBrbbvdK4HonSGKDi7cHyuoImxaVZNVMQhaYRnyPqj7j\\r\\n o08g==\\r\\nX-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\\r\\n d=1e100.net; s=20130820;\\r\\n h=x-gm-message-state:mime-version:message-id:date:subject:from:to\\r\\n :content-disposition:content-transfer-encoding;\\r\\n bh=ZMmMsYb7psOB4wlBTQUv+llYFZLud7uqkJWOqTZoywc=;\\r\\n b=OJjK6bq/e//bsrZJ503gIDT0b582UN5hgfMRT+iJVwtH7ombD4ld+S/+NOfWVTwq8J\\r\\n FoHVodNZjznUtkoOVOm3BFbliMPyxHoYKdbWyYgYH5KzlD9Iv81N5djl50nxdWNkbhK1\\r\\n CZHike9tfLHF82v6i8BIRMubK8UHyCCOpVgFMM+GK3tTdyA7BY/0jXNqzfTDbS/FyeoW\\r\\n sH/sckfOf4HN9DRgNbZ78aq5c1bAcx/N7Fn7+53uLBxw82XUd7JFi10kMd3jvPbHMORa\\r\\n YQgyPoQxuQPvjfU0KTJiXQt+iP+ksHl0DO9umo+c5WzLdHk8QV1ryS5OEhUrfaORqK8a\\r\\n 0d9g==\\r\\nX-Gm-Message-State: AD7BkJLC5599FbOXiJoIKq3UlGXdkIr5BkghJuDHCJeDAQVhAr64/XYgB+fejr5uDj8FvDHPPSPVXA==\\r\\nMIME-Version: 1.0\\r\\nX-Received: by 10.182.243.135 with SMTP id wy7mr16780454obc.8.1459159905131;\\r\\n Mon, 28 Mar 2016 03:11:45 -0700 (PDT)\\r\\nMessage-ID: <16143280651570354241@google.com>\\r\\nDate: Mon, 28 Mar 2016 10:11:45 +0000\\r\\nSubject: Report domain: njae.me.uk Submitter: google.com Report-ID: 16143280651570354241\\r\\nFrom: noreply-dmarc-support@google.com\\r\\nTo: dmarc@njae.me.uk\\r\\nContent-Type: application/zip; \\r\\n\\tname=\"google.com!njae.me.uk!1459036800!1459123199.zip\"\\r\\nContent-Disposition: attachment; \\r\\n\\tfilename=\"google.com!njae.me.uk!1459036800!1459123199.zip\"\\r\\nContent-Transfer-Encoding: base64\\r\\n\\r\\nUEsDBAoAAAAIAD1PfEjhndhx2QEAAHoEAAAvAAAAZ29vZ2xlLmNvbSFuamFlLm1lLnVrITE0NTkw\\r\\nMzY4MDAhMTQ1OTEyMzE5OS54bWytVMtyozAQvOcrKN+NEAbW3lKUPeULds+ULAasNUgqSeTx9yss\\r\\n8YiTqlz2hOiZ6ZnuEZCnt6FPXsBYoeTjDqfZLgHJVSNk97j78/t5f9wlT/SBtADNmfErfUgSYkAr\\r\\n4+oBHGuYYxPmUWW6WrIBaKdU10PK1UDQAoYcGJjoqVSeoX/fNwMzfG9HPdH92paFvFjz5gyruZKO\\r\\ncVcL2Sp6cU7bnwjF0nQtRQwxaV/BoLyoqvKYea7P9YE4yhANxRUuDvkxq0pc/sgOZZEXmKA1HvK9\\r\\nVqgNk11U46EzdEJSXJSn7FAdM98tIHMcZHOL4vyATyc/i5zJ0Ee2pdvWVKJVL/h7rcdzL+wFlkGU\\r\\nt0dS+ZdBOkA6Xj1bgEKcNVcxUENQOETQ6vaGTc8Aab8JCQTp+G5nwM6I5o7iSdZ0uI351UjeSa7M\\r\\nPJ1Rr4t+q0bDoRaa5jhPq1NalmmV+wYLPmdyNUpHfSgcZji2gxfWj96wZg5MLgirlRXO39w49hbZ\\r\\n5E0eaGatT1jsiHrbGFg82Ui86+k3NAsjogHpRCv8d7OUXYA1YOrWqOHDZrZ4JPpUTtjoLrUBO/Zu\\r\\nZbyb9putxys9UURR8WXRteUjG8X/g3u9VOhey5QcrgdB62/kH1BLAQIKAAoAAAAIAD1PfEjhndhx\\r\\n2QEAAHoEAAAvAAAAAAAAAAAAAAAAAAAAAABnb29nbGUuY29tIW5qYWUubWUudWshMTQ1OTAzNjgw\\r\\nMCExNDU5MTIzMTk5LnhtbFBLBQYAAAAAAQABAF0AAAAmAgAAAAA=\\r\\n'"
479 ]
480 },
481 "execution_count": 18,
482 "metadata": {},
483 "output_type": "execute_result"
484 }
485 ],
486 "source": [
487 "msg = mailbox.fetch(nums[0].split()[-1], '(RFC822)')[1][0][1]\n",
488 "msg"
489 ]
490 },
491 {
492 "cell_type": "code",
493 "execution_count": 19,
494 "metadata": {
495 "collapsed": false
496 },
497 "outputs": [
498 {
499 "data": {
500 "text/plain": [
501 "<email.message.Message at 0x7f1bbc67e048>"
502 ]
503 },
504 "execution_count": 19,
505 "metadata": {},
506 "output_type": "execute_result"
507 }
508 ],
509 "source": [
510 "pmsg = email.parser.BytesParser()\n",
511 "pmsg.parsebytes(msg)"
512 ]
513 },
514 {
515 "cell_type": "code",
516 "execution_count": 20,
517 "metadata": {
518 "collapsed": false
519 },
520 "outputs": [
521 {
522 "data": {
523 "text/plain": [
524 "<email.message.Message at 0x7f1bbc67e390>"
525 ]
526 },
527 "execution_count": 20,
528 "metadata": {},
529 "output_type": "execute_result"
530 }
531 ],
532 "source": [
533 "pmsg = email.message_from_bytes(msg)\n",
534 "pmsg"
535 ]
536 },
537 {
538 "cell_type": "code",
539 "execution_count": 21,
540 "metadata": {
541 "collapsed": false
542 },
543 "outputs": [
544 {
545 "data": {
546 "text/plain": [
547 "'application/zip'"
548 ]
549 },
550 "execution_count": 21,
551 "metadata": {},
552 "output_type": "execute_result"
553 }
554 ],
555 "source": [
556 "pmsg.get_content_type()"
557 ]
558 },
559 {
560 "cell_type": "code",
561 "execution_count": 22,
562 "metadata": {
563 "collapsed": false
564 },
565 "outputs": [
566 {
567 "data": {
568 "text/plain": [
569 "'UEsDBAoAAAAIAD1PfEjhndhx2QEAAHoEAAAvAAAAZ29vZ2xlLmNvbSFuamFlLm1lLnVrITE0NTkw\\r\\nMzY4MDAhMTQ1OTEyMzE5OS54bWytVMtyozAQvOcrKN+NEAbW3lKUPeULds+ULAasNUgqSeTx9yss\\r\\n8YiTqlz2hOiZ6ZnuEZCnt6FPXsBYoeTjDqfZLgHJVSNk97j78/t5f9wlT/SBtADNmfErfUgSYkAr\\r\\n4+oBHGuYYxPmUWW6WrIBaKdU10PK1UDQAoYcGJjoqVSeoX/fNwMzfG9HPdH92paFvFjz5gyruZKO\\r\\ncVcL2Sp6cU7bnwjF0nQtRQwxaV/BoLyoqvKYea7P9YE4yhANxRUuDvkxq0pc/sgOZZEXmKA1HvK9\\r\\nVqgNk11U46EzdEJSXJSn7FAdM98tIHMcZHOL4vyATyc/i5zJ0Ee2pdvWVKJVL/h7rcdzL+wFlkGU\\r\\nt0dS+ZdBOkA6Xj1bgEKcNVcxUENQOETQ6vaGTc8Aab8JCQTp+G5nwM6I5o7iSdZ0uI351UjeSa7M\\r\\nPJ1Rr4t+q0bDoRaa5jhPq1NalmmV+wYLPmdyNUpHfSgcZji2gxfWj96wZg5MLgirlRXO39w49hbZ\\r\\n5E0eaGatT1jsiHrbGFg82Ui86+k3NAsjogHpRCv8d7OUXYA1YOrWqOHDZrZ4JPpUTtjoLrUBO/Zu\\r\\nZbyb9putxys9UURR8WXRteUjG8X/g3u9VOhey5QcrgdB62/kH1BLAQIKAAoAAAAIAD1PfEjhndhx\\r\\n2QEAAHoEAAAvAAAAAAAAAAAAAAAAAAAAAABnb29nbGUuY29tIW5qYWUubWUudWshMTQ1OTAzNjgw\\r\\nMCExNDU5MTIzMTk5LnhtbFBLBQYAAAAAAQABAF0AAAAmAgAAAAA=\\r\\n'"
570 ]
571 },
572 "execution_count": 22,
573 "metadata": {},
574 "output_type": "execute_result"
575 }
576 ],
577 "source": [
578 "pmsg.get_payload()"
579 ]
580 },
581 {
582 "cell_type": "code",
583 "execution_count": 23,
584 "metadata": {
585 "collapsed": false
586 },
587 "outputs": [
588 {
589 "data": {
590 "text/plain": [
591 "b\"PK\\x03\\x04\\n\\x00\\x00\\x00\\x08\\x00=O|H\\xe1\\x9d\\xd8q\\xd9\\x01\\x00\\x00z\\x04\\x00\\x00/\\x00\\x00\\x00google.com!njae.me.uk!1459036800!1459123199.xml\\xadT\\xcbr\\xa30\\x10\\xbc\\xe7+(\\xdf\\x8d\\x10\\x06\\xd6\\xdeR\\x94=\\xe5\\x0bv\\xcf\\x94,\\x06\\xac5H*I\\xe4\\xf1\\xf7+,\\xf1\\x88\\x93\\xaa\\\\\\xf6\\x84\\xe8\\x99\\xe9\\x99\\xee\\x11\\x90\\xa7\\xb7\\xa1O^\\xc0X\\xa1\\xe4\\xe3\\x0e\\xa7\\xd9.\\x01\\xc9U#d\\xf7\\xb8\\xfb\\xf3\\xfby\\x7f\\xdc%O\\xf4\\x81\\xb4\\x00\\xcd\\x99\\xf1+}H\\x12b@+\\xe3\\xea\\x01\\x1ck\\x98c\\x13\\xe6Qe\\xbaZ\\xb2\\x01h\\xa7T\\xd7C\\xca\\xd5@\\xd0\\x02\\x86\\x1c\\x18\\x98\\xe8\\xa9T\\x9e\\xa1\\x7f\\xdf7\\x033|oG=\\xd1\\xfd\\xda\\x96\\x85\\xbcX\\xf3\\xe6\\x0c\\xab\\xb9\\x92\\x8eqW\\x0b\\xd9*zqN\\xdb\\x9f\\x08\\xc5\\xd2t-E\\x0c1i_\\xc1\\xa0\\xbc\\xa8\\xaa\\xf2\\x98y\\xae\\xcf\\xf5\\x818\\xca\\x10\\r\\xc5\\x15.\\x0e\\xf91\\xabJ\\\\\\xfe\\xc8\\x0ee\\x91\\x17\\x98\\xa05\\x1e\\xf2\\xbdV\\xa8\\r\\x93]T\\xe3\\xa13tBR\\\\\\x94\\xa7\\xecP\\x1d3\\xdf- s\\x1cds\\x8b\\xe2\\xfc\\x80O'?\\x8b\\x9c\\xc9\\xd0G\\xb6\\xa5\\xdb\\xd6T\\xa2U/\\xf8{\\xad\\xc7s/\\xec\\x05\\x96A\\x94\\xb7GR\\xf9\\x97A:@:^=[\\x80B\\x9c5W1PCP8D\\xd0\\xea\\xf6\\x86M\\xcf\\x00i\\xbf\\t\\t\\x04\\xe9\\xf8ng\\xc0\\xce\\x88\\xe6\\x8e\\xe2I\\xd6t\\xb8\\x8d\\xf9\\xd5H\\xdeI\\xae\\xcc<\\x9dQ\\xaf\\x8b~\\xabF\\xc3\\xa1\\x16\\x9a\\xe68O\\xabSZ\\x96i\\x95\\xfb\\x06\\x0b>gr5JG}(\\x1cf8\\xb6\\x83\\x17\\xd6\\x8f\\xde\\xb0f\\x0eL.\\x08\\xab\\x95\\x15\\xce\\xdf\\xdc8\\xf6\\x16\\xd9\\xe4M\\x1ehf\\xadOX\\xec\\x88z\\xdb\\x18X<\\xd9H\\xbc\\xeb\\xe974\\x0b#\\xa2\\x01\\xe9D+\\xfcw\\xb3\\x94]\\x805`\\xea\\xd6\\xa8\\xe1\\xc3f\\xb6x$\\xfaTN\\xd8\\xe8.\\xb5\\x01;\\xf6ne\\xbc\\x9b\\xf6\\x9b\\xad\\xc7+=QDQ\\xf1e\\xd1\\xb5\\xe5#\\x1b\\xc5\\xff\\x83{\\xbdT\\xe8^\\xcb\\x94\\x1c\\xae\\x07A\\xebo\\xe4\\x1fPK\\x01\\x02\\n\\x00\\n\\x00\\x00\\x00\\x08\\x00=O|H\\xe1\\x9d\\xd8q\\xd9\\x01\\x00\\x00z\\x04\\x00\\x00/\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00google.com!njae.me.uk!1459036800!1459123199.xmlPK\\x05\\x06\\x00\\x00\\x00\\x00\\x01\\x00\\x01\\x00]\\x00\\x00\\x00&\\x02\\x00\\x00\\x00\\x00\""
592 ]
593 },
594 "execution_count": 23,
595 "metadata": {},
596 "output_type": "execute_result"
597 }
598 ],
599 "source": [
600 "pmsg.get_payload(decode=True)"
601 ]
602 },
603 {
604 "cell_type": "code",
605 "execution_count": 24,
606 "metadata": {
607 "collapsed": true
608 },
609 "outputs": [],
610 "source": [
611 "# io.BytesIO(pmsg.get_payload(decode=True))\n",
612 "zfp = zipfile.ZipFile(io.BytesIO(pmsg.get_payload(decode=True)))"
613 ]
614 },
615 {
616 "cell_type": "code",
617 "execution_count": 25,
618 "metadata": {
619 "collapsed": false
620 },
621 "outputs": [
622 {
623 "data": {
624 "text/plain": [
625 "'google.com!njae.me.uk!1459036800!1459123199.xml'"
626 ]
627 },
628 "execution_count": 25,
629 "metadata": {},
630 "output_type": "execute_result"
631 }
632 ],
633 "source": [
634 "zfp.infolist()[0].filename"
635 ]
636 },
637 {
638 "cell_type": "code",
639 "execution_count": 26,
640 "metadata": {
641 "collapsed": true
642 },
643 "outputs": [],
644 "source": [
645 "def walk(node, indent=0):\n",
646 " for child in node:\n",
647 " print(' '*indent, child.tag, ':', child.text.strip())\n",
648 " walk(child, indent+2)"
649 ]
650 },
651 {
652 "cell_type": "code",
653 "execution_count": 27,
654 "metadata": {
655 "collapsed": true
656 },
657 "outputs": [],
658 "source": [
659 "zfp.close()"
660 ]
661 },
662 {
663 "cell_type": "code",
664 "execution_count": 28,
665 "metadata": {
666 "collapsed": false
667 },
668 "outputs": [
669 {
670 "name": "stdout",
671 "output_type": "stream",
672 "text": [
673 " report_metadata : \n",
674 " org_name : google.com\n",
675 " email : noreply-dmarc-support@google.com\n",
676 " extra_contact_info : https://support.google.com/a/answer/2466580\n",
677 " report_id : 16143280651570354241\n",
678 " date_range : \n",
679 " begin : 1459036800\n",
680 " end : 1459123199\n",
681 " policy_published : \n",
682 " domain : njae.me.uk\n",
683 " adkim : r\n",
684 " aspf : r\n",
685 " p : none\n",
686 " sp : none\n",
687 " pct : 100\n",
688 " record : \n",
689 " row : \n",
690 " source_ip : 212.69.55.62\n",
691 " count : 2\n",
692 " policy_evaluated : \n",
693 " disposition : none\n",
694 " dkim : pass\n",
695 " spf : pass\n",
696 " identifiers : \n",
697 " header_from : njae.me.uk\n",
698 " auth_results : \n",
699 " dkim : \n",
700 " domain : njae.me.uk\n",
701 " result : pass\n",
702 " spf : \n",
703 " domain : njae.me.uk\n",
704 " result : pass\n"
705 ]
706 }
707 ],
708 "source": [
709 "with zipfile.ZipFile(io.BytesIO(pmsg.get_payload(decode=True))) as zf:\n",
710 " fn = zf.infolist()[0].filename\n",
711 " contents = zf.read(fn).decode('utf-8')\n",
712 " root = xml.etree.ElementTree.fromstring(contents)\n",
713 " walk(root)"
714 ]
715 },
716 {
717 "cell_type": "code",
718 "execution_count": 82,
719 "metadata": {
720 "collapsed": false
721 },
722 "outputs": [
723 {
724 "ename": "RuntimeError",
725 "evalue": "No active exception to reraise",
726 "output_type": "error",
727 "traceback": [
728 "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
729 "\u001b[1;31mRuntimeError\u001b[0m Traceback (most recent call last)",
730 "\u001b[1;32m<ipython-input-82-26814ed17a01>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[1;32mraise\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
731 "\u001b[1;31mRuntimeError\u001b[0m: No active exception to reraise"
732 ]
733 }
734 ],
735 "source": [
736 "raise"
737 ]
738 },
739 {
740 "cell_type": "code",
741 "execution_count": 29,
742 "metadata": {
743 "collapsed": false
744 },
745 "outputs": [
746 {
747 "data": {
748 "text/plain": [
749 "('OK', [b'Close completed.'])"
750 ]
751 },
752 "execution_count": 29,
753 "metadata": {},
754 "output_type": "execute_result"
755 }
756 ],
757 "source": [
758 "mailbox.close()"
759 ]
760 },
761 {
762 "cell_type": "code",
763 "execution_count": 30,
764 "metadata": {
765 "collapsed": false
766 },
767 "outputs": [
768 {
769 "data": {
770 "text/plain": [
771 "('BYE', [b'Logging out'])"
772 ]
773 },
774 "execution_count": 30,
775 "metadata": {},
776 "output_type": "execute_result"
777 }
778 ],
779 "source": [
780 "mailbox.logout()"
781 ]
782 },
783 {
784 "cell_type": "code",
785 "execution_count": null,
786 "metadata": {
787 "collapsed": true
788 },
789 "outputs": [],
790 "source": []
791 }
792 ],
793 "metadata": {
794 "kernelspec": {
795 "display_name": "Python 3",
796 "language": "python",
797 "name": "python3"
798 },
799 "language_info": {
800 "codemirror_mode": {
801 "name": "ipython",
802 "version": 3
803 },
804 "file_extension": ".py",
805 "mimetype": "text/x-python",
806 "name": "python",
807 "nbconvert_exporter": "python",
808 "pygments_lexer": "ipython3",
809 "version": "3.4.3+"
810 }
811 },
812 "nbformat": 4,
813 "nbformat_minor": 0
814 }