script email da shell
script email da shell
Ubuntu 20.04 LTS
Buongiorno,
ho la necessità di ricevere quotidianamente un file di log via email.
Ho configurato msmtp in questo modo:
/home/linux/.msmtprc
#esempio
account gmail
tls on
tls_certcheck off
auth on
host smtp.gmail.com
port 587
user pippo@gmail.com
from pippo@gmail.com
password pippo
faccio il test di invio:
cat /var/log/esito | msmtp -a gmail miaemail@dominio.it
ma non accade nulla, e non va neppure a cancelletto.
Sapete darmi un aiuto? O altra soluzione per ricevere un file via email?
Grazie
Buongiorno,
ho la necessità di ricevere quotidianamente un file di log via email.
Ho configurato msmtp in questo modo:
/home/linux/.msmtprc
#esempio
account gmail
tls on
tls_certcheck off
auth on
host smtp.gmail.com
port 587
user pippo@gmail.com
from pippo@gmail.com
password pippo
faccio il test di invio:
cat /var/log/esito | msmtp -a gmail miaemail@dominio.it
ma non accade nulla, e non va neppure a cancelletto.
Sapete darmi un aiuto? O altra soluzione per ricevere un file via email?
Grazie
Re: script email da shell
Aggiungo che non ho necessità di configurare un server di posta, ma solo utilizzare un client-email per l'invio di un semplice file.
Grazie
Grazie
- thece
- Tenace Tecnocrate
- Messaggi: 12943
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: script email da shell
il problema potrebbero essere le impostazioni di sicurezza del tuo account di Google, devi consentire l'uso delle app meno sicure.
Per fare ciò che vuoi tu io uso sendemail. Di seguito uno script di esempio
sendEmailWithGMail.sh
Codice: Seleziona tutto
#!/bin/bash
# Requisiti
#
# - sendemail
# - libio-socket-ssl-perl
# - libnet-ssleay-perl
# Note
#
# Nelle impostazioni dell'account di Google consentire l'uso delle app meno sicure
FROM_ADDRESS="-f ACCOUNT@gmail.com"
TO_ADDRESS="-t RECEIVER@SOMEWHERE.ORG"
SMTP_MAIL_SERVER="-s smtp.gmail.com:587 -o tls=yes"
SMTP_USER="-xu ACCOUNT@gmail.com"
SMTP_PASSWORD="-xp PASSWORD"
SUBJECT="-u \"Subject of SendEmailWithGMail\""
MESSAGE="-m \"Message of SendEmailWithGMail.\""
ATTACHMENT="-a /PATH/ATTACHMENT"
sendemail $FROM_ADDRESS -o message-header="From: FIRST_NAME LAST_NAME <ACCOUNT@gmail.com>" $TO_ADDRESS $SMTP_MAIL_SERVER $SMTP_USER $SMTP_PASSWORD $SUBJECT $MESSAGE $ATTACHMENT
exit 0
Ultima modifica di thece il mercoledì 14 ottobre 2020, 16:40, modificato 2 volte in totale.
Re: script email da shell
Ho pensato alle impostazioni di google per abilitare le app meno sicure, ma ho provato anche con un altro account che non fosse gmail ma da il solito risultato.
Comunque se usassi il tui script di esempio c'è modo di allegare un file all'email?
Comunque se usassi il tui script di esempio c'è modo di allegare un file all'email?
- thece
- Tenace Tecnocrate
- Messaggi: 12943
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: script email da shell
Certo che si, devi usare/aggiungere l'opzione -a
Codice: Seleziona tutto
sendemail --help
Re: script email da shell
server sendemail[65622]: ERROR => No TLS support! SendEmail can't load required libraries. (try installing Net::SSLeay and IO::Socket::SSL)
quali sono i pacchetti che mi mancano?
quali sono i pacchetti che mi mancano?
Re: script email da shell
Perfetto
Volendo rendere lo script ancora più "fino", invece di inserire l'allegato nella mail c'è modo di inserire il testo dell'allegato nel body della mail?
ho provato ad inserire -o message-file=/home/fdos/esito.doc
ma non ottengo il risultato sperato.
Volendo rendere lo script ancora più "fino", invece di inserire l'allegato nella mail c'è modo di inserire il testo dell'allegato nel body della mail?
ho provato ad inserire -o message-file=/home/fdos/esito.doc
ma non ottengo il risultato sperato.
- thece
- Tenace Tecnocrate
- Messaggi: 12943
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: script email da shell
Quindi non è più un allegato, diventa parte del corpo della mail! Ma se mi fai un esempio è meglio
Certo. Nello script devi comporre il corpo della mail.
- Filoteo
- Entusiasta Emergente
- Messaggi: 1318
- Iscrizione: venerdì 28 agosto 2015, 9:38
- Desktop: Gnome
- Distribuzione: Arch Linux
Re: script email da shell
@thece $FROM_ADDRESS lo decido io? Quindi posso inserirne un mittente falso, come se la mia mai provenisse dalla Casa Bianca?
Re: script email da shell
Inizialmente pensavo di allegare il file esito.doc ma visto il tuo script mi sarebbe piaciuto integrare nel body dell'email il testo del file esito.doc
conviene salvare nella variabile MESSAGE un "cat /home/fdos/esito.doc" ?
- Janvitus
- Amministratore
- Messaggi: 18776
- Iscrizione: lunedì 25 aprile 2005, 15:52
- Desktop: GNOME Shell / Xfce
- Sesso: Maschile
- Località: Potenza
- Contatti:
Re: script email da shell
Prova a mandare un messaggio con mail e con sendmail:
msmtp fa un po' i capricci con permessi e gruppi.
Codice: Seleziona tutto
echo "Questa è una prova di msmtp" | sendmail -v email@email.it
Codice: Seleziona tutto
mail -s "proviamo msmtp" email@email.it
- thece
- Tenace Tecnocrate
- Messaggi: 12943
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: script email da shell
Si, teoricamente ci puoi scrivere quello che vuoi. Nella pratica poi la mail è passata al vaglio dell'SMTP server, quindi se non supera le regole imposte - in questo caso da Google - non viene inoltrata a valle.
I corpo di una mail è puro testo. Testo "piatto" oppure formattato in HTML, ma sempre testo rimane. Un file .doc non è un file di testo (*) quindi non può essere inglobato così com'è nel corpo di una mail.
Detto ciò, escludendo l'attachment, con sendmail hai due possibilità:
- opzione -m STRINGA
nello script integri la logica di programmazione necessaria per comporre la STRINGA di testo come più ti è utile
- opzione -o message-file=/PATH/FILE
nello script integri la logica di programmazione necessaria per comporre il FILE di testo come più ti è utile
(*) Un file .doc è un archivio .zip. Non ci credi? Cambia l'estensione al file ...
Scusami, ho notato solo adesso che mi avevi già fatto l'esempio
Re: script email da shell
ok funziona togliendo $MESSAGE e aggiungendo -o message-file=/home/fdos/esito.doc
la cosa che non mi piace molto è la password in chiaro, c'è modo di nasconderla?
la cosa che non mi piace molto è la password in chiaro, c'è modo di nasconderla?
- thece
- Tenace Tecnocrate
- Messaggi: 12943
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: script email da shell
Funziona? Ma sei proprio sicuro? Ma quel file esito.doc è un documento di MS Office oppure è un file di testo che ha semplicemente estensione .doc?
Non credo ma per sicurezza leggi la documentazione. In alternativa direi che devi lavorare sui permessi associati allo script.
Re: script email da shell
Si funziona perchè non è un vero file .doc ma rinominato da me per permettere agli utenti windows di aprirlo con office.
- smurf
- Rampante Reduce
- Messaggi: 5610
- Iscrizione: domenica 9 luglio 2006, 9:18
- Desktop: MATE con Compiz
- Distribuzione: Ubuntu 20.04.4
- Sesso: Maschile
- Località: Lima - Perú
Re: script email da shell
Ciao.
Anche io sto esplorando l'invio di mail da bash usando Google.
Il fatto è che quell'opzione di usare "app meno sicure" verrà eliminata a partire da febbraio 2021. Esiste un altro metodo Autrnticazione con Xoauth2, ma è piuttosto complicato ed ancora non l'ho del tutto risolto, oppure usare la verifica in due passi, ma quest'utltima non è chiaro se sparirà a febbraio o no.
Comunque se volete potete dare un'occhiata a questa discussione.
Anche io sto esplorando l'invio di mail da bash usando Google.
Il fatto è che quell'opzione di usare "app meno sicure" verrà eliminata a partire da febbraio 2021. Esiste un altro metodo Autrnticazione con Xoauth2, ma è piuttosto complicato ed ancora non l'ho del tutto risolto, oppure usare la verifica in due passi, ma quest'utltima non è chiaro se sparirà a febbraio o no.
Comunque se volete potete dare un'occhiata a questa discussione.
La terra non è una eredità che riceviamo dai nostri genitori, ma un prestito che ci fanno i nostri figli.
- smurf
- Rampante Reduce
- Messaggi: 5610
- Iscrizione: domenica 9 luglio 2006, 9:18
- Desktop: MATE con Compiz
- Distribuzione: Ubuntu 20.04.4
- Sesso: Maschile
- Località: Lima - Perú
Re: script email da shell
Scusatemi, però nel man di sendmail dice:
Codice: Seleziona tutto
-m (ignored)
Backwards compatibility.
-oAalias_database
Non-default alias database. Specify pathname or type:pathname. See postalias(1) for details.
-O option=value (ignored)
Set the named option to value. Use the equivalent configuration parameter in main.cf instead.
La terra non è una eredità che riceviamo dai nostri genitori, ma un prestito che ci fanno i nostri figli.
- thece
- Tenace Tecnocrate
- Messaggi: 12943
- Iscrizione: lunedì 23 aprile 2007, 14:16
- Distribuzione: Debian 12 (Bookworm) - KDE
Re: script email da shell
Probabilmente stai usando una versione di sendemail più aggiornata della mia
Codice: Seleziona tutto
sendemail
sendemail-1.56 by Brandon Zehm <caspian@dotconf.net
- smurf
- Rampante Reduce
- Messaggi: 5610
- Iscrizione: domenica 9 luglio 2006, 9:18
- Desktop: MATE con Compiz
- Distribuzione: Ubuntu 20.04.4
- Sesso: Maschile
- Località: Lima - Perú
Re: script email da shell
Che strano, me ne accorgo adesso:
tu parli di sendemail , mentre io ho guardato il man di sendmail. Ma il mio pc non conosce sendemail e non lo può installare.
Ho unbuntu mate 20.10.
Edit:
l'ho trovato, adesso lo vedo. Quindi è stato tutta una confusione dovuta ad una "e", scusami.
tu parli di sendemail , mentre io ho guardato il man di sendmail. Ma il mio pc non conosce sendemail e non lo può installare.
Ho unbuntu mate 20.10.
Edit:
l'ho trovato, adesso lo vedo. Quindi è stato tutta una confusione dovuta ad una "e", scusami.
La terra non è una eredità che riceviamo dai nostri genitori, ma un prestito che ci fanno i nostri figli.
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 1 ospite