Tôi đang sử dụng smtplib
và tôi đang gửi email thông báo từ ứng dụng của mình. Tuy nhiên tôi nhận thấy rằng đôi khi (đặc biệt là khi có rất nhiều thời gian nhàn rỗi giữa gửi thư) tôi nhận được một lỗi SMTPServerDisconnected
.python. Tôi có thể kiểm tra xem máy chủ SMTP có bị ngắt kết nối không (vì vậy tôi có thể kết nối lại?)
Tôi đoán có 2 giải pháp cho việc này (biết ai trong số họ, mặc dù)
- Tăng thời gian nhàn rỗi giữa gửi mail
- kết nối lại khi kết nối được xuống.
Tôi nghĩ giải pháp thứ 2 có vẻ thanh lịch hơn. Nhưng làm thế nào tôi có thể làm điều đó?
chỉnh sửa: Tôi thêm mã
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())
Bạn đang sử dụng 'SMTP.sendmail' để gửi email? Điều đó sẽ đóng gói tất cả các lệnh cấp thấp hơn bắt đầu từ 'connect'. Hoặc bạn đang cố gắng giữ một phiên SMTP mở và tái sử dụng cho một số email? –
Tôi đã thêm mã bạn yêu cầu. Hy vọng rằng làm rõ câu hỏi nhiều hơn một chút. :-) – xpanta