1
0
mirror of https://github.com/Foltik/dotfiles synced 2024-11-24 12:26:05 -05:00
dotfiles/cfg/i3blocks/laptop/blocks/mail
2017-07-26 11:05:09 -07:00

59 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# Requires https://www.google.com/settings/security/lesssecureapps for gmail.
CONFIG_FILE="${BLOCK_INSTANCE}"
CONFIG_FILE=${CONFIG_FILE/\~/$HOME}
# Config file needs the following settings:
#MAIL_SERVER="imap.domain.tld:993"
#MAIL_USER="user@domain.tld"
#MAIL_PASSWORD="secret"
#MAIL_FOLDER="INBOX"
if [[ ! -f "${CONFIG_FILE}" ]]; then
echo "${CONFIG_FILE}"
exit 33
fi
source "${CONFIG_FILE}"
MAIN_DOMAIN=$(expr match "${MAIL_SERVER}" '.*\.\(.*\..*\)' | awk -F ':' '{print $1}')
# Add https so xdg knows that it's a website
if [[ "${MAIN_DOMAIN}" != http* ]]; then
MAIN_DOMAIN="https://${MAIN_DOMAIN}"
fi
# Left click
if [[ "${BLOCK_BUTTON}" -eq 1 ]]; then
xdg-open "${MAIN_DOMAIN}"
fi
MAIL_FILE="/tmp/.mail"
URGENT_VALUE="100"
GET_UNREAD=$(cat<<EOF
? LOGIN "${MAIL_USER}" "${MAIL_PASSWORD}"
? STATUS "${MAIL_FOLDER}" (unseen)
? LOGOUT
EOF
)
echo "${GET_UNREAD}" | openssl s_client -connect "${MAIL_SERVER}" -crlf -ign_eof > "${MAIL_FILE}" 2>/dev/null
UNREAD_COUNT=$(cat "${MAIL_FILE}" | grep -i "UNSEEN" | grep -oE "[0-9]*" | head -n 1)
# For security reasons
rm "${MAIL_FILE}"
if [[ "${UNREAD_COUNT}" = "" ]]; then
exit
fi
echo "${UNREAD_COUNT}"
echo "${UNREAD_COUNT}"
echo ""
if [[ "${UNREAD_COUNT}" -ge URGENT_VALUE ]]; then
exit 33
fi