script email da shell

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

script email da shell

Messaggio da emmx » mercoledì 14 ottobre 2020, 11:43

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: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » mercoledì 14 ottobre 2020, 11:50

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: 11351
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 10 (Buster) - KDE

Re: script email da shell

Messaggio da thece » mercoledì 14 ottobre 2020, 13:04

: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: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » mercoledì 14 ottobre 2020, 15:00

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: 11351
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 10 (Buster) - KDE

Re: script email da shell

Messaggio da thece » mercoledì 14 ottobre 2020, 15:21

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: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » mercoledì 14 ottobre 2020, 15:46

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: 11351
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 10 (Buster) - KDE

Re: script email da shell

Messaggio da thece » mercoledì 14 ottobre 2020, 15:54

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: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » mercoledì 14 ottobre 2020, 17:26

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: 11351
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 10 (Buster) - KDE

Re: script email da shell

Messaggio da thece » mercoledì 14 ottobre 2020, 17:32

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
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 917
Iscrizione: venerdì 28 agosto 2015, 9:38
Desktop: Gnome
Distribuzione: Arch Linux

Re: script email da shell

Messaggio da Filoteo » 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?

emmx
Prode Principiante
Messaggi: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » mercoledì 14 ottobre 2020, 17:45

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: 18160
Iscrizione: lunedì 25 aprile 2005, 15:52
Desktop: GNOME Shell / Xfce
Sesso: Maschile
Località: Potenza
Contatti:

Re: script email da shell

Messaggio da Janvitus » mercoledì 14 ottobre 2020, 18:40

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 33 • +Xubuntu 20.10

Avatar utente
thece
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 11351
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 10 (Buster) - KDE

Re: script email da shell

Messaggio da thece » mercoledì 14 ottobre 2020, 23:27

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: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » giovedì 15 ottobre 2020, 9:35

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: 11351
Iscrizione: lunedì 23 aprile 2007, 14:16
Distribuzione: Debian 10 (Buster) - KDE

Re: script email da shell

Messaggio da thece » giovedì 15 ottobre 2020, 9:48

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: 23
Iscrizione: mercoledì 9 ottobre 2019, 10:27
Sesso: Maschile

Re: script email da shell

Messaggio da emmx » venerdì 16 ottobre 2020, 18:01

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.

Scrivi risposta

Ritorna a “Connessione e configurazione delle reti”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti