¿Cómo funciona técnicamente ‘Responder por correo electrónico’ en Facebook?

No sé sobre Facebook y Github, pero encontré este tipo de características en un proyecto que hice hace unos días. Es una aplicación ROR .

Utilizamos la API sendgrid para enviar correos electrónicos. Por suerte, había una gema llamada griddler para recibir correos electrónicos y analizarlos. Elaboraré cómo funciona.

  1. Envíe un correo electrónico desde su dominio (http://example.com) a un usuario. Deje que esa dirección de correo electrónico esté [protegida por correo electrónico]
  2. Cambie sus registros MX en el archivo de zona de su dominio para que apunte a mx.sendgrid.com. Básicamente, esto le dice a su servidor de correo que reenvíe todos los correos entrantes a mx.sendgrid.com.
  3. Sendgrid proporciona una API Parse para analizar los correos electrónicos entrantes. Entonces usamos ese. Para que esto funcione, debemos agregar un dominio y una ruta de URL en el panel de SendGrid. En nuestro caso
    • Dominio : ejemplo.com
    • URL : http://www.example.com/procesador_de_email
  4. Básicamente, esto indica que el correo electrónico entrante de example.com debe enviarse como un hash a http://www.example.com/email_processor como una solicitud POST.
  5. En su archivo / email_processor puede escribir su código de analizador.

Pero en Github y Facebook, el escenario podría ser así:

  1. El correo entrante se envía como datos POST por el servidor de correo al script del procesador de correo
  2. Este script procesa el correo electrónico y hace lo que hay que hacer, como publicar en db, etc.

Como en nuestro servidor de correo no había forma de reenviar un script directamente, utilizamos un intermediario llamado sendgrid.

Consulte: Recibir correo electrónico en su aplicación Rails con Griddler