Loading
Home » Computer » Linux » Mandare email con Kmail da linea di comando?
Mandare email con Kmail da linea di comando? [messaggio #36587] |
dom, 13 marzo 2011 13:59 |
Marco Messaggi: 226 Registrato: giugno 2007 |
Senior Member |
|
|
Mi servirebbe mandare una email da linea di comando per un mio script
(formmail per un sito web mio)
Ho visto che esistono varie soluzioni come il comando mail o mutt,
abbastanza semplici, a parte il fatto di configurare l'smtp server e MTA
Quindi pensavo di farlo con Kmail che uso normalmente, dove gia' ho
impostato l'smtp, senza autenticazione: smtp.tiscali.it
ed in piu' cosi' tutte le email inviate dallo script rimarrebbero nella
cartella posta inviata di Kmail, e quindi comodo da poter rivedere.
Ho provato con:
kmail -s "oggetto" -b "bcc_email@tiscalinet.it" --body "prova messaggio"
destinatario@gmail.com --composer
ma mi apre la finestra di composizione, gia' tutta bella compilata, ma
aspetta che io clicki su "invia" per spedirla e non fa tutto in automatico.
Come posso fare?
Ho visto anche l'help completo e non ho trovato nulla:
kmail --help-all
La mia versione di KDE e' la 4.4.3 e Kmail Versione 1.13.3
Sapete se con KMail2 e' possibile?
O magari con qualche altro programma per email grafico?
C'era un bel programmino leggero con interfaccia grafica per solo email
testuali multipiattaforma che usavo prima di Kmail, che non ricordo il nome
che magari potrebbe fare al caso mio.
Grazie
|
|
| | |
Re: Mandare email con Kmail da linea di comando? [messaggio #36602 è una risposta a message #36587] |
dom, 13 marzo 2011 17:56 |
Crononauta Messaggi: 145 Registrato: novembre 2010 |
Senior Member |
|
|
On 13/03/11 13:59, Marco wrote:
> Mi servirebbe mandare una email da linea di comando per un mio script
> (formmail per un sito web mio)
> Ho visto che esistono varie soluzioni come il comando mail o mutt,
> abbastanza semplici, a parte il fatto di configurare l'smtp server e MTA
Capirai che sforzo mettere in .muttrc una riga tipo:
smtp_url=smtp://login:password@smtp.tuoprovider.it:25/
(che poi facilmente sarà solo: smtp://smtp.tuoprovider.it/)
eh... a parte che sono comunque discorsi di lana caprina, perché se tu
hai una macchina Linux, avrai già - che tu lo sappia o no - un smtp
attivo e funzionante sul tuo sistema (solitamente postfix o exim4) la
cui configurazione è ai confini dell'elementare.
> Come posso fare?
mutt -s "Oggetto" -i bodymail.txt indirizzo@destinatario.it < "."
E via che la mail parte dritta senza altri interventi, inviando il
contenuto del file "bodymail.txt" come testo del messaggio.
Devi solo configurarti mutt (bastano poche righe in muttrc, in rete
trovi un'infinità di esempi per configurazioni dalle più semplici alle
più complesse) e il tuo servizio smtp (non ti serve altro che il relay
host).
Senza contare, come ti dicevo, che puoi anche istruire mutt per fare il
relay diretto verso il server del provider come ti ho indicato sopra.
--
Massimo Bacilieri AKA Crononauta
Skype: crononauta <massimo.bacilieri@gmail.com>
Facebook: Massimo Bacilieri
|
|
| | |
Re: Mandare email con Kmail da linea di comando? [messaggio #36616 è una risposta a message #36601] |
lun, 14 marzo 2011 01:45 |
Marco Messaggi: 226 Registrato: giugno 2007 |
Senior Member |
|
|
Giuseppe Della Bianca wrote:
> Giovanni wrote:
>
> ]zac[
>> Per quale motivo devi usare un programma grafico per inviare e-mail da
>> uno script?
> ]zac[
>
> Perché ha l'esigenza che tutto sia come se l'avesse inviata con kmail.
Per fortuna qualcuno mi ha compreso. :-)
Sending FreeBSD Problem Reports Through KMail
If you use KMail, you may wish to send your problem reports from send-pr(1)
through KMail instead of another mail program. The advantage of this is you
already have KMail setup for your outgoing mail, so there is no need to
setup another mail program. Plus all of your PRs will be stored in KMail
like your other outgoing mail.
> Con le applicazioni kde3 dovresti usare kdcop, con kde4 dbus, ho trovato
> un esempio:
>
> http://www.daemonforums.org/showthread.php?t=2113
>
Questo esempio non funziona.
ho provato vari comandi, come MessageComposer, newMessage,openComposer, ma
nessuno funziona, danno questo errore:
Error: org.freedesktop.DBus.Error.UnknownMethod
L'unico che funziona e':
qdbus org.kde.kmail /KMail org.kde.kmail.kmail.checkMail
Pero' a me serve un comando per spedire una email.
> P.S. Non uso ne kdcop ne dbus, non ho altre informazioni
Mi sei stato comunque MOLTO utile, ho capito che si puo' fare e quale e' la
direzione giusta. Peccato che sto smanettando da un bel po', ma non trovo
nulla. Nemmeno una guida ufficiale di kde con i vari commandi del dbus di
Kmail.
Suggerimenti, aiuti? Vi ringrazio molto.
|
|
| |
Re: Mandare email con Kmail da linea di comando? [messaggio #36618 è una risposta a message #36614] |
lun, 14 marzo 2011 03:02 |
Marco Messaggi: 226 Registrato: giugno 2007 |
Senior Member |
|
|
NicoKid wrote:
> Marco wrote:
>
>
>>
>> Quindi pensavo di farlo con Kmail che uso normalmente, dove gia' ho
>> impostato l'smtp, senza autenticazione: smtp.tiscali.it
>> ed in piu' cosi' tutte le email inviate dallo script rimarrebbero nella
>> cartella posta inviata di Kmail, e quindi comodo da poter rivedere.
>>
>> Ho provato con:
>>
>> kmail -s "oggetto" -b "bcc_email@tiscalinet.it" --body "prova messaggio"
>> destinatario@gmail.com --composer
>
> Prova ad aggiungere questa roba dopo il comando sopra:
>
> ;sleep 2; xdotool key 'ctrl+Return'
>
> Non l'ho provato con kmail, ma con thunderbird funziona
> http://www.kbrandt.com/2008/05/quick-tip-tunderbird-email-fr om-
command.html
>
> Nicola.
Grande! Mi piace molto come soluzione!
Anche Kmail usa Ctrl-Return per inviare il messaggio.
Pero' ho ancora 2 difficolta:
kmail --composer -h "Return-Path: <return@tiscali.it>" -s "oggetto"
destinatario@gmail.com -b "nascosto@tiscalinet.it" --body "prova
messaggio"&; sleep 2; xdotool key ‘ctrl+Return’;
mi da questo errore:
bash: syntax error near unexpected token `;
senza la & non va in background e ovviamente non funziona piu' il giochetto.
ho provato con un semplice comando:
ls&;pwd
e da lo stesso errore
Poi altro problema e' quello di poter cambiare tramite lo script il mittente
del messaggio o almeno il reply-to ho provato con l'header:
kmail --composer -h "Return-Path: <return@tiscali.it>"
ma non cambia nulla.
E poi ultima cosa: kmail quando spedisce il messaggio verifica se va tutto
bene o meno, se l'email non esiste mi da questo errore in una finestra di
dialogo che richiede interazione, invece sarebbe stato comodo che il comando
restituisse errore in modo che il mio script abbia un valore di ritorno,
cosi da sapere se l'email inserita e' corretta o meno o se qualsiasi altra
cosa sia andata bene:
Spedizione non riuscita:
Spedizione del messaggio non riuscita perché il server ha rifiutato i
seguenti destinatari: nascosto@tiscalinet.it (Il server ha risposto: "RCPT
TO: User unknown")
Il messaggio resterà nella cartella «posta in uscita» finché non risolverai
il problema (es. indirizzo sbagliato) oppure fin quando non lo rimuoverai
dalla cartella «posta in uscita».
È stato utilizzato il seguente trasporto: Tiscali
Vuoi continuare con la spedizione dei restanti messaggi?
----------
Se non risolvo questi problemi, devo cambiare programma, provando magari
thunderbird o claws-mail, oppure usare per forza client testuali
|
|
| |
Re: Mandare email con Kmail da linea di comando? [messaggio #36651 è una risposta a message #36626] |
mar, 15 marzo 2011 16:37 |
Marco Messaggi: 226 Registrato: giugno 2007 |
Senior Member |
|
|
>> Pero' ho ancora 2 difficolta:
>>
>> kmail --composer -h "Return-Path: <return@tiscali.it>" -s "oggetto"
>> destinatario@gmail.com -b "nascosto@tiscalinet.it" --body "prova
>> messaggio"&; sleep 2; xdotool key ‘ctrl+Return’;
>>
>> mi da questo errore:
>> bash: syntax error near unexpected token `;
>>
>> senza la & non va in background e ovviamente non funziona piu' il
>> giochetto.
>
> Attenzione se hai fatto copia e incolla con l'esempio sul link che ti ho
> postato: gli apici sono tutti sbagliati.
> A dire il vero io il "&" l'ho tolto: thunderdbird apre una finestra e poi
> la chiude. Non mi ricordo se c'è bisogno di tenere thunderbird avviato per
> fare il giochino, non so con kmail. Ma d'altra parte se chiedi di usare un
> client di posta grafico si presume che tu abbia la tua sessione di X
> aperta.
>
> Nicola.
>
Ti ringrazio molto, ora funziona. Ho messo gli apici corretti ed ho tolto il
; dopo la & ed ho imparato cose nuove e scoperto l'ottimo xdotool
Ora invia le email e funziona, pero' mi rimangono ancora 2 problemi da
risolvere.
Il primo e' quello di far settare il mittente del messaggio o almeno il
Reply-to: per ogni email da linea di comando. Penso che si possa fare con
l'opzione -h Header, ma ho provato cosi' e non cambia nulla:
-h "Return-Path: <return@tiscali.it>"
Poi ho pensato che ho anche un'altro problema.
Per fortuna se mando una mail ad un'indirizzo sconosciuto con l'smtp di
tiscali, dopo qualche secondo su kmail mi esce una finestra di avviso
dell'errore, purtroppo essendo in modalita' grafica, non penso sia
assolutamente riscontrabile dallo script a linea di comando.
Conclusione, saro' costretto ad abbandonare kmail e usare mutt o simili.
Anzi ne approfitto per chiedervi quale gestisce meglio i messaggi d'errore
in caso di problemi di invio email.
Pero' ho pensato come ottenere lo stesso risultato che chiedevo all'inizio,
ovvero di avere un'archivio di tutte le email spedite in un mailreader
grafico. E questo lo posso ottenere semplicemente mandando tutte le email in
bcc: anche a me. Anzi cosi' e' anche meglio, perche' cosi' posso usare anche
un'altro PC, per accedervi.
Grazie a tutti per avermi aiutato in un modo o nell'altro.
|
|
| |
Re: Mandare email con Kmail da linea di comando? [messaggio #36675 è una risposta a message #36655] |
ven, 18 marzo 2011 10:15 |
Marco Messaggi: 226 Registrato: giugno 2007 |
Senior Member |
|
|
NicoKid wrote:
> Marco wrote:
>
>
>> Conclusione, saro' costretto ad abbandonare kmail e usare mutt o simili.
>
> Sono daccordo.
Con mutt il messaggio lo devi mettere in un file di testo,quindi alla fine
ho usato mail che prende il messaggio dallo standard input. Il comando e'
tipo:
echo "testo email" | mail -v -b copianascostatiscalinet.it -s "Richiesta
informazioni dal sito ...." -S from=utente@email.it destinatario@gmail.com
se dopo faccio echo $? mi restituisce 0 se l'email viene inviata, ed 1 se
non viene spedita, ad esempio perche' il destinatario e' sconosciuto.
Pero' nel programma java (wicket) mi restituisce sempre 0, non capisco
perche'. Sto impazzendo. avete suggerimenti? Non so se e' un problema del
codice java o del comando mail.
O forse e' colpa che in realta' sono 2 comandi concatenati con il pipe e mi
viene restituito il return code solo di echo "testo mail" che e' sempre 0?
try {
Process p = Runtime.getRuntime().exec("echo \""+messaggioSTR+"\" | mail -v -
b copianascosta@tiscalinet.it -s \"Richiesta informazioni dal sito ....\" -S
from="+emailSTR+" destinatario@gmail.com");
System.out.println("waiting...");
p.waitFor();
if(p.exitValue()== 0) {
System.out.println("ok");
setResponsePage(Ok.class);
}
else {
System.out.println("error.");
setResponsePage(Error.class);
}
>
>> Pero' ho pensato come ottenere lo stesso risultato che chiedevo
>> all'inizio, ovvero di avere un'archivio di tutte le email spedite in un
>> mailreader grafico. E questo lo posso ottenere semplicemente mandando
>> tutte le email in bcc: anche a me. Anzi cosi' e' anche meglio, perche'
>> cosi' posso usare anche un'altro PC, per accedervi.
>
> Tieni presente che con thunderbird, ma penso anche con kmail puoi
> impostare le cartelle dove tenere le e-mail che potrebbero benissimo
> essere le stesse di altri mailreader (condividi le stesse cartelle).
> Altra possibilità: gmail permette l'utilizzo di imap, non so cosa fa
> tiscali. In questo caso tieni tutto sul server e qualunque programmi usi
> vedrai sempre tutte le e-mail.
Non so usare imap, ma preferisco comunque avere le email sul mio hd e non in
remoto.
Con la soluzione del bcc: ho comunque risolto come volevo.
> Nicola.
>
|
|
| | |
Re: Mandare email con Kmail da linea di comando? [messaggio #36863 è una risposta a message #36711] |
gio, 24 marzo 2011 00:57 |
Marco Messaggi: 226 Registrato: giugno 2007 |
Senior Member |
|
|
NicoKid wrote:
> Marco wrote:
>
>> Con mutt il messaggio lo devi mettere in un file di testo,quindi alla
>> fine ho usato mail che prende il messaggio dallo standard input. Il
>> comando e' tipo:
>>
>>
>> echo "testo email" | mail -v -b copianascostatiscalinet.it -s "Richiesta
>> informazioni dal sito ...." -S from=utente@email.it
>> destinatario@gmail.com
>>
>> se dopo faccio echo $? mi restituisce 0 se l'email viene inviata, ed 1
>> se non viene spedita, ad esempio perche' il destinatario e' sconosciuto.
>
> Se usi mutt non devi fare il pipe. E non vedo il problema di creare un
> file temporaneo:
> echo "messaggio" > miofile
>
> Nicola.
>
> P.S. non è meglio che usi uno script bash invece di java?
>
Alla fine ho abbandonato sia kmail che la linea di comando, ho avuto troppi
problemi, soprattutto nel codice di ritorno, che con mail mi dava sempre 0.
Quindi ho implementato la cosa con java mail, che poi non e' stato cosi'
difficile, visto che c'e' anche un'esempio gia' fatto e tutto funziona bene.
Ottengo anche un corretto codice di ritorno, in modo da verificare se la
mail inserita esiste o meno e posso impostare anche il campo From.
Per avere lo stesso le email in kmail, ho usato il trucco del bcc:
Grazie a tutti del vostro aiuto.
|
|
|
Vai al forum:
Ora corrente: sab ott 05 21:52:54 CEST 2024
Tempo totale richiesto per generare la pagina: 0.02540 secondi
|