Bueno amigos, aqui muestro la clase que tengo asociada el ejemplo compilado en una aplicacion de escritorio java (NetBeans).
Nombre de la clase: JavaMail
El nombre de la aplicacion es Jmailx
Nombre de la clase: JavaMail
/*
* Fichero: JavaMail.java
* Autor: Jeison Nisperuza
* Fecha: 24/12/2010 18:14
*/
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.*;
public class JavaMail
{
public void email(String para, String asunto,String mensaje) {
try
{
JMailxView.barra_progreso.setVisible(true);
Properties props = new Properties();
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.starttls.enable", "true");
props.setProperty("mail.smtp.port", "587");
props.setProperty("mail.smtp.user", JMailxView.jtfCuenta.getText());
props.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, null);
BodyPart texto = new MimeBodyPart();
texto.setText(mensaje);
BodyPart adjunto = new MimeBodyPart();
adjunto.setDataHandler(
new DataHandler(new FileDataSource(JMailxView.jtfAdjunto.getText())));
adjunto.setFileName(JMailxView.nombreadd);
MimeMultipart multiParte = new MimeMultipart();
multiParte.addBodyPart(texto);
multiParte.addBodyPart(adjunto);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(JMailxView.jtfCuenta.getText()));
String [] correos;
correos = para.split("\n");
for(int i=0;i
message.addRecipient(
Message.RecipientType.TO,
new InternetAddress(correos[i]));
message.setSubject(asunto);
message.setContent(multiParte);
Transport t = session.getTransport("smtp");
t.connect(JMailxView.jtfCuenta.getText(), JMailxView.jptClave.getText());
t.sendMessage(message, message.getAllRecipients());
JMailxView.barra_progreso.setMaximum(correos.length);
JMailxView.barra_progreso.setValue(i);
t.close();
}
JOptionPane.showMessageDialog(null, " El email ha sido enviado ");
JMailxView.barra_progreso.setVisible(false);
JMailxView.statusAnimationLabel.setVisible(false);
}
catch (Exception enc)
{
JOptionPane.showMessageDialog(null, " ERROR: No se pudo enviar el email ");
}
}
}
* Fichero: JavaMail.java
* Autor: Jeison Nisperuza
* Fecha: 24/12/2010 18:14
*/
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.*;
public class JavaMail
{
public void email(String para, String asunto,String mensaje) {
try
{
JMailxView.barra_progreso.setVisible(true);
Properties props = new Properties();
props.setProperty("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.starttls.enable", "true");
props.setProperty("mail.smtp.port", "587");
props.setProperty("mail.smtp.user", JMailxView.jtfCuenta.getText());
props.setProperty("mail.smtp.auth", "true");
Session session = Session.getDefaultInstance(props, null);
BodyPart texto = new MimeBodyPart();
texto.setText(mensaje);
BodyPart adjunto = new MimeBodyPart();
adjunto.setDataHandler(
new DataHandler(new FileDataSource(JMailxView.jtfAdjunto.getText())));
adjunto.setFileName(JMailxView.nombreadd);
MimeMultipart multiParte = new MimeMultipart();
multiParte.addBodyPart(texto);
multiParte.addBodyPart(adjunto);
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(JMailxView.jtfCuenta.getText()));
String [] correos;
correos = para.split("\n");
for(int i=0;i
message.addRecipient(
Message.RecipientType.TO,
new InternetAddress(correos[i]));
message.setSubject(asunto);
message.setContent(multiParte);
Transport t = session.getTransport("smtp");
t.connect(JMailxView.jtfCuenta.getText(), JMailxView.jptClave.getText());
t.sendMessage(message, message.getAllRecipients());
JMailxView.barra_progreso.setMaximum(correos.length);
JMailxView.barra_progreso.setValue(i);
t.close();
}
JOptionPane.showMessageDialog(null, " El email ha sido enviado ");
JMailxView.barra_progreso.setVisible(false);
JMailxView.statusAnimationLabel.setVisible(false);
}
catch (Exception enc)
{
JOptionPane.showMessageDialog(null, " ERROR: No se pudo enviar el email ");
}
}
}
//
Deja tu comentario...
me baje el ejemplo pero tengo un error por favor si me puede ayudar, no reconoce esta linea
ResponderEliminarprivate com.toedter.components.JLocaleChooser jLocaleChooser1;
este es mi correo cwtoledot@yahoo.com
de antemando gracias por tu ayuda
Hola;
ResponderEliminarEste error lo que quiere decir es que te falta agregar las librerias de Java mail al proyecto que por algun error de la descarga no se bajaron o no las reconoce;
estas librerias estan dentro del proyecto que descargaste y la puedes agregar de la siguiente forma:
http://escribojava.blogspot.com/2010/07/ejemplo-de-agregar-libreria-netbeans.html
wauuu this example is great ... Thanks
ResponderEliminargrasias por el aporte y no se sime ayudarias con la recepcion de correos
ResponderEliminarhola me serviria esto para enviar una copia de seguridad a mi correo de los datos que tengo en mi aplicacion java ?
ResponderEliminarHola nicolas, si estamos hablando de una base de datos puedes ver este ejemplo de backup.
ResponderEliminar(http://escribojava.blogspot.com/2010/07/coms-control-de-mantenimientosbackup-de.html )
puedes prgramar que saque la copia de seguridad y que autromaticamente la envie por correo.
Saludos.
Hola tienes la clase jmailxview
ResponderEliminarHola Guaxy, este nombre corresponde a la clase de JFrame Principal debido que este ejemplo lo realicé en una aplicación de Escritorio, descargate el proyecto de NetBeans completo y veras como funciona.
Eliminara mi meda muchos errores y no es por libreria porque el proyecto la trajo cuando las descargue me dice que cree la clase JMailxApp, tambien el pakeqte org. o existe?? laguna idea, pero creo que fue no lo pusieron porque el programa trajo un packege vacio???
ResponderEliminarBueno lo que comentas es válido, lo que ocurre son dos problemas al parecer no esta leyendo corectamente unas clases de un componente calendario que utilicé, por otro lado no esta identificando la clase JUnit que son librerias propias de netbeans para la contrucción de las ventanas.
EliminarYa subí nuevamente el proyecto con las clases del calendario faltantes y a suvez cuando lo abras si utilizas una versión superior a la 7.0 deberas hacer click derecho sobre el proyecto y darle click en resolver problemas y si estas conectado a internet el baja la clase faltante.
Oie para abrir esa clase y abrir desde otro botton como le hago
ResponderEliminardescargate la aplicación completa y verifica como funciona, te respondo que si se puede y puedes crear
Eliminaruna nueva instancia.
clase clase_correo = new clase();
Disculpa a mi si me funciona con gmail pero yo necesito enviarlo por un cliente de Outlook mi servidor de correo esta hosteado en Outlook y me dieron el nombre del servidor este pod51011.outlook.com con el puerto 587 pero no consigo conectarme
ResponderEliminaralguien que me pueda ayudar mucho agradecere
Saludo, lo primero que debes saber es que tipo de correo es si es Exchange, PoP3, SMTP, u otro tipo de servidor y así mismo adicionar librerias especificas o si solo es necesario modificar las lineas que hacen referencia al servicio smtp que es el que utiliza gmail.
EliminarEspero que te ayude...
Esto es lo que me enviaron para la configuración por eso digo que es SMTP.
ResponderEliminarGracias por responder.
Tipo de autenticación asociado con esta sesión de Outlook Web App:
Inicio de sesión público: No
Configuración de POP externo:
Nombre del servidor: pod51011.outlook.com
Puerto: 995
Método de cifrado: SSL
Configuración de IMAP externa :
Nombre del servidor: pod51011.outlook.com
Puerto: 993
Método de cifrado: SSL
Configuración de SMTP externo:
Nombre del servidor: pod51011.outlook.com
Puerto: 587
Método de cifrado: TLS
te comento que si puedo enviar correos desde webmai.. y con la interfaz de Microsoft Outlook este último lo configure con estos parametros
ResponderEliminarhola gracias por el documento esta muy bien pero lo q pasa es q me pide una autentificacion:
ResponderEliminarcom.sun.mail.smtp.SMTPSendFailedException: 530-5.5.1 Authentication Required. Learn more at
530 5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 u33sm37797513yhn.7 - gsmtp
y vi el enlace y no me ayudo en mucho la verdad, tienes alguna idea a q se deba esto o por q se genera y cual es la posible solucion
gracais
Hola jossmy, Como primera medida trata de descargarte el programa desde el botón azul descargar y allí vas modificando, te recomiendo la versión 7,0 de NetBeans.
EliminarGracias por visitar mi blog....
Gracias por el aporte, voy a checar como funciona tu programa necesito crear una aplicación para enviar correos a varios contactos con archivos adjuntos espero que si tienes algo me puedas ayudar
ResponderEliminarGracias
HOLA SI AL CARGAR EL ARCHIVO NO LO DESEO ENVIAR POR CORREO SI NO A UNA CARPETE EN MI SERVIDOR LOCAL QUE DEBERIA HACER ???????????????? SI ALGUIEN SABE ME PODRIA AYUDAR POR FAVOR
ResponderEliminarPuedes utilizar la función Copy de java hay unas clases que ya hacen esta labor, incluso hay una entrada en este blog para eso se llama Manejo de Archivos...
Eliminaren que versión de netbeans tiene que ejecutarse este programa..porque lo intente en la que yo tengo que es 7.3.1 y no lo logre... se lo agracedería mucho si me puede ayudar. Hasta luego :)
ResponderEliminarHola, loq ue te ocurre es con la verison 7.3.1 no existe soporte para el framework con el que se crean las aplicaciones de escritorio que es swing, debe utilizar como maximo la verison 7.0 o 7.01
EliminarHola gracias por tu aporte,ya corrí tu programa y no tengo ningún error, pero podrías indicarme que debo hacer porque ya escribí mi cuenta de gmail, clave,asunto,adjunte un archivo word, escibi el mensaje y siempre me aparece el mensaje"ERRO: No se pudo enviar el email" porfavor espero tu respuesta gracias
ResponderEliminarHola Mireya, si ok entiendo el error, pero acabo de descargar la aplicación y funciona correctamente, lo que si te pido es que me suministres mas información a cerca de como estas compilando la aplicación es decir desde la version de netbeans hasta la versión del sistema operativo, agradezco me envies la información para poderte ayudar
EliminarHola! sera posible que se pueda conectar a una base de datos y de ahi tomar los destinatarios y asi enviar los correos
ResponderEliminarHola, si es posible solo debes agregar las clases de conexion a la base de datos, creas un boton que llame consulta y si quieres la cargas en el textArea para que no tengas que modificar mucho código.
EliminarEspero te ayude...
hola el programa lo ejecute en netbeans 8.0.2 pero no entiendo que funcion tiene lo que aparece en el lado izquierdo y cuando lleno los datos del lado derecho me dice error no se pudo enviar el imei
ResponderEliminarhola el programa lo ejecute en netbeans 8.0.2 pero no entiendo que funcion tiene lo que aparece en el lado izquierdo y cuando lleno los datos del lado derecho me dice error no se pudo enviar el imei
ResponderEliminarhttps://tecniciencias.com/alternativas-a-wiseplay/
ResponderEliminarLa seguridad de su correo electrónico requiere más conocimientos técnicos, pero es posible el uso de una herramienta conocida como GPG. Los usuarios de Windows pueden encontrar una descarga gratuita y las instrucciones sobre cómo configurar GPG. Los usuarios de Mac