2010-04-16 12 views
5

Próbuję wysłać wiadomość z mojej aplikacji web2py hostowanej w GoogleAppEngine. Ale to nie działa. Użyłem funkcji mailowej podanej w web2py. Czy ktoś to robi? Przeczytałem w dokumentacji GAE, że biblioteka poczty Pythona nie działałaby z biblioteką pocztową GAE i GAE. Czy dotyczy to również poczty web2py? DziękiWysyłanie wiadomości e-mail z web2py na GAE

+1

Kiedy mówisz "nie działa", co dokładnie masz na myśli? Czy daje ci komunikat o błędzie? Ta strona nie wydaje się pewna, że ​​poczta e-mail będzie działała z Web2py + App Engine: http://wiki.web2py.com/Sending_Email_with_Plain_Text_HTML_Versions_plus_Attachments –

+0

E-mail nie jest wysyłany i pojawia się następujący komunikat o błędzie Otrzymuję następujący błąd. Błąd Mail.send: obiekt 'module' nie ma atrybutu 'getaddrinfo' – felix

Odpowiedz

5

Klasa Web2py gluon.tools.Mail (który jest używany przez moduł Auth zbyt) działa na GAE i non-GAE po wyjęciu z pudełka . Musisz tylko podać poprawne ustawienia:

mail=Mail() 
mail.settings.server="smtp.example.com:25" or "gae" 
mail.settings.sender="[email protected]" 
mail.settings.tls=True or False 
mail.settings.login="you:password" 

Obsługuje wiele kodowań, MIME i załączniki.

+0

Otrzymuję następujący błąd. Mail.send awaria: 'moduł' obiekt ma atrybut 'getaddrinfo' i kod dla części elektronicznej jest poczty Mail (=) mail.settings.server = 'smtp.gmail.com:587' pocztę .settings.login = 'nazwa użytkownika: passwordxperia x1' mail.settings.sender = '[email protected]' mail.settings.tls = prawda czy fałsz mail.send (do, temat wiadomości) powyższy kod działa, gdy korzystam z mojego lokalnego komputera, ale nie raz przesyłam go do GAE – felix

+1

. W poprzednim komentarzu pominięto coś, co poprawiłem. To prawda, że ​​musisz mieć API GAE i prawdą jest, że web2py zapewnia warstwę abstrakcji.Ale nie można połączyć się z serwerem zewnętrznym, ponieważ smtplib wymaga gniazda, a gniazdo nie jest dostępne w GAE. Dolna linia musisz ustawić mail.settings.server = "gae" – mdipierro

3

Klasa web2py gluon.tools.Mail działa na GAE. kod widoczny fragment gluon.tools linia 310

try: 
     if self.settings.server == 'gae': 
      from google.appengine.api import mail 
      result = mail.send_mail(sender=self.settings.sender, to=to, 
            subject=subject, body=text) 

Jest to poprawne ustawienia do pracy na GAE

mail=Mail() 
mail.settings.server="gae" 
mail.settings.sender="[email protected]" #This must be the email address of a registered 
             #administrator for the application, or the address 
             #of the current signed-in user. 
mail.settings.login="you:password" 

Zobacz http://code.google.com/intl/en/appengine/docs/python/mail/emailmessagefields.html nadawcę adres e-mail nadawcy, adres nadawcy. Musi to być adres e-mail zarejestrowanego administratora aplikacji lub adres aktualnie zalogowanego użytkownika. Administratorzy mogą zostać dodani do aplikacji za pomocą Konsoli administracyjnej. Adres e-mail bieżącego użytkownika można ustalić za pomocą interfejsu API użytkowników.

Przepraszamy! Mój angielski jest bardzo słaby. Mam nadzieję, że pomogę.

Celso Godinho ([email protected]) Brazylia mistrzem World Cup Soccer 2010

Powiązane problemy