문제

Python CGI 스크립트를 실행하는 Windows 서버가 있으며 SMTPLIB에 약간의 어려움이 있습니다. 서버가 Python 2.1을 실행 중입니다 (불행히도 업그레이드 할 수 없습니다). 어쨌든 다음 코드가 있습니다.

    session = smtplib.SMTP("smtp-auth.ourhosting.com", 587)
    session.login(smtpuser, smtppass)

그리고 그것은 나 에게이 오류를주고있다 :

exceptions.AttributeError :  SMTP instance has no attribute 'login' :  

Python 2.1 이후 로그인 () 메소드가 추가 되었기 때문이라고 가정합니다. 그렇다면 이것을 어떻게 해결합니까?

CGI 스크립트와 동일한 디렉토리에 파일을 업로드하여 모듈을 추가해야합니다 (SMTPlib가 C로 작성 되었으며이 서버에서 할 수없는 컴파일이 필요하다고 생각하지만).

또는

Python 2.1의 libsmtp에 의해 예상되는 방법을 사용하십시오.

정말 고마워!

도움이 되었습니까?

해결책

Login ()은 Python 2.2에 소개되었습니다. Python 2.1의 SMTPlib에서 수행하는 유일한 방법은 인증 명령을 수동으로 발행하는 것입니다.

나는 그것을 완전히 테스트하지는 않았지만 Python 2.2의 smtplib은 당신이 설명 할 때 그것을 복사하면 2.1에서 다소 작업 해야하는 것 같습니다 (아마도 smtplib2.py라고 함). 그것은 단지 파이썬 모듈 일 뿐이며 C 컴파일이 필요하지 않습니다. 그러나 최소한 2.2의 lib에서 의존하는 hmac.py 라이브러리를 복사해야합니다. 나중에 Python 버전을 사용하여 훔친 경우 더 많은 작업 일 수있는 이메일 패키지도 필요로합니다.

다른 팁

Python 2.1의 libsmtp에 의해 예상되는 방법을 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top