2012-09-19 16 views
6

Utilizzando IMAP via telnet, voglio essere in grado di estrarre l'oggetto dall'e-mail specificata. Ora so che il comando fetch è responsabile per ottenere i dati da una e-mail.IMAP FETCH Oggetto

La mia domanda è, come faccio ad ottenere l'intestazione soggetto specifico, senza mediante una chiamata a BODY [HEADER.FIELDS (soggetto)] (che, agli occhi del server, 'aprire l'e-mail' e quindi imposta la flag/seen, che è ciò che non voglio che si verifichi)?

Capisco che FETCH FULL restituisce l'intestazione completa, che contiene il soggetto ma è un incubo da analizzare e potrebbe essere pieno di insidie ​​invisibili se lo analizzo manualmente. Come potrei ottenere che il server mi dia il soggetto dall'intestazione?

+0

Sono disposto a prendere in considerazione le alternative a condizione che il flag/visto non è impostato sull'uso. – user1433767

risposta

12

ho scoperto la risposta:

BODY.PEEK [HEADER.FIELDS (soggetto)]

.PEEK dice che non aprirlo (quindi/visto non è impostato).

2

Oltre a BODY.PEEK, è possibile recuperare ENVELOPE, che fornisce un riepilogo analizzato di gran parte dei metadati del messaggio.

2

"A1 FETCH 1: * (FLAGS BODY [HEADER.FIELDS (OGGETTO DATA DA)]) \ r \ n"