Recibir correos con ActionMailer

Hola a todos,

no es la primera vez que lo pregunto en la listas pero es que no soy
capaz de hacer que mi aplicación web pueda recibir correos de un
servidor de correo.

El tema es que mi aplicación debe enviar correos (esto ya lo hace con
ActionMailer) y que también pueda recibir correos y ver su contenido y
tratar los adjuntos si los lleva. Es como implementar un pequeño Outlook
o MozillaThunderbird, pero hecho en ruby y muy simple. Lo de recibir
correos según me han comentado otras vez y he leido por ahi se puede
hacer también con el ActionMailer, pero esto nunca lo consigo hacer. En
el wiki del ‘howToReceiveMailsWithActionMailer’ habla sobre un
script/runner después de hacer el método receive(email) y aquí es donde
ya me pierdo y no se como seguir.

Necesitaba si fuera posible los pasos a seguir para hacer bien esto y
las clases y vistas y modelos, controladores, … que hay que utilizar
para ello. Como si fuera un tutorial paso a paso, ;), y si hubiera
ejemplos pues mejor que mejor, jejejeje.

Explico un poco la idea del funcionamiento de lo de recibir correos
desde mi aplicación:

  • habria un enlace en alguna parte del menú que sea ‘correos’ y al
    pinchar aquí saldria una vista con todos los correos (que haya en el
    servidor de correos al que me conecte( y que se muestre por ejemplo el
    nombre, el asunto y la fecha. Y también un enlace para crear un nuevo
    correo.

  • al pinchar por ejemplo en el asunto de cada correo de la lista
    mostraría en una página el contenido del correo y sus detalles, y desde
    aquí se podría responder.

Como veis, si no puedo recibir correos no puedo hacer casi nada de este
módulo que debe de hacer (estoy desesperado por terminar este modulo :slight_smile:
).

Agradezco vuestras respuestas

Saludos

On 18/01/2008, Carlos F. [email protected]
wrote:

Hola a todos,

no es la primera vez que lo pregunto en la listas pero es que no soy
capaz de hacer que mi aplicación web pueda recibir correos de un
servidor de correo.

Hola,

no te voy a hacer un tutorial, pero te voy a dar unas palabras de
ánimo: yo lo he conseguido hacer, y si yo lo consigo, tú puedes
hacerlo siete veces :slight_smile:

Basicamente los pasos son los del wiki, si no recuerdo mal. La línea
de script/runner tiene el propósito de hacer que tu servidor de correo
desvie los entrantes hacia la aplicación Rails.

mailman: “|/path/to/app/script/runner Mailman.receive(STDIN.read)”

O sea, pones el path de tu app hasta script/runner.

La parte de “Mailman.receive” es como hayas llamado a tu modelo de
ActionMailer (Mailman, Notifier, Mailer, loquesea) y dentro de esta
clase como hayas llamado al método receptor (déjalo como receive y así
no te lias)

SI tienes un cpanel o similar, te será fácil, en la sección de
gestiónde cuentas de correo, encontrar un apartado que te permita hacer cosas
con los correos entrantes: forwardearlos, etc. Una de estas opciones
será ‘desviar hacia un script de sistema’ o algo similar. Ahí pones la
instrucción de script/runner.

Si no tienes acceso a una herramienta de alto nivel y tienes que
ocuparte del servidor a mano, dependerá de cuál utilices. En el wiki
te dan instrucciones para Postfix y otros, es cuestión de armarte de
paciencia o recurrir a alguien que se maneje bien.

Una vez el correo llegue a script/runner y entra en la aplicación, el
resto te será seguramente trivial.

Suerte.


Manuel, que
piensa que eres una excelente persona y medra en torno a
http://simplelogica.net y/o http://simplelogica.net/logicola/
Recuerda comer mucha fruta y verdura.