ingreso - sistema de conteo de votos en php
¿Cómo recibo el correo electrónico y lo proceso en una aplicación web? (11)
Hay un gran tutorial para esto aquí:
evolt.org/incoming_mail_and_php
que cubre cómo hacer que los correos electrónicos se reenvíen directamente al script, que el script lee a través de stdin (fopen, fread, etc.) El código del tutorial incluso hace un análisis básico del encabezado / cuerpo por usted.
Configuré una identificación de correo electrónico en mi aplicación web de PHP. Los usuarios enviarán correos electrónicos a esta identificación.
Quiero procesar estos correos electrónicos en la aplicación. ¿Voy a hacer esto?
Gracias por adelantado.
Hay una gran biblioteca: prueba esto: http://code.google.com/p/php-imap
Hay una serie de soluciones alojadas que aceptarán correo electrónico para su dominio y luego lo publicarán en su sitio web. La mayoría de ellos manejará el análisis de los mensajes por usted (separando los archivos adjuntos, "a" "de" y otras direcciones, etc.).
Simplemente crea un script que recibe un FORMATO POST y hace lo que necesita con él.
También puede ver Mandrill (por MailChimp), SendGrid y PostMarkApp.
Las soluciones alojadas como Travis Austin sugirieron que funcionaría bien.
Si busca uno autohospedado, puede echar un vistazo al módulo de Mailin que le permite recibir correos electrónicos, analizarlos y publicarlos en un webhook de su elección. También verifica el dkim y spf, calcula un puntaje de spamassassin y determina el idioma del mensaje.
No sé si se adaptará a sus necesidades, ya que está escrito en node.js, pero cuantas más opciones tenga, mejor. (Descargo de responsabilidad: soy el mantenedor de Mailin)
Mira fMailbox . No requiere ninguna extensión no estándar (como imap) y se ha probado con varios servidores, archivos adjuntos, mensajes multiparte, SSL y más.
Necesita implementar un cliente de correo electrónico en Php. Probablemente este sea un cliente POP .
Este código consultará el servidor POP que contiene su correo electrónico, lo descargará y luego podrá analizarlo según sea necesario.
Una búsqueda rápida en Google de "POP client php" ha revelado una gran variedad de opciones diferentes. Es difícil saber si realmente hay "The One True PHP POP Library", de lo contrario lo incluiría aquí. Si está utilizando un marco preexistente, es posible que desee comprobar para ver su nivel de soporte POP, de lo contrario, verifique los resultados de google anteriores y haga su elección. O puede ser más fácil (y más educativo :)) para tirar el tuyo.
Recientemente trabajé en un proyecto que requería analizar el correo electrónico de gmail y actualizar la base de datos con ciertos valores basados en el contenido del correo electrónico. ezcMail biblioteca de componentes Zeta de ezcMail (ahora) para conectarme al servidor de correo y analizar los correos electrónicos.
La estrategia que adopté fue filtrar todos los correos entrantes interesantes con una etiqueta "sin procesar". Ejecute el script PHP a través de un crontab cada 15 minutos. La secuencia de comandos se conectaría al servidor de correo y abriría la carpeta IMAP no procesada y analizaría cada correo electrónico. Después de insertar los valores interesantes en la base de datos, la secuencia de comandos mueve los archivos a otra carpeta IMAP "Proccessed".
También encontré que IMAP es mejor que POP para este tipo de procesamiento.
Si desea evitar contactar POP o IMAP con otro servidor para desplegar el correo electrónico, puede agregar un ''gancho'' al proceso de recepción de correo electrónico en algún servidor SMTP que configure (posiblemente el mismo servidor php). Entonces simplemente tenga el correo electrónico de destino manejado por este servidor.
Aquí hay un ejemplo con postfix, pero también son posibles cosas similares con sendmail.
http://www.adkap.com/autoresponder.html
Sugiero usar el componente Zend_Mail de Zend Framework.
Use procmail si está instalado en su sistema. Coloque estas líneas en un archivo .procmailrc en el directorio de inicio del usuario que recibe el correo electrónico.
:0
| /path/to/your/script.php
O también puede usar un archivo .forward que contenga
"|/path/to/your/script.php"
Procmail tiene la ventaja de que le permite tratar con un filtrado más complicado si su aplicación lo requiere alguna vez.
Su archivo script.php leerá los encabezados y el cuerpo del correo electrónico de stdin.
Recientemente, quería poder recibir correos electrónicos de forma inmediata en algo que estaba haciendo, así que investigué un poco (también vine a buscar esta cuestión en este caso) y terminé encontrando a Google App Engine para ser bastante útil. Tiene una API que puede usar para recibir y procesar correos electrónicos enviados a [email protected]
. Sé que no parece realmente útil ya que probablemente no quiera su aplicación en App Engine y quiera recibir correos electrónicos en yourdomain.tld, pero con un poco de configuración puede obtener lo que quiere.
Mi configuración básica es así:
- El usuario envía un correo electrónico a [email protected] (una dirección de correo electrónico que en realidad no existe)
- mydomain.tld tiene una dirección de correo electrónico catchall que reenvía a [email protected]
- GAEapp (una pequeña aplicación en el motor de aplicaciones) recibe el correo electrónico, lo procesa y envía una solicitud posterior con material relevante a mydomain.tld
Entonces, básicamente, puedes crear una pequeña aplicación GAE que funcione como un intermediario para tomar los correos electrónicos. Incluso con la redirección funcionará bien, el correo electrónico estará bien.
También decidí aprender algo de django e hice una aplicación gratuita llamada Emailización que básicamente hará eso por ti. Crea un destinatario como [email protected]
y le da una URL a la POST. Todo lo que se envíe a esa dirección recibirá su URL POST. ¡Usted puede hacer una captura de su dominio que envíe a ese destinatario de correo electrónico y también recibirá un correo electrónico a través del catálogo!
o puede ver una pequeña aplicación GAE que hice que puede configurar usted mismo que hace lo mismo.
Espero que ayude a alguien!