2016-05-31 12 views
2

Ich erhalte die Größe der Nachricht mit dem folgenden IMAP-Befehl.Abrufen der Größe der Nachricht mit dem IMAP-Befehl

"$ FETCH UID RFC822.SIZE \ r \ n"

Für einige Meldungen der Befehl richtig funktioniert und gibt die Nachrichtengröße

„* 3 FETCH (RFC822.SIZE 2376) \ r \ n $ OK Erfolg \ r \ n "

Aber für einige E-Mails ist es nicht die Größe der Nachricht abrufen. Es gibt nur Erfolgsmeldung, aber nicht die Größe

Hier ist die Antwort für einige Nachrichten.

"$ OK Erfolg \ r \ n"

Gibt es eine alternative Möglichkeit, die Größe der Nachricht zum Abrufen?

+0

Ihr Befehl ist nicht zulässig. Der reale Befehl muss ein Argument enthalten, um auf die Nachricht zu zeigen. Was ist der wahre Befehl? – arnt

+0

Aktueller Befehl ist: "$ FETCH 1 RFC822.SIZE \ r \ n" – Mayuresh

+0

'$ FETCH N RFC822.SIZE \ r \ n' wird die Größe der N-ten Nachricht im Postfach abrufen, nicht die Nachricht mit einer UID von N. Wenn Sie basierend auf UID abrufen möchten, dann müssen Sie verwenden "UID FETCH N RFC822.SIZE \ r \ n" – jstedfast

Antwort

1

Stepping auf einem Glied aus ... was Sie im Sinn haben, ist x uid fetch 1234 rfc822.size um 1234. die Größe der Nachricht mit UID lernen jedoch, was Sie senden ist y fetch 1234 rfc822.size, und wenn es weniger als 1234 Meldungen in der Mailbox dieser Befehl wird nicht funktionieren.

Bin ich richtig raten?

+0

Guter Fang! Ich habe nicht bemerkt, dass er nicht die richtige Syntax verwendet. – jstedfast

+0

Ja das ist richtig. Es hat das Problem gelöst. Danke, Arnt – Mayuresh

0

Wenn Sie keine Größeninformationen zurück erhalten, bedeutet dies, dass die Nachricht nicht existiert.

+0

Nein. Die Nachricht existiert. Ich bin in der Lage, den Körper und Header der gleichen Nachricht zu holen – Mayuresh

+0

Technisch ist es nicht, weil Sie die Größe einer Nachricht an einem bestimmten * Index * und nicht * uid * anfordern. – jstedfast

Verwandte Themen