File size: 776 Bytes
e895030
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import base64
from bs4 import BeautifulSoup

def extract_email_body(payload):

    if "parts" in payload:

        for part in payload["parts"]:

            data = part["body"].get("data")

            if not data:
                continue

            decoded = base64.urlsafe_b64decode(
                data
            ).decode(errors="ignore")

            mime = part.get("mimeType")

            if mime == "text/html":
                return BeautifulSoup(
                    decoded,
                    "html.parser"
                ).get_text()

            return decoded

    else:

        data = payload["body"].get("data")

        if data:
            return base64.urlsafe_b64decode(
                data
            ).decode(errors="ignore")

    return ""