#!/usr/bin/env bash ############################################################################### # Email Configuration Script for Warren Scanner # Configura Gmail SMTP relay per invio email automatiche ############################################################################### set -e # Exit on error GMAIL_USER="maurof.gagliardi@gmail.com" RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' BLUE='\033[0;34m' NC='\033[0m' # No Color echo -e "${BLUE}==========================================" echo "Warren Scanner - Email Setup" echo -e "==========================================${NC}\n" # Check if running with sudo if [ "$EUID" -ne 0 ]; then echo -e "${RED}โŒ Questo script richiede i privilegi di root${NC}" echo -e "${YELLOW}Esegui con: sudo ./setup_email.sh${NC}\n" exit 1 fi echo -e "${BLUE}๐Ÿ“ง Configurazione email per: $GMAIL_USER${NC}\n" # Step 1: Install mailutils and dependencies echo -e "${YELLOW}[1/6] Installazione mailutils e dipendenze...${NC}" apt-get update -qq DEBIAN_FRONTEND=noninteractive apt-get install -y mailutils postfix libsasl2-modules > /dev/null 2>&1 echo -e "${GREEN}โœ… Pacchetti installati${NC}\n" # Step 2: Request Gmail App Password echo -e "${YELLOW}[2/6] Configurazione credenziali Gmail${NC}" echo -e "${BLUE}โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”${NC}" echo -e "Per inviare email tramite Gmail, devi generare una ${YELLOW}App Password${NC}" echo "" echo "Segui questi passi:" echo " 1. Vai su https://myaccount.google.com/security" echo " 2. Abilita '2-Step Verification' (se non giร  attivo)" echo " 3. Vai su 'App passwords'" echo " 4. Genera nuova password per 'Mail' su 'Linux Computer'" echo " 5. Copia la password generata (16 caratteri senza spazi)" echo "" echo -e "${RED}โš ๏ธ NON usare la tua password Gmail normale!${NC}" echo -e "${BLUE}โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”${NC}\n" read -sp "Incolla qui la Gmail App Password (16 caratteri): " GMAIL_APP_PASSWORD echo "" if [ -z "$GMAIL_APP_PASSWORD" ]; then echo -e "${RED}โŒ Password non fornita. Setup annullato.${NC}" exit 1 fi # Remove spaces if user copied with spaces GMAIL_APP_PASSWORD=$(echo "$GMAIL_APP_PASSWORD" | tr -d ' ') echo -e "${GREEN}โœ… Password ricevuta${NC}\n" # Step 3: Configure Postfix SASL credentials echo -e "${YELLOW}[3/6] Configurazione credenziali SMTP...${NC}" cat > /etc/postfix/sasl_passwd <> /etc/postfix/main.cf < /dev/null 2>&1 echo -e "${GREEN}โœ… Postfix riavviato${NC}\n" # Test email configuration echo -e "${BLUE}==========================================" echo "๐Ÿงช Test Invio Email" echo -e "==========================================${NC}\n" TEST_SUBJECT="โœ… Warren Scanner Email Setup Completato" TEST_BODY="Configurazione email completata con successo! Warren Scanner รจ ora configurato per inviare email automatiche a: $GMAIL_USER Test eseguito: $(date) Sistema: $(hostname) Riceverai una email ogni domenica alle 19:00 con: โ€ข Riassunto risultati scansione โ€ข Report HTML completo allegato โ€ข Alert per upgrade di raccomandazione โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” Questo รจ un test automatico. Non rispondere a questa email. " echo -e "${YELLOW}Invio email di test a $GMAIL_USER...${NC}" echo "$TEST_BODY" | mail -s "$TEST_SUBJECT" "$GMAIL_USER" if [ $? -eq 0 ]; then echo -e "${GREEN}โœ… Email di test inviata!${NC}\n" echo -e "${BLUE}โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”${NC}" echo -e "${GREEN}Controlla la tua inbox: $GMAIL_USER${NC}" echo -e "${YELLOW}Nota: La prima email potrebbe finire in Spam/Junk${NC}" echo -e "${BLUE}โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”${NC}\n" else echo -e "${RED}โŒ Errore nell'invio email${NC}" echo -e "${YELLOW}Controlla i log: sudo tail -30 /var/log/mail.log${NC}\n" exit 1 fi # Final summary echo -e "${GREEN}==========================================" echo "โœ… Configurazione Completata!" echo -e "==========================================${NC}\n" echo "๐Ÿ“Š Riepilogo configurazione:" echo " โ€ข Mail relay: Gmail SMTP (smtp.gmail.com:587)" echo " โ€ข Account Gmail: $GMAIL_USER" echo " โ€ข Postfix: Configurato e attivo" echo " โ€ข mailutils: Installato" echo " โ€ข Email di test: Inviata" echo "" echo "๐Ÿ”ง Comandi utili:" echo " โ€ข Test email: echo 'Test' | mail -s 'Test' $GMAIL_USER" echo " โ€ข Verifica log: sudo tail -f /var/log/mail.log" echo " โ€ข Status postfix: sudo systemctl status postfix" echo " โ€ข Test scanner: /mnt/ssd/data/python-lab/Trading/warren_scan_scheduler.sh" echo "" echo -e "${BLUE}๐Ÿ“… Prossima email automatica: Domenica prossima alle 19:00${NC}\n" # Security reminder echo -e "${YELLOW}โš ๏ธ Sicurezza:${NC}" echo " Le credenziali Gmail sono salvate in: /etc/postfix/sasl_passwd" echo " Il file รจ protetto con permessi 600 (solo root)" echo " Non condividere mai la tua App Password!" echo "" exit 0