Witam.
Na wstępie przepraszam, jeżeli temat założyłem w złej kategorii.
Opis problemu.
Ściągnąłem najnowszą wersję PHPMailer'a (na starej ten sam problem).
Wysyłając maila w postaci html, gdzie mam zdjęcie - nie duże około 300KB dostaję
komunikat o nie przyjęciu danych. Ten sam mail, ta sama skrzynka (SMTP) na innym
łączu i wszystko działa poprawnie. Na tym serwerze gdzie nie działa nie ma żadnych
ograniczeń, zarówno czasowych, jak i co do wielkości pliku.
Po długiej analizie doszedłem do wniosku, który rozwiązał problem, ale nie do końca
rozumiem źródło problemu.
PHPMailer wysyła treść maila w postaci linii nie dłuższej niż 998 znaków. Przy dużym
pliku jest tego oczywiście dużo. U mnie żeby się wywaliło wystarczyło około 4000 linii.
Spowolniłem przesyłanie linii poprzez usleep(); To rozwiązało problem.
Po tym jak dane zostaną wysłane PHPMailer sprawdza ostatni komunikat z serwera.
I tutaj musi leżeć problem otóż w pewnym momencie czyli po tych przykładowo 4000
liniach nie potrafi odebrać wiadomości zwrotnej, dostaję pustą.
Teraz w czym tkwi problem:
- serwer gdzie leży SMTP z tym słabym łączem zapycha się przy wysyłaniu i nie potrafi odebrać?
- czy może nie nadąża odbierać, ale z tego co się doczytałem, to SMTP nic nie zwraca, można
tylko pobrać ostatni komunikat - ale tutaj się mogę mylić.
- a może ktoś ma inny pomysł.
Może ktoś spotkał się z takim problemem, albo potrafi mi coś rozjaśnić zaistniałą sytuację