Skocz do zawartości

 Failed to lookup message size

Polecane posty

Sello pobiera dane z allegro (maile) i już od jakiegoś czasu pojawia się taki błąd:

 

Oczywiście pokazuje się to w raportach.

 

Szczegóły błędu:
 FetchMime:
   DllDate: Aug  3 2011
   UnlockPrefix: INSERTCOMPMAILQ
   Username: --------------
   Architecture: Little Endian; 32-bit
   Language: Visual C++ 8.0
   uidl: 0004621050ae2d86
   Failed to lookup message size
   msgNum: 2

tylko dla dwóch wiadomości, uidl i msgNum się zmienia, potraficie mi powiedzieć gdzie szukać tego w bazie? a może to problem z wiadomościami na serwerze? (2 wiadomości tylko)

 

EDIT:

Podobny temat, bez odpowiedzi https://forum.sello.pl/index.php?topic=5227.msg32669#msg32669

 

???

 

Link to postu
  • 2 tygodnie później...

Niestety dalej nie mogę znaleźć tej niby feralnej wiadomości. Skasowałem te najstarsze, obecnie sello pokazuje dalej ten sam komunikat dla 2 wiadomości, ale tym razem jest już to samo uidl. Brak tego uidl w bazie.

 

Nie jest to ważny problem, ale trochę mnie już denerwuje ten problem.

 

Co to za biblioteka? Może uda mi się znaleźć coś u nich.

Link to postu

A widzisz, ja szukałem i znalazłem ;-)

 

Przyczyna: wiadomość jest uszkodzona, pusta, rozmiar jej wynosi 0

Rozwiązanie:

Jeszcze raz błąd komunikatu:

FetchMime:
    DllDate: Aug  3 2011
    UnlockPrefix: INSERTCOMPMAILQ
    Username: --------------
    Architecture: Little Endian; 32-bit
    Language: Visual C++ 8.0
    uidl: 0004621050ae2d86
    Failed to lookup message size
    msgNum: 2

 

Kluczowa informacja: msgNum

 

msgNum: 2

To nas interesuje z komunikatu błędu.

 

Sposoby rozwiązania problemu: 2

 

Sposób 1:

Napisałem prosty skrypt w pythonie który połączy się z naszym kontem za pomocą pop3 i usunie wadliwego maila.

 

# 0004621050ae2d86 004 bad email hash.
# 0005518a50ae2d86 005+ good email hash.
import poplib

server = "x"
port = 995
user = "x"
password = "x"
processText = "Message num: {0}. Message UIDL: {1}. Message info: {2}"

pop = poplib.POP3_SSL(server, port)
pop.user(user)
pop.pass_(password)

# Put msgNum here
# badMessages = [1, 2, 747744, 13133]
badMessages = []

for messageID in badMessages:
    message = pop.retr(messageID)
    messageUidl = pop.uidl(message[2])[-16:]
    print(processText.format(messageID, messageUidl, message[0]))
    try:
        pop.dele(messageID)
    except Exception as error:
        print(error)
pop.quit()
input("Wciśnij enter.")

 

Aczkolwiek, może się okazać, że uszkodzone wiadomości dalej będą, dlatego jest sposób 2.

 

Sposób 2:

 

Będziemy potrzebować programu telnet (Windows) lub "nc" (LINUX).

 

Polecenie:

telnet xxx 110 (Windows)

nc xxx 110 (Linux)

 

Gdzie xxx to adres gdzie mamy pocztę.

 

Po połączeniu wykonujemy następujące polecenia:

USER uzytkownik@costam
PASS haslo
DELE 2
QUIT

 

Gdzie uzytkownik@costam  i hasło to do naszego konta pocztowego.

Warto zaznaczyć, że trzeba dosyć szybko wpisać.

DELE: kasuje wiadomość o określonym indeksie. Indeks ten można znaleźć w msgNum

QUIT - wychodzimy i zatwierdzamy zmiany.

 

 

Sugeruje zamknąć i gdzieś podlinkować.

Link to postu

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.
Uwaga: Twój wpis zanim będzie widoczny, będzie wymagał zatwierdzenia moderatora.

Użytkownik forum
Odpowiedz...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • Dodaj nową pozycję...