script email da shell

Networking, configurazione della connessione, periferiche e condivisioni di rete.
Scrivi risposta
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

script email da shell

Messaggio da emmx »

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
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

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
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

:ciao:

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.
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

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?
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

emmx ha scritto:
mercoledì 14 ottobre 2020, 15:00
Comunque se usassi il tui script di esempio c'è modo di allegare un file all'email?
Certo che si, devi usare/aggiungere l'opzione -a

Codice: Seleziona tutto

sendemail --help
Ho aggiunto questa possibilità allo script sopra.
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

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?
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

emmx ha scritto:
mercoledì 14 ottobre 2020, 15:46
quali sono i pacchetti che mi mancano?
E' indicato nel contenuto dello script (Requisiti)
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

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.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

emmx ha scritto:
mercoledì 14 ottobre 2020, 17:26
... invece di inserire l'allegato nella mail c'è modo din inserire il testo dell'allegato nem body della mail?
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.
Avatar utente
Filoteo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1318
Iscrizione: venerdì 28 agosto 2015, 9:38
Desktop: Gnome
Distribuzione: Arch Linux

Re: script email da shell

Messaggio da Filoteo »

@thece $FROM_ADDRESS lo decido io? Quindi posso inserirne un mittente falso, come se la mia mai provenisse dalla Casa Bianca?
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

thece ha scritto:
mercoledì 14 ottobre 2020, 17:32

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.

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" ?
Avatar utente
Janvitus
Amministratore
Amministratore
Messaggi: 18774
Iscrizione: lunedì 25 aprile 2005, 15:52
Desktop: GNOME Shell / Xfce
Sesso: Maschile
Località: Potenza
Contatti:

Re: script email da shell

Messaggio da Janvitus »

Prova a mandare un messaggio con mail e con sendmail:

Codice: Seleziona tutto

echo "Questa è una prova di msmtp" | sendmail -v email@email.it

Codice: Seleziona tutto

mail -s "proviamo msmtp" email@email.it
msmtp fa un po' i capricci con permessi e gruppi.
+Fedora 39 • +Xubuntu 23.10
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

Filoteo ha scritto:
mercoledì 14 ottobre 2020, 17:35
@thece $FROM_ADDRESS lo decido io? Quindi posso inserirne un mittente falso, come se la mia mai provenisse dalla Casa Bianca?
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.

emmx ha scritto:
mercoledì 14 ottobre 2020, 17:45
... ma visto il tuo script mi sarebbe piaciuto integrare nel body dell'email il testo del file esito.doc
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
emmx ha scritto:
mercoledì 14 ottobre 2020, 17:26
... ho provato ad inserire -o message-file=/home/fdos/esito.doc ma non ottengo il risultato sperato ...
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

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?
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

emmx ha scritto:
giovedì 15 ottobre 2020, 9:35
ok funziona togliendo $MESSAGE e aggiungendo -o message-file=/home/fdos/esito.doc
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?
emmx ha scritto:
giovedì 15 ottobre 2020, 9:35
la cosa che non mi piace molto è la password in chiaro, c'è modo di nasconderla?
Non credo ma per sicurezza leggi la documentazione. In alternativa direi che devi lavorare sui permessi associati allo script.
emmx
Prode Principiante
Messaggi: 29
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx »

thece ha scritto:
giovedì 15 ottobre 2020, 9:48

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?

Si funziona perchè non è un vero file .doc ma rinominato da me per permettere agli utenti windows di aprirlo con office.
Avatar utente
smurf
Rampante Reduce
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

Messaggio da smurf »

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.
La terra non è una eredità che riceviamo dai nostri genitori, ma un prestito che ci fanno i nostri figli.
Avatar utente
smurf
Rampante Reduce
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

Messaggio da smurf »

thece ha scritto:
mercoledì 14 ottobre 2020, 23:27

- opzione -m STRINGA

- opzione -o message-file=/PATH/FILE
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.                
Forse mi sono perso qualcosa?
La terra non è una eredità che riceviamo dai nostri genitori, ma un prestito che ci fanno i nostri figli.
Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 12943
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 12 (Bookworm) - KDE

Re: script email da shell

Messaggio da thece »

smurf ha scritto:
martedì 24 novembre 2020, 14:54
Scusatemi, però nel man di sendmail dice:
...
Forse mi sono perso qualcosa?
Probabilmente stai usando una versione di sendemail più aggiornata della mia

Codice: Seleziona tutto

sendemail

sendemail-1.56 by Brandon Zehm <caspian@dotconf.net
Avatar utente
smurf
Rampante Reduce
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

Messaggio da smurf »

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.
La terra non è una eredità che riceviamo dai nostri genitori, ma un prestito che ci fanno i nostri figli.
Scrivi risposta

Ritorna a “Connessione e configurazione delle reti”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 15 ospiti