Java - envio correo con java mail

 
Vista:

envio correo con java mail

Publicado por xavier (1 intervención) el 08/10/2010 23:43:11
Saludos

Alguien me podria ayudar trato de enviar un correo con la libreria java mail pero resulta que me sale el sgte error

javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465;
nested exception is:
java.net.ConnectException: Connection timed out: connect
envia clase mail16
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at prueba.SendMail.send(SendMail.java:81)
at prueba.SendMailTest.main(SendMailTest.java:15)

no se a que se debe esto

la clase es la sgte
public class SendMail
{
private String from;
private String to;
private String subject;
private String text;

public SendMail(String from, String to, String subject, String text){
this.from = from;
this.to = to;
this.subject = subject;
this.text = text;
}


public void send(){

Properties props = System.getProperties();
////new Properties();

System.out.println("envia clase mail");
props.put("mail.smtp.host", "smtp.gmail.com");
System.out.println("envia clase mail1 ");
props.put("mail.smtp.port", "465");
System.out.println("envia clase mail2 ");
/// props.put("mail.smtp.auth","true");
Session mailSession = Session.getDefaultInstance(props);
System.out.println("envia clase mail3 ");





//// mailSession = Session.getDefaultInstance(props, new miAutenticador(user,pass));

Message simpleMessage = new MimeMessage(mailSession);
System.out.println("envia clase mail4 ");
InternetAddress fromAddress = null;
InternetAddress toAddress = null;
System.out.println("envia clase mail5 ");
try {
System.out.println("envia clase mail6 ");
fromAddress = new InternetAddress(from);
System.out.println("envia clase mail7 ");
toAddress = new InternetAddress(to);
System.out.println("envia clase mail8 ");

} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("envia clase mail9 ");
}

try {
System.out.println("envia clase mail10 ");
simpleMessage.setFrom(fromAddress);

System.out.println("envia clase mail11 ");
simpleMessage.setRecipient(RecipientType.TO, toAddress);
System.out.println("envia clase mail12 ");
simpleMessage.setSubject(subject);
System.out.println("envia clase mail13 ");
simpleMessage.setText(text);
System.out.println("envia clase mail14 ");
Transport.send(simpleMessage);






System.out.println("envia clase mail15 ");
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("envia clase mail16 ");
}
}

al ejecutar esta linea se cae Transport.send(simpleMessage);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:envio correo con java mail

Publicado por mayrita (163 intervenciones) el 09/10/2010 00:35:22
http://javafacil.netii.net/internet.php#mails
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:envio correo con java mail

Publicado por xavier (4 intervenciones) el 10/10/2010 21:00:15
gracias pero sigo teniendo problema resulta que ahora me sale unknown SMTP host: [email protected] es como si no reconociere el hot smtp y no se porque la cuenta en gmail existe
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:envio correo con java mail

Publicado por xavier (4 intervenciones) el 11/10/2010 01:29:48
Ya solucione el problema.

Resulta que necesitaba autentificacion para gmail y despues me dio un error que decia que necesitaba iniciar tls o algo asi pero eso era porque tenia una libreria de j2ee solo se la quite y se soluciono y ahora me envia correos ahora si adelante con mi proyecto,tantas horas de investigacion y leyendo foros y gracias a un foro y uno de los foreros q tenia el mismo problema presento la solucion de quitarle el j2ee del claspath y agregar el smtps.jar pero a mi solo basto con sacar del class path el j2ee
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:envio correo con java mail

Publicado por Milagros (1 intervención) el 03/11/2015 17:48:14
Hola estoy usando la libreria JavaMail pero al momento de iniciar sesión es donde mi aplicación se detiene, mi codigo es el siguiente

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
try
{
 
 
	Properties props = new Properties();
	props.put("mail.smtp.host", "smtp.gmail.com");
	props.setProperty("mail.smtp.starttls.enable", "true");
	props.setProperty("mail.smtp.port", "587");
	props.setProperty("mail.smtp.user", "xxx@gmail.com");
	props.setProperty("mail.smtp.auth", "true");
 
	Session session = Session.getDefaultInstance(props,null);
	session.setDebug(true);
 
	BodyPart texto = new MimeBodyPart();
	texto.setText("xx.txt"); // Texto del mensaje
 
 
	BodyPart adjunto = new MimeBodyPart();
	adjunto.setDataHandler(
			new DataHandler(new FileDataSource("LA Ruta del archivo");
 
 
	MimeMultipart multiParte = new MimeMultipart();
	multiParte.addBodyPart(texto);
	multiParte.addBodyPart(adjunto);
 
 
	MimeMessage message = new MimeMessage(session);
	message.setFrom(new InternetAddress("xxxx@gmail.com"));
	message.addRecipient(
			Message.RecipientType.TO,
			new InternetAddress("destinatario@gmail.com")); // el destinatario
	message.setSubject("Hola");
	message.setContent(multiParte);
 
	// Se envia el correo.
	Transport t = session.getTransport("smtp");
	t.connect("xxx@gmail.com", "pass");
	t.sendMessage(message, message.getAllRecipients());
	t.close();
}
catch (Exception e)
{
	e.printStackTrace();
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

solucion al problema

Publicado por xavier (4 intervenciones) el 11/10/2010 01:39:49
package cisc.email;
import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Authenticator;
import javax.mail.Store;
import javax.mail.Folder;

import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class SendMail1
{
private String from;
private String to;
private String subject;
private String text;

public SendMail1(String from, String to, String subject, String text){
this.from = from;
this.to = to;
this.subject = subject;
this.text = text;
}

public void send(){
System.out.println("envia mail");
Properties props = new Properties();
///Authenticator aut=new MyAuthenticator();
props.put("mail.smtp.host", "smtp.gmail.com");
props.setProperty("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.port", "587");
props.setProperty("mail.smtp.user", "[email protected]");
props.setProperty("mail.smtp.auth", "true");


Session mailSession = Session.getDefaultInstance(props,null);
Message simpleMessage = new MimeMessage(mailSession);

InternetAddress fromAddress = null;
InternetAddress toAddress = null;
///Address toAddress = null;
//Address fromAddress = null;
try {
fromAddress = new InternetAddress(from);
toAddress = new InternetAddress(to);
} catch (AddressException e) {

e.printStackTrace();
}
///mailSession.setDebug(true);
try {
simpleMessage.setFrom(fromAddress);
simpleMessage.setRecipient(RecipientType.TO,toAddress);
simpleMessage.setSubject(subject);
simpleMessage.setText(text);
System.out.println("......");
///Transport.send(simpleMessage);
Transport t = mailSession.getTransport("smtp");
t.connect("smtp.gmail.com","[email protected]","clave");

t.sendMessage(simpleMessage,simpleMessage.getAllRecipients());
t.close();
mailSession.setDebug(true);

} catch (MessagingException e) {
System.out.println("error");
e.printStackTrace();
System.out.println("e "+e.toString());
}
}

}


la otra clase
package cisc.email;

public class SendMailTest {
public static void main(String[] args) {

String from = "[email protected]";
String to = "[email protected]";
String subject = "Test";
String message = "A test message ";

SendMail1 sendMail = new SendMail1(from, to, subject, message);
sendMail.send();

}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar