#!/bin/bash
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								DIRECTORY="$(dirname "$(dirname "$( cd "$(dirname "$0")" >/dev/null 2>&1 ; pwd -P )")")"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								function error {
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  echo -e "\\e[91m$1\\e[39m"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  exit 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#use the error function often!
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#If a certain command is necessary for installation to continue, then add this to the end of it:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# || error 'reason'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#example below:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								# Get dependencies
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								"${DIRECTORY}/pkg-install" "zenity python3-pip yad" "$(dirname "$0")" || exit 1
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sudo pip3 install imapclient || error "Failed to install imapclient!"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								output="$(yad --form --center --width=400 --separator='\n' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  --title="Email Checker Settings" --window-icon="$(dirname "$0")/icon-64.png" \
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  --field='IMAP Server:' 'Outlook: outlook.office365.com  Gmail: imap.gmail.com' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  --field='Email:' 'user@example.com' \
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  --field='Password::H' '' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  --field='Folder:' 'Inbox' \
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  --field='Check interval::NUM' '60!10..240!10' \
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  --button=OK!${DIRECTORY}/icons/check.png:0)"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								button=$?
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								[ $button -ne 0 ]&&error "User exited."
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo "Output: ${output}EOO"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								if [ -d ~/raspi-email-checker ];then
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  gio trash ~/raspi-email-checker
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  echo -e "\\e[33mWARNING: Moved the raspi-email-checker folder to trash instead of deleting.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								The checkmail.py script inside may contain a password!\\e[39m"
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								fi
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								git clone https://github.com/Botspot/raspi-email-checker || error 'Failed to clone repository!'
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#hostname
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sed -i "s/hostname2replace/$(echo "$output" | sed "1q;d")/g" ~/raspi-email-checker/checkmail.py
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#email
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sed -i "s/email2replace/$(echo "$output" | sed "2q;d")/g" ~/raspi-email-checker/checkmail.py
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#password
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sed -i "s/password2replace/$(echo "$output" | sed "3q;d")/g" ~/raspi-email-checker/checkmail.py
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#mailbox
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sed -i "s/mailbox2replace/$(echo "$output" | sed "4q;d")/g" ~/raspi-email-checker/checkmail.py
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#checkinterval
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								sed -i "s/checkinterval2replace/$(echo "$output" | sed "5q;d")/g" ~/raspi-email-checker/checkmail.py
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								#run on boot
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								mkdir -p ~/.config/autostart
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								echo "[Desktop Entry]
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Name=Email Checker
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Comment=Displays a pop-up window if your $(echo "$output" | sed "4q;d") folder contains any unread emails.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Exec=sudo python ${HOME}/raspi-email-checker/checkmail.py
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								X-GNOME-Autostart-enabled=true
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Hidden=false
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								Icon=$(dirname "$0")/icon-64.png
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								NoDisplay=false" > ~/.config/autostart/checkmail.desktop
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								lxterminal --title='Running Email Checker (checkmail.py)' -e "echo -e 'If checkmail.py throws errors, you may have entered invalid information.\nUse this opportunity to test it out.\nFrom now on, checkmail.py will be run on every boot.' ; sudo python ${HOME}/raspi-email-checker/checkmail.py ; sleep infinity" &