Отправка электронной почты с web2py на GAE - PullRequest
5 голосов
/ 17 апреля 2010

Я пытаюсь отправить письмо из моего приложения web2py, размещенного в GoogleAppEngine. Но это не работает. Я использовал функцию mail, которая была предоставлена ​​с web2py. Кто-нибудь, как это сделать? Я прочитал в документации GAE, что почтовая библиотека python не будет работать с GAE, и необходимо использовать почтовую библиотеку GAE. Это относится и к почте web2py? Спасибо

Ответы [ 3 ]

5 голосов
/ 17 апреля 2010

Класс web2py gluon.tools.Mail (который также используется модулем Auth) работает на GAE и не-GAE из коробки. Вам просто нужно пройти правильные настройки:

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

Поддерживает несколько кодировок, MIME и вложений.

3 голосов
/ 28 апреля 2010

Класс web2py gluon.tools.Mail работает на GAE. Посмотреть фрагмент кода gluon.tools линия 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)

Это правильные настройки для работы на GAE

mail=Mail()
mail.settings.server="gae"
mail.settings.sender="you@example.com" #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"

См http://code.google.com/intl/en/appengine/docs/python/mail/emailmessagefields.html отправитель Адрес электронной почты отправителя, адрес От. Это должен быть адрес электронной почты зарегистрированного администратора приложения или адрес текущего вошедшего в систему пользователя. Администраторы могут быть добавлены в приложение с помощью Консоли администрирования. Адрес электронной почты текущего пользователя можно определить с помощью API пользователя.

Извини! Мой английский очень плохой. Я надеюсь помочь.

Селсо Годиньо (celso.gcosta@gmail.com) Чемпионат мира по футболу Бразилия 2010

0 голосов
/ 17 апреля 2010

Вы должны использовать родную почтовую программу App Engine: http://code.google.com/appengine/docs/python/mail/sendingmail.html

...