PDA

Visualizza la versione completa : comando mutt o similari [bash]


ThePenguin
28-10-2006, 15:41
salve a tutti,

qualcuno di voi sa usare bene il comando mutt o altro comando che mi permetta di inviare mail in formato di linea di comando?
Vi spiego subito..
Sto sviluppando uno script che fa determinate operazioni, alla fine di queste io inio a me stesso una mail ma non al'interno del sistema quanto invece all'indirizzo nome.cognome@tin.it che mi avvisi dell'ora in cui è stato effettuato il tutto e con quale esito.
Quindi io all'interno dello script inzio con il controllare se esiste il file /usr/bin/mutt, probabilmente se ho ben capito dal man di mutt mi converrebbe controllare il file muttrc ma poi?
Nel senso ok i due file ci sono e allora io che gli scrivo in termini di sintassi di comando, riga dello script per inviarmi la mail?

in alternativa qualche consiglio su un altro programma per fare questo step dello script?


Grazie :ciauz:

cacao74
28-10-2006, 15:58
mutt e' un versatile e potente client di posta.
Al lavoro, lo uso con piacere.

Per fare quello che ti server, utilizzereil il comando "mail", che tra l'altro e' anch'esso un client di posta minimale.

ciao

ThePenguin
28-10-2006, 16:36
ma mail non si limitava alla messaggistica interna al sistema? :master:

cacao74
28-10-2006, 16:57
Originariamente inviato da ThePenguin
ma mail non si limitava alla messaggistica interna al sistema? :master:
no. e' a tutti gli effetti un client di posta!

man mail

ThePenguin
28-10-2006, 17:38
si si ora che ho potuto installare il pacchetto mailx, avevo i resposity di ubuntu ko me ne sono accorto.. la cosa che ancora non riesco ad inquadrare è legata alla sintassi da utilizzare.. della serie:

mail -iInv -s "stato dell'operazionel" miamail@tin.it

ma per il testo del messaggio?

grazie

ThePenguin
28-10-2006, 18:31
dunque nella migliore delle ipotesi ho provato facendo così:




if [ -e /usr/bin/mail ] ; then
mail -s "Esito del Backup Periodico" miamail@tin.it < $Statobackup
fi



il risultato è stato quello di un errore alla riga 43 dello script ossia alla riga del comando mail appunto.

questo l'errore che mi rilascia: backup.sh: line 43: Il backup dei dati è stato effettuato con successo!: Nessun file o directory

Inoltre annotazione: per comodità io lavoro con gedit e non con vi e quindi avevo subito avuto sentore che qualcosa non andasse quando ho scritto la riga 43 perchè quando io scrivo un comando questo mi viene visualizzato in verde e in grassetto mentre il comando mail è rimasto in nero e non n grassetto..
io uso ubuntu come os.. e mail l'ho installato visto che se faccio per esempio man mail mi si apre il man del comando...

cosa può essere?

Grazie

cacao74
28-10-2006, 19:10
meglio se scrivi qualcosa del genere


echo $testo_messaggio1 | mail -s "soggetto1" destinatario@mail1.it
cat file_testo_messaggio2 | mail -s "soggetto2" dest2@mail2.it
...


L'errore che commettevi, credo, e' che $statobackup NON e' un file, ma una semplice stringa/valore...

ciao

ThePenguin
28-10-2006, 21:34
ciao cacao mi potresti piegare il codice che mi hai consigliato?
due istruzioni perchè sono due soluzioni ho le due istruzi0oni hanno un nesso logico fra loro che io non comprendo?

ti spiego subito la mia situazione: io effettuo un backup dati ovviamente e a seconda dell'esito la variabile statobackup assumerà un certo valore.
Tale valoe viene poi mandato in un file di log che mi sono precedentemente costruito e anche via mail.
di conseguenza il discorso può essee semplicemente quello di dire.. o io alla mail faccio inviare la variabile che ho dentro allo script direttamente o gli faccio prelevare l'ultima riga del file di log, col comando (tail -n 1) ma in ogni caso io questi valori li associo per forza all'interno di una variabile nello script.

quindi se come ho capito io quelle 2 istruzioni corrispondono a 2 diverse soluzioni indubbiamente opterò per la prima solo perchè così davvero lavoro su una variabile.
Purtroppo erò ri rimane il fatto che il comando mail mi viene visto non come un comando di sistema ed infatti gedit non me lo scrive in verde e in grassetto come fà per tutti i camondi vedi gzip ecc..

secondo me questo è il vero problema...

ciao e grazie :ciauz:

ThePenguin
29-10-2006, 14:56
sostanzialmente nella forma

echo $testo_messaggio1 | mail -s "soggetto1" destinatario@mail1.it

lo script da esito positivo e non da errori tuttavia ci deve essee qualcosa che non torna perchè all'indirizzo di posta non arriva alcun messaggio... :bhò:

cacao74
29-10-2006, 18:14
Originariamente inviato da ThePenguin
sostanzialmente nella forma

echo $testo_messaggio1 | mail -s "soggetto1" destinatario@mail1.it

lo script da esito positivo e non da errori tuttavia ci deve essee qualcosa che non torna perchè all'indirizzo di posta non arriva alcun messaggio... :bhò:
Hai un server di posta attivo sul sistema?
Hai controllato i log di sistema e/o del servizio di posta?
Hai controllato la cosa dei messaggi di posta?
La configurazione del server di posta prevede l'inoltro di mail a quell'indirizzo di posta?
...



[cacao74@localhost ~]$ mesg y
[cacao74@localhost ~]$ echo "Prova per ThePenguin" | mail -s "Prova Posta" cacao74@localhost
[cacao74@localhost ~]$
[cacao74@localhost ~]$
You have new mail in /var/spool/mail/cacao74
[cacao74@localhost ~]$
[cacao74@localhost ~]$ mail
mailx version nail 11.24 7/14/05. Type ? for help.
"/var/spool/mail/cacao74": 1 message 1 new
>N 1 Sergio Pedone Sun Oct 29 18:09 20/807 Prova Posta
? 1
Message 1:
From cacao74@localhost Sun Oct 29 18:09:20 2006
Return-Path: <cacao74@localhost>
From: Sergio Pedone <cacao74@localhost>
Date: Sun, 29 Oct 2006 18:08:37 +0100
To: cacao74@localhost
Subject: Prova Posta
User-Agent: nail 11.24 7/14/05
Content-Type: text/plain; charset=us-ascii
Status: R

Prova per ThePenguin

? q
Held 1 message in /var/spool/mail/cacao74
[cacao74@localhost ~]$

ciao

Loading