#!/data/data/com.termux/files/usr/bin/bash

clear

echo "=========================="
echo "     MAIL.TM TEMP EMAIL"
echo "=========================="
echo

DOMAIN=$(curl -s https://api.mail.tm/domains \
| grep -o '"domain":"[^"]*"' \
| head -n1 \
| cut -d'"' -f4)

LOGIN=$(tr -dc 'a-z0-9' </dev/urandom | head -c 10)
PASSWORD=$(tr -dc 'A-Za-z0-9' </dev/urandom | head -c 16)

EMAIL="${LOGIN}@${DOMAIN}"

curl -s -X POST https://api.mail.tm/accounts \
-H "Content-Type: application/json" \
-d "{\"address\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" \
>/dev/null

TOKEN=$(curl -s -X POST https://api.mail.tm/token \
-H "Content-Type: application/json" \
-d "{\"address\":\"$EMAIL\",\"password\":\"$PASSWORD\"}" \
| grep -o '"token":"[^"]*"' \
| cut -d'"' -f4)

echo "Your temporary email address is:"
echo
echo "$EMAIL"
echo
echo "Checking inbox every 10 seconds..."
echo "Press Ctrl+C to stop."
echo

while true
do
    MESSAGES=$(curl -s https://api.mail.tm/messages \
    -H "Authorization: Bearer $TOKEN")

    IDS=$(echo "$MESSAGES" \
    | grep -o '"/messages/[0-9a-zA-Z-]*"' \
    | cut -d'/' -f3 \
    | tr -d '"')

    if [ -n "$IDS" ]; then
        echo
        echo "=========================="
        echo "      NEW MESSAGE"
        echo "=========================="

        for ID in $IDS
        do
            MSG=$(curl -s "https://api.mail.tm/messages/$ID" \
            -H "Authorization: Bearer $TOKEN")

            FROM=$(echo "$MSG" \
            | grep -o '"address":"[^"]*"' \
            | head -n1 \
            | cut -d'"' -f4)

            SUBJECT=$(echo "$MSG" \
            | grep -o '"subject":"[^"]*"' \
            | head -n1 \
            | cut -d'"' -f4)

            BODY=$(echo "$MSG" \
            | sed 's/\\n/\n/g' \
            | grep -o '"text":"[^"]*"' \
            | head -n1 \
            | cut -d'"' -f4)

            echo
            echo "From   : $FROM"
            echo "Subject: $SUBJECT"
            echo "Body   :"
            echo "$BODY"
            echo
            echo "--------------------------"
        done
    else
        echo "$(date '+%H:%M:%S') - Inbox empty"
    fi

    sleep 10
done
