Example #1
0
def main():
    global gmail_service
    try:
        gmail_service = build('gmail', 'v1', http=Auth('settings.json'))
        for mail in getUsersMails(uId='me', query='is:unread'):
            headers = getMailHeaders(mail['id'])
            if headers['subject'].lower().strip() in ('cikis', 'quit'):
                processMail(mail['id'])
                user = headers['from']
                user = user[user.rfind('<')+1:-1]
                res = userDeleter.deleteMember(user)
                if res:
                    sendMail(user, msgSuccess)
                else:
                    sendMail(user, msgError)
    except errors.HttpError as e:
        print('An error occured: %s' % e)
Example #2
0
        except errors.HttpError as error:
            print("An error occurred: %s" % error)
            break
    return mails


def getMailHeaders(mId, uId="me"):
    params = {"id": mId, "userId": uId}

    resp = gmail_service.users().messages().get(**params).execute()
    headers = resp["payload"]["headers"]
    res = {}
    for header in headers:
        res[header["name"].lower()] = header["value"].translate(table)
    return res


def processMail(mId, uId="me"):
    params = {"id": mId, "userId": uId, "body": {"removeLabelIds": ["UNREAD", "INBOX"], "addLabelIds": ["Label_1"]}}
    gmail_service.users().messages().modify(**params).execute()


gmail_service = build("gmail", "v1", http=Auth("settings.json"))
for mail in getUsersMails(uId="me", query="is:unread"):
    headers = getMailHeaders(mail["id"])
    if headers["subject"].lower() in ("cikis", "quit"):
        processMail(mail["id"])
        user = headers["from"]
        user = user[user.rfind("<") + 1 : -1]
        userDeleter.deleteMember(user)