Error al intentar enviar un mail

hola a todos, tengo una pequeña clase que intenta enviar un mail a traves de internet, pero no puedo aqui esta el codigo y enseguida el error que me devuelve

package mmp.usa.ejb;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;

import java.util.ArrayList;
import java.util.List;
import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;

import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;

public class Mail {
public Mail() {
}

public static void sendMail(String mailServer, String from, String to,
String subject, String messageBody,
String[] attachments) throws
MessagingException, AddressException
{
// Setup mail server
Properties props = System.getProperties();
props.put("mail.smtp.host", mailServer);

// Get a mail session
Session session = Session.getDefaultInstance(props, null);

// Define a new mail message
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);

// Create a message part to represent the body text
BodyPart messageBodyPart = new MimeBodyPart();
messageBodyPart.setText(messageBody);

//use a MimeMultipart as we need to handle the file attachments
Multipart multipart = new MimeMultipart();

//add the message body to the mime message
multipart.addBodyPart(messageBodyPart);

// add any file attachments to the message
addAtachments(attachments, multipart);

// Put all message parts in the message
message.setContent(multipart);

// Send the message
Transport.send(message);

}

protected static void addAtachments(String[] attachments, Multipart multipart)
throws MessagingException, AddressException
{
for(int i = 0; i<= attachments.length -1; i++)
{
String filename = attachments[i];
MimeBodyPart attachmentBodyPart = new MimeBodyPart();

//use a JAF FileDataSource as it does MIME type detection
DataSource source = new FileDataSource(filename);
attachmentBodyPart.setDataHandler(new DataHandler(source));

//assume that the filename you want to send is the same as the
//actual file name - could alter this to remove the file path
attachmentBodyPart.setFileName(filename);

//add the attachment
multipart.addBodyPart(attachmentBodyPart);
}
}

public static void main(String args[]){
try
{
//MailClient client = new MailClient();
String server="smtp.gmail.com";
String from="tavopa7@gmail.com";
String to = "tavopa7@gmail.com";
String subject="Test";
String message="Testing";
String[] filenames =
{"C:/YServer.txt"};

sendMail(server,from,to,subject,message,filenames);
}
catch(Exception e)
{
e.printStackTrace(System.out);
}
System.out.println("Se acabo");

}

}

y este es el error

javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 25, response: -1
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at mmp.usa.ejb.Mail.sendMail(Mail.java:67)
at mmp.usa.ejb.Mail.main(Mail.java:108)

si alguien me puede ayudar seria magnífico, gracias a todos....

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 Gustavo

Problema resuelto....

solo tube que poner la siguiente linea de codigo

props.put("mail.smtp.port","587");

que es la configuracion del puerto

ahora el problema es este

nested exception is:
class javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. 18sm604850agb.10

at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at mmp.usa.ejb.Mail.sendMail(Mail.java:69)
at mmp.usa.ejb.Mail.main(Mail.java:110)

Si lo resuelvo lo paso, de todos modos espero ayuda

Imagen de ezamudio

TLS

El puerto 587 normalmente indica que se va a usar TLS o SSL. En las propiedades del mail debes poner   como  . Aqui hay una lista de las propiedades para javamail.

problemas javamail

hola

tengo un problema haciendo un aplicacion con mail, mi problema es el siguiente necesito enviar un correo electronico con un archivo PDF adjunto, lo raro es que en mi maquina esto funciona sin problemas, pero al ponerlo en el servidor de produccion me manda el siguente problema

javax.mail.MessagingException: IOException while sending message;
nested exception is:
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed;
boundary="----=_Part_0_23706350.1269908134280"
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)

alguien sabra cual sera el problema, usamos tomcat la misma version y de igual manera la jdk

ojala me puedan ayudar salu2

Imagen de ezamudio

Versiones

Revisa las versiones de activation.jar y mail.jar

Re: problemas javamail

las versiones no creo que sea el problema por que si no no jalaria en ninguno de los 2, lo unico que veo diferente es S.O. mi maquina es win 7 y el servidor de produccion es debian tendra algo que ver??

javax.mail.MessagingException: IOException while sending message;
nested exception is:
javax.activation.UnsupportedDataTypeException: no object DCH for MIME type multipart/mixed; boundary="----=_Part_0_503405.1270044939425"
at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:676)

Imagen de EderM2

Re: Versiones

¡Hola! Tengo el mismo problema que wakonet, sólo quisiera que me ayudaran a explicarme qué se tiene que hacer con activation.jar porque realmente es algo confuso.

De antemano gracias.

Imagen de ezamudio

Nada

Si usas Java 6 ya no necesitas activation.jar. Si usas Java 5 o inferior, necesitas poner activation.jar en tu classpath para poder usar javax.mail.

Imagen de apolonioluis

host dedicado al envió de emails

estoy teniendo problemas en mi servidor web debido a los múltiples emails que se envían por la famosa factura electrónica.

para comenzar los correos no los reciben los proveedores si el remitente no esta en los contactos del destinatario.

por eso estoy pensando en algún servicios dedicado al envió de emails obviamente que tenga algún wrapper para java.

SPF & DKIM

 

Esto es más un problema de infraestructura que de Java. Échale un vistazo a Evita que tus correos sean marcados como spam usando registros PTR, SPF y DKIM. También puedes revisar la sección de Seguridad en Correo electrónico - Ayuda de Administrador de Google Apps

~~~

Imagen de arterzatij

Si el envió es masivo puedes

Si el envió es masivo puedes usar

Agradecimiento

Hermano! Muchas gracias por la aportación, me di cuenta de mi error y agradezco que hayas compartido información que es de utilidad.