Ho recuperato con successo un elenco di intestazioni di posta elettronica utilizzando il codice di esempio da questo URL: https://godoc.org/code.google.com/p/go-imap/go1/imap#example-Client. Tuttavia, non sono ancora riuscito a recuperare il corpo delle email. Qualcuno può mostrare qualche codice di esempio funzionante che può recuperare il corpo delle e-mail da un server imap in Golang?Come recuperare il corpo dal server imap in Go
5
A
risposta
3
Ho capito come ottenere il corpo del testo ora.
cmd, _ = c.UIDFetch(set, "RFC822.HEADER", "RFC822.TEXT")
// Process responses while the command is running
fmt.Println("\nMost recent messages:")
for cmd.InProgress() {
// Wait for the next response (no timeout)
c.Recv(-1)
// Process command data
for _, rsp = range cmd.Data {
header := imap.AsBytes(rsp.MessageInfo().Attrs["RFC822.HEADER"])
uid := imap.AsNumber((rsp.MessageInfo().Attrs["UID"]))
body := imap.AsBytes(rsp.MessageInfo().Attrs["RFC822.TEXT"])
if msg, _ := mail.ReadMessage(bytes.NewReader(header)); msg != nil {
fmt.Println("|--", msg.Header.Get("Subject"))
fmt.Println("UID: ", uid)
fmt.Println(string(body))
}
}
cmd.Data = nil
c.Data = nil
}
1
Il codice di esempio che è stato collegato per dimostrare l'utilizzo del comando IMAP FETCH
per recuperare l'elemento di dati del messaggio RFC822.HEADER
per un messaggio. La RFC contains a list of standard data items you can fetch from a message.
Se si desidera l'intero messaggio formattato in mime (intestazioni e corpo), è necessario richiedere BODY
. È possibile ottenere le intestazioni e il corpo del messaggio separatamente richiedendo rispettivamente BODY[HEADER]
e BODY[TEXT]
. La modifica del programma di esempio per utilizzare uno di questi elementi di dati dovrebbe ottenere i dati che si stanno cercando.
Problemi correlati
- 1. Come decodificare il corpo della posta in Go
- 2. IMAP - javax.mail. - Recupero solo corpo senza allegato
- 3. Modo corretto per recuperare mail da IMAP in symfony2
- 4. Ricevi e-mail dal server imap utilizzando coldfusion 7
- 5. IMAP sincronizzazione
- 6. Come parlare al server IMAP in Shell tramite OpenSSL
- 7. Server Imap più recente Libreria
- 8. Come leggere il testo del corpo di un'e-mail usando la libreria net/imap di ruby?
- 9. Impossibile recuperare Api per ottenere Session dal server PHP
- 10. Content Provider per recuperare i risultati dal server Web?
- 11. Come recuperare la lunghezza del corpo della risposta corrente?
- 12. Errore di certificato tramite IMAP in PHP
- 13. Impossibile recuperare una riga dal provider OLE DB "BULK" per server collegato "(null)"
- 14. Come recuperare il formato DATETIME dal database Sqlite
- 15. Tempo di sottrazione.Durata dal momento in Go
- 16. Come recuperare lo spazio dal "Grip"
- 17. Come recuperare un corpo di posta elettronica usando imaplib in python?
- 18. sql server GO equivalente in oracle
- 19. Protocollo IMAP in Java
- 20. Python - Come posso recuperare e-mail tramite POP o IMAP attraverso un proxy?
- 21. Come posso archiviare/recuperare un timestamp in SQL Server?
- 22. Come recuperare i dati dal database Firebase in ordine decrescente?
- 23. Come sottoscrivere automaticamente le nuove cartelle IMAP in Gnus?
- 24. Come arrestare un server di ascolto in Go
- 25. Come recuperare un oggetto List dal firebase in Android
- 26. Impossibile recuperare JSONArray dal server IP ma posso farlo da un normale server?
- 27. Come determinare l'UID di un messaggio in IMAP
- 28. Come recuperare una sottostringa dal file di testo in python?
- 29. come recuperare i dati dal database SQL in Word 2010?
- 30. Richieste avviate dal server
Grazie James. Ora sto leggendo la RFC 3501 per acquisire maggiori conoscenze sul protocollo IMAP. Sto ancora lottando per far funzionare l'API Go per recuperare il corpo. Puoi per favore mostrarmi qualche esempio di codice funzionante che recuperi il corpo delle mail. Grazie. –