Formulario de contacto con App Engine

Guía básica para generar un formulario de contacto con App Engine en un entorno estándar

Google App Engine te permite crear aplicaciones web escalables sin preocuparte por la infraestructura. En esta guía te muestro cómo crear un formulario de contacto simple usando App Engine con Python 2.7 en un entorno estándar.

Paso 1: Crea el formulario HTML

Crea un formulario HTML simple con los campos de nombre, correo y mensaje:

<form id="contact-form">
  <input type="text" name="name" placeholder="Nombre" required />
  <input type="email" name="email" placeholder="Correo electrónico" required />
  <textarea name="message" placeholder="Mensaje" required></textarea>
  <button type="submit">Enviar</button>
</form>

Paso 2: Envía el formulario con jQuery AJAX

Usa jQuery para enviar el formulario de manera asíncrona:

$('#contact-form').submit(function(e) {
  e.preventDefault();
  $.ajax({
    url: '/contact',
    type: 'POST',
    data: $(this).serialize(),
    success: function(response) {
      alert('Mensaje enviado correctamente');
    },
    error: function() {
      alert('Error al enviar el mensaje');
    }
  });
});

Paso 3: Crea el handler en Python

Crea el archivo main.py con un handler de webapp2 para procesar el formulario:

import webapp2
from google.appengine.api import mail

class ContactHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Contact form')

    def post(self):
        name = self.request.get('name')
        email = self.request.get('email')
        message = self.request.get('message')

        mail.send_mail(
            sender='noreply@your-app-id.appspotmail.com',
            to='your-email@example.com',
            subject='Nuevo mensaje de contacto de %s' % name,
            body="""
Nombre: %s
Correo: %s
Mensaje: %s
            """ % (name, email, message)
        )

        self.response.write('OK')

app = webapp2.WSGIApplication([
    ('/contact', ContactHandler),
], debug=True)

Recursos adicionales