Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
modifica subject mail kmail e imap
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano
View previous topic :: View next topic  
Author Message
zantej
n00b
n00b


Joined: 22 Aug 2007
Posts: 10

PostPosted: Sun Feb 17, 2008 7:51 pm    Post subject: modifica subject mail kmail e imap Reply with quote

Ciao a tutti, ho configurato KMail per un account di posta con la modalità "Cached IMAP".
Ho esigenza di modificare l'oggetto delle mail in arrivo per inserire annotazioni etc.

Per farlo ho creato un filtro in questo modo:

Code:
cat > /tmp/kmail_filter; konsole -e sh -c edit.sh; cat /tmp/kmail_filter;


dove edit.sh contiene:

Code:

#!/bin/sh
echo -n "Inserisci nuovo oggetto: "
read OGGETTO

sed -e "/^Subject/c\Subject: $OGGETTO" -i /tmp/kmail_filter


questo metodo ha un problema poco importante, ossia il fatto che vorrei utilizzare un `mktemp` per creare il file temporaneo, ma non so come fare.

il consiglio che volevo chiedere riguarda il come fare per far capire al server che la mail è stata modificata, infatti ho bisogno che le modifiche arrivino anche su un altro computer.
Se mi limito a fare il procedimento che ho descritto poco fa, l'altro pc non riceve le modifiche.
Spostando il messaggio in un'altra cartella dovrei ottenere l'aggiornamento, c'è una soluzione migliore?

Grazie!
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Sun Feb 17, 2008 8:23 pm    Post subject: Reply with quote

Per imap non so aiutarti ma per mktemp si :wink:
Code:
tmp=$(mktemp)

ti crea il file temporaneo e nella variabile tmp ti ci mette il nome
_________________
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con
Code:
grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Back to top
View user's profile Send private message
zantej
n00b
n00b


Joined: 22 Aug 2007
Posts: 10

PostPosted: Sun Feb 17, 2008 8:27 pm    Post subject: Reply with quote

Kernel78 wrote:

Code:
tmp=$(mktemp)

ti crea il file temporaneo e nella variabile tmp ti ci mette il nome


il fatto è che viene mandato tramite pipe il contenuto del messaggio al primo comando che metti nel filtro.
se ci metto un mktemp, mi perdo per strada il contenuto della e-mail.

quello che devo fare credo si possa semplificare così:
a sinistra ho "cat email.dat | " e a destra ci va il mio filtro.

se metto "tmp=$(mktemp)" ottengo:

cat email.dat | tmp=$(mktemp) che mi perde il contenuto.

nel filtro attuale è stato messo:

cat email.dat | cat > temp_file

così da non perdere il messaggio e poterlo modificare, prima di restituirlo in output
Back to top
View user's profile Send private message
crisandbea
Veteran
Veteran


Joined: 03 Jul 2005
Posts: 1778
Location: BOSCO (SA) ... ma domiciliato a Bologna....

PostPosted: Sun Feb 17, 2008 8:34 pm    Post subject: Reply with quote

zantej wrote:
Kernel78 wrote:

Code:
tmp=$(mktemp)

ti crea il file temporaneo e nella variabile tmp ti ci mette il nome


il fatto è che viene mandato tramite pipe il contenuto del messaggio al primo comando che metti nel filtro.
se ci metto un mktemp, mi perdo per strada il contenuto della e-mail.

quello che devo fare credo si possa semplificare così:
a sinistra ho "cat email.dat | " e a destra ci va il mio filtro.

se metto "tmp=$(mktemp)" ottengo:

cat email.dat | tmp=$(mktemp) che mi perde il contenuto.

nel filtro attuale è stato messo:

cat email.dat | cat > temp_file

così da non perdere il messaggio e poterlo modificare, prima di restituirlo in output


usare sed per fare le tue modifiche al file ci hai pensato ??

ciauz
_________________
se fossi un disegnatore ti disegnerei, se fossi uno scrittore ti scriverei, se fossi un inventore ti inventerei...ma sono solo un trombettista!!!
Back to top
View user's profile Send private message
zantej
n00b
n00b


Joined: 22 Aug 2007
Posts: 10

PostPosted: Sun Feb 17, 2008 8:43 pm    Post subject: Reply with quote

come si vede nel codice di "edit.sh", viene utilizzato sed per le modifiche al file.
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Sun Feb 17, 2008 9:02 pm    Post subject: Reply with quote

zantej wrote:
come si vede nel codice di "edit.sh", viene utilizzato sed per le modifiche al file.

scusa ma non puoi modificare lo script o passare la mail direttamente a sed senza scriverla in un file ?
_________________
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con
Code:
grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Back to top
View user's profile Send private message
zantej
n00b
n00b


Joined: 22 Aug 2007
Posts: 10

PostPosted: Sun Feb 17, 2008 9:06 pm    Post subject: Reply with quote

non ne sono capace: per quanto ho capito, quando tu aggiungi un filtro a kmail per modificare il messaggio e scegli una e-mail a cui applicarlo, il programma fa qualcosa di pensabile come:

"cat EmailSelezionata | " e a destra di questo ci piazza il filtro che ho impostato.

non ho idea di come possa mandarlo in pipe a sed dopo che ho chiesto all'utente come vuole modificare l'oggetto della mail selezionata, invece se lo mando a cat posso salvarlo, "interrogare" l'utente e modificare la mail.
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sun Feb 17, 2008 9:14 pm    Post subject: Reply with quote

Code:
sed -e "/^Subject/c\Subject: $OGGETTO" -

nel caso specifico però tu chiedi prima un input quindi:
Code:
#!/bin/bash
TEMP=$$filetempotaneo
cat - > /tmp/$TEMP
read OGGETTO
sed -e "/^Subject/c\Subject: $OGGETTO" -i /tmp/$TEMP && rm /tmp/$TEMP
dovrebbe funzionare.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
zantej
n00b
n00b


Joined: 22 Aug 2007
Posts: 10

PostPosted: Sun Feb 17, 2008 9:33 pm    Post subject: Reply with quote

così al volo non va, perché si apre la shell di konsole ma non stampa niente, ma mi riservo di fare altre prove.

Code:
#!/bin/bash
TEMP=$(mktemp)

cat - > $TEMP

echo -n "Inserisci nuovo oggetto: "
read OGGETTO
sed -e "/^Subject/c\Subject: $OGGETTO" -i $TEMP
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Forum di discussione italiano All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum