15 May 2012

Testing email receive for appengine

It's not too obvious how to test email receive handlers in Appengine.  The important observation is that the handlers take HTTP POSTs with multipart/form-data encoded data.  In python you can build an email to be handled with the following code:
from email.message import Message 

def test_email(self):
  body = Message()
  body.add_header('to', 'test-unknown@other-app.com')
  body.add_header('from', 'test@app.com')
  body.add_header('Content-Type', 'multipart/alternative', boundary=self.boundary)
  text = Message()
  text['content-type'] = 'text/plain'
  text.set_payload('I am I! Don Quixote!  The man of La Mancha!')
  body.attach(text)

  post(payload=body.as_string())

No comments:

Post a Comment