Używam smtplib
i wysyłam wiadomości e-mail z powiadomieniem z mojej aplikacji. Jednak zauważyłem, że czasami (szczególnie gdy jest dużo czasu bezczynności między wysyłaniem poczty), pojawia się błąd SMTPServerDisconnected
.python. Czy mogę sprawdzić, czy serwer SMTP jest odłączony (aby ponownie połączyć?)
Chyba są 2 rozwiązania dla tego (wiem, żaden z nich, choć)
- wydłużyć czas bezczynności pomiędzy wysyłanie maili
- reconnect gdy połączenie jest w dół.
Myślę, że drugie rozwiązanie wydaje się bardziej eleganckie. Ale jak mogę to zrobić?
edit: dodaję kod
from smtplib import SMTP
smtp = SMTP()
smtp.connect('smtp.server.com')
smtp.login('username','password')
def notifyUser():
smtp.sendmail(from_email, to_email, msg.as_string())
Czy używasz 'SMTP.sendmail' do wysyłania e-maili? To powinno obejmować wszystkie komendy niższego poziomu zaczynające się od 'connect'. A może chcesz otworzyć sesję SMTP i użyć jej ponownie dla kilku e-maili? –
Dodałem kod, o który prosiłeś. Nadzieję, że nieco bardziej wyjaśnia to pytanie. :-) – xpanta