Crear Correo electronico con JSP

Hoooola a todos!!!
Soy nueva utilizando JAVA, pero necesito crear un correo electronico, es decir, algo asi como GMAIL o HOTMAIL, es decir que maneje bandeja de entrada, elementos enviados, contactos, etc. no tengo idea de como hacer eso, que librerias necesito??? necesito usar servlets?? que servidores web me recomiendan.... Por favor necesito que me ayuden con algun tutorial para saber por donde empezar... por favoooor es un trabajo que necesito empezar a desarrollar lo mas pronto

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de neko069

Echale una revisada al api

Echale una revisada al api JavaMail ... es más, checate este libro, es libre.... con ese tienes casi todo para empezar, aquí está el enlace ... ya para el front de, captura de datos de nuevos usuarios, revisión de correos y demás puedes implementar algún framework que te guste, GWT, RichFaces, Tapestry, Wicket .... hay muchos, suerte!!!

Imagen de ezamudio

JavaMail es para cliente

El API de JavaMail es para clientes de correo, principalmente para poder enviar correos via SMTP, aunque también permite lectura de mensajes via POP3 o IMAP.

La pregunta es demasiado vaga (por eso ni la contesté cuando la pusieron originalmente) y no deja claro si es que quiere hacer un cliente de mail via web, o si quiere hacer todo el sistema de correo (con todo y el servidor).

Imagen de neko069

Precisamente eso entendí

Que es para un cliente... con eso de que quería administrar contactos, bandeja de entrada, y lo demás que mencionó, pues.... así lo interpreté... pero, bueno pues, aprovechando el thread y abusando de tu presencia, que recomendarías como para comenzar un servidor de correo??

Imagen de ezamudio

instalar uno

Para un servidor de correo, recomiendo instalar uno. CentOS, RedHat, etc vienen con servidor de correo integrado; es cosa de poner uno y configurarlo (que no sé qué tan complicado sea) pero definitivamente sería poner uno. O usar el gmail con dominio propio y ya. No le veo el menor caso a desarrollar un servidor de correo (y menos en Java).

Imagen de neko069

Cierto, cierto.... te digo

Cierto, cierto.... te digo que necesito vacaciones.. cuando leí tu comentario, recordé que Debian también tiene utilerías para poder instalar un servidor de correo....
Pongo unas ligas (ya sé que no es foro de linux, pero se me hace conveniente para complementar la respuesta)
aquí
otra
otra más
y ya....

Imagen de neko069

En un rato de ocio.... como

En un rato de ocio.... como dices ezamudio, no sería lo ideal construir un mail server en Java... pero existen unos que me parecieron relevantes...

CrSemail
Java Email Server
Apache James

Mira, hay una página muy

Mira, hay una página muy buena que se llama chuidiang.com, en la cual se discuten muchos temas básicos de Java y otros lenguajes. Aquí viene un ejemplo de cómo enviar un correo a una dirección gmail.
La entrada es algo vieja, y te dice que tienes que bajar javamail y jaf; pero creo que desde Java 5 no es necesario descargarte nada ya que viene integrado.
Si lo necesitas para otro dominio (msn.com, hotmail.com, yahoo.[com[.mx], es]) te puedes ayudar de programas cómo thunderbird que al registrar una cuenta de alta te dice cual es su configuración smtp y pop3 (o cómo te dijo @ezamudio imap).

Y ya no tendrías más problemas =).

Imagen de ezamudio

JAF

JAF ya no es necesario en Java 6 porque viene integrado, pero JavaMail sigue siendo algo aparte.

Re: JAF

¿Ah si?...Orale, es que hace un rato (cómo 2 años, creo usaba Java 5), seguí ese mismo ejemplo que he puesto sin meterle nada más. Creo que con la librería javax.mail (incluida en el JDK) te es posible enviar correos (de hecho a la fecha es cómo los envío).

Imagen de ezamudio

Nop

JavaMail no es parte del JDK:

$ cat Caca.java 
import javax.mail.*;

public class Caca {
}

$ javac Caca.java 
Caca.java:1: package javax.mail does not exist
import javax.mail.*;
^
1 error
$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)

Re: Nop

Curioso...Tengo una aplicación corriendo así:

$ java -version
java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261)
Java HotSpot(TM) 64-Bit Server VM (build 17.1-b03-307, mixed mode)

También en Suck OS Mac OS...No le he instalado nada más, incluso el mismo Eclipse e IntelliJ Idea me lo encuentran!!!

PD: Ese proyecto no usa Maven.

EDIT 1: Con Play! viene integrado javamail (javamail-1.4.3.jar), de ahí mi error de creer que venía en JDK. Sin embargo la aplicación que te comento es de escritorio.

Imagen de ezamudio

compila

Copia y compila Caca.java sin especificar ningún classpath; si compila es que javamail viene con tu JDK (yo hice esa prueba en Mac OS X y en Linux con la JDK de Suracle y no jaló en ninguno de los dos casos).

Si tienes una aplicación de escritorio ya hecha que manda mails, probablemente le metieron las clases de JavaMail al jar de la app.

Re: compila

Es lo raro. No tengo librerías "extra" en esa aplicación y la hice yo desde un comienzo (o sea, nadie le ha metido mano y cómo te dije, no he agregado librerías externas). Y funciona en Suck OS X Mac, Windows y Linux.

Con lo de Caca, pues también jaló, sin más 0_0!

Imagen de ezamudio

extensiones

Entonces tienes instalado javamail en las extensiones del runtime. En Mac es /Library/JavaExtensions, en Linux es $JAVA_HOME/jre/lib/ext, en Windows no tengo idea. Los jars que pones en esos directorios quedan disponibles para todas las aplicaciones y ya no se tienen que especificar en el classpath.

Re: extensiones

Es /Library/Java/Extensions. Y te paso el find:

$ find .
.
./libsvnjavahl-1.jnilib

¿Alguna otra?

Imagen de ezamudio

Mac?

Si estás en Mac, es /System/Library/Java/Extensions (que se supone no debes mover porque ahí pone Apple las de ellos), /Library/Java/Extensions (se me fue la diagonal en el primero, aquí pones las tuyas a nivel sistema) y también ~/Library/Java (aquí pones las que solamente quieres que apliquen en tu cuenta).

Aunque acabo de hacer una prueba con ~/Library/Java (y ~/Library/Java/Extensions) y parece que ya no jala como dice aquí.

Otra opción es que tengas definido un classpath en tus variables de entorno y por eso si no invocas nada, ya se usa... en una Terminal haz

echo $CLASSPATH

a ver si tienes algo.

Me regresa una línea vacía.

Me regresa una línea vacía. Pasandote el find de /System/Library/Java/Extensions:

$ find /System/Library/Java/Extensions
/System/Library/Java/Extensions
/System/Library/Java/Extensions/AppleScriptEngine.jar
/System/Library/Java/Extensions/dns_sd.jar
/System/Library/Java/Extensions/j3daudio.jar
/System/Library/Java/Extensions/j3dcore.jar
/System/Library/Java/Extensions/j3dutils.jar
/System/Library/Java/Extensions/jai_codec.jar
/System/Library/Java/Extensions/jai_core.jar
/System/Library/Java/Extensions/libAppleScriptEngine.jnilib
/System/Library/Java/Extensions/libJ3D.jnilib
/System/Library/Java/Extensions/libJ3DAudio.jnilib
/System/Library/Java/Extensions/libJ3DUtils.jnilib
/System/Library/Java/Extensions/libmlib_jai.jnilib
/System/Library/Java/Extensions/libQTJNative.jnilib
/System/Library/Java/Extensions/libShark.jnilib
/System/Library/Java/Extensions/mlibwrapper_jai.jar
/System/Library/Java/Extensions/MRJToolkit.jar
/System/Library/Java/Extensions/QTJava.zip
/System/Library/Java/Extensions/vecmath.jar

A mi ya se me hizo raro (en exceso). Y con la liga que me has mandado, pues no aparece nada más que un "menu" de table de contenidos que no trae nada.

Imagen de ezamudio

y tus otros Library/Java/Extensions?

OK en System/Library/Java/Extensions no tienes mail.jar. Y en el Library/Java/Extensions de tu cuenta? en /Library/Java/Extensions ya habías dicho que solamente hay una biblioteca de interfaz para SVN.

En un tema no muy relacionado: por qué usas find en vez de simplemente ls?

Lo de la línea vacía supongo que es del echo $CLASSPATH. O sea que no tienes un CLASSPATH predefinido en variables de ambiente.

Ya lo vi en

Ya lo vi en Library/Java/Extensions de mi cuenta y tampoco está.

Del tema no relacionado, no sé, me gusta más find XD, aunque se que para estos casos un ls (-l) basta.

Y estás en lo correcto, no tengo la variable $CLASSPATH