Đây là mã bình thường của tôi trong VPS lưu trữ của tôi mà cung cấp python 2,4SMTP AUTH phần mở rộng không được hỗ trợ bởi máy chủ trong python 2.4
def mail(receiver,Message):
import smtplib
try:
s=smtplib.SMTP()
s.connect("smtp.gmail.com",465)
s.login("[email protected]", "password")
s.sendmail("[email protected]", receiver, Message)
except Exception,R:
return R
nhưng tiếc là trở lại tin nhắn này! : SMTP AUTH extension not supported by server.
trong máy tính của tôi mà tôi đã cài đặt python 2.7 i tìm thấy các giải pháp và nó làm việc rất tốt ở đây là mã này:
def mail(T,M):
import smtplib
try:
s=smtplib.SMTP_SSL()
s.connect("smtp.gmail.com",465)
s.login("[email protected]","your_password")
s.sendmail("[email protected]", T, M)
except Exception,R:
print R
Nhưng trong VPS mà cài đặt python 2.4 không có SMTP_SSL() và trả lại thông báo này 'module' object has no attribute 'SMTP_SSL'
Ngoài ra tôi đã cố gắng nâng cấp python của tôi trong VPS nhưng những gì đã xảy ra là làm hỏng toàn bộ python có nghĩa là python không hoạt động chút nào.
bạn không thể chạy '' ehlo'' hoặc '' starttls'' trước '' connection''. Bên cạnh đó không có ý nghĩa gì cả, nó làm tăng một ngoại lệ ('' SMTPServerDisconnected''). – emyller
Bạn không cần thực hiện cuộc gọi s.ehlo() đầu tiên. s.starttls() sẽ gọi nó cho bạn. Tôi xác nhận điều này trong 2,7, 2,4 tài liệu âm thanh giống như nó hoạt động theo cùng một cách trong phiên bản đó. – Ian
Nó có thể là giá trị nói rằng đó là ehlo đôi() xuất hiện để làm cho công việc này .. –