Pergunta

Hey Eu tenho um servidor Windows rodando scripts CGI python e estou tendo um pouco de dificuldade com smtplib. O servidor está executando python 2.1 (infelizmente e eu não posso atualizá-lo). De qualquer forma eu tenho o seguinte código:

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

e ele está me dando esse erro:

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

Eu estou assumindo que este é porque o método login () foi adicionado após python 2.1. assim como faço para corrigir isso?

Eu tenho que adicionar o módulo por meio do upload dos arquivos para o mesmo diretório que o script CGI (embora eu acredite smtplib é escrito em C e precisa ser compilado que não podemos fazer neste servidor)

ou

Faça o que maneira está prevista para o libsmtp em python 2.1

Muito obrigado!

Foi útil?

Solução

login () foi introduzido no Python 2.2, infelizmente para você! A única maneira de fazê-lo em Python própria smtplib 2.1 de seria para emitir os comandos AUTH manualmente, o que não seria muito divertido.

Eu não testei-lo totalmente, mas parece smtplib Python 2.2 do deve mais ou menos trabalho em 2,1 se você copiá-lo transversalmente como você descreve (talvez chamá-lo smtplib2.py). É apenas um módulo Python, não compilação C deve ser necessário. No entanto, você vai pelo menos necessidade de copiar a biblioteca hmac.py ele depende de lib 2.2 do bem. Se você usar uma versão posterior Python para roubar ele começa exigindo que o pacote de e-mail também que pode ser mais trabalho.

Outras dicas

Faça o que maneira está prevista para o libsmtp em python 2.1

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top