Как GAE (python) нужно получать почту и публиковать на доске объявлений, а затем отправлять почту всем пользователям? - PullRequest
1 голос
/ 24 декабря 2011

кто-нибудь знает, что не так с моей программой ??Я пишу main.py.и запустить его в GAE.но когда я набираю какое-то слово в GAE, оно не может отправлять почту авторам в таблице

 
    class Send(webapp.RequestHandler):         
       def send(self):

          mail.send_mail(sender=users.get_current_user(), 
                             to=Greeting.author.all(),#Table 
                           body=self.request.get('content'))

          self.redirect("/")

    application = webapp.WSGIApplication([
      ('/', MainPage),
      ('/sign', Guestbook),##click sign to use Guestbook
      ('/sign', Send)
    ], debug=True)

И я пишу handle_incoming_email.py, пытаясь отправить письмо на 123 @ http: appid.appspotmail.com, но я не вижу ничего в таблице и не могу отправить письмо авторам в таблице


    class ReceiveEmail(InboundMailHandler):
        def receive(self,message):
            logging.info("Received email from %s" % message.sender)
            plaintext = message.bodies(content_type='text/plain')

            mail.send_mail(sender=mail_message.sender, 
                               to=m.Greeting.author.all(), 
                             body=plaintext)

    application = webapp.WSGIApplication([
      ReceiveEmail.mapping()
    ], debug=True)

1 Ответ

2 голосов
/ 24 декабря 2011

Для получения электронной почты см. http://code.google.com/appengine/docs/python/mail/receivingmail.html

Для отправки электронной почты см. http://code.google.com/appengine/docs/python/mail/sendingmail.html

например

import logging, email
from google.appengine.ext import webapp 
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler 
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.api import mail

class LogSenderHandler(InboundMailHandler):
    def receive(self, mail_message):
        # post it to message board
        # assuming Message is a table
        text = "\n".join(mail_message.bodies('text/plain'))
        msg = Message(text=text, sender=mail_message.sender)
        msg.put()

        # email msg to list of users
        mail.send_mail(sender=mail_message.sender, to=[list of user], body=text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...