Enviando Email... Problemas x.x

3 respostas
L

Ola, sei que existem varios posts sobre envio de email, mas nao to conseguindo e preciso dessa classe urgente. Alguns meses atras ela funcionava, agora deu pau X.X um colega meu, frequentador do forum tambem, nao consegue me ajudar.

import javax.mail.*;   
import javax.mail.internet.*;   
import java.util.*; 

Esse eh meu codigo (a parte comentada acho q eu costumava nao usar)
public class Email3 {
	
	public static void main(String args[]){
	
	Properties prop = new Properties();
	prop.put ("mail.smtp.host", "localhost");   
	prop.put ("mail.smtp.auth", "true");  
	prop.put ("mail.smtp.host", "localhost"); 
	prop.put ("mail.smtp.auth", "true"); 
	prop.put ("mail.debug", "true"); 
	prop.put ("mail.smtp.debug", "true"); 
	prop.put ("mail.mime.charset", "ISO-8859-1"); 
	//prop.put ("mail.smtp.port", "25"); 
	//prop.put ("mail.smtp.starttls.enable", "true"); 
	//prop.put ("mail.smtp.socketFactory.port", "25"); 
	//prop.put ("mail.smtp.socketFactory.fallback", "false"); 
	//prop.put ("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); 

    Session session = Session.getInstance(prop,new Authenticator() {   
        protected PasswordAuthentication getPasswordAuthentication() {   
        return new PasswordAuthentication("emailenviando", "senha");   
        }   
    });   
    
    
    MimeMessage msg = new MimeMessage(session);   
    try {   
        msg.setFrom(new InternetAddress("emailenviando"));   
        msg.setRecipient(javax.mail.Message.RecipientType.TO,new InternetAddress("emailrecebe"));   
        msg.setSentDate(new Date());             
        msg.setSubject("fdsf");   
        msg.setText("fsdf");
        Transport.send(msg);   
        System.out.println("Email enviado");  
        
	    } catch (AddressException e) {   
	        System.out.println("Email nao enviado");   
	        e.printStackTrace();   
	    } catch (MessagingException e) {   
	        System.out.println("Email nao enviado");   
	        e.printStackTrace();   
	    }   
	}    
}

o erro....

javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25, response: 554
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1379)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:412)
at javax.mail.Service.connect(Service.java:310)
at javax.mail.Service.connect(Service.java:169)
at javax.mail.Service.connect(Service.java:118)
at javax.mail.Transport.send0(Transport.java:188)
at javax.mail.Transport.send(Transport.java:118)
at Email3.main(Email3.java:38)

Quero que o email que envie seja um GMail. Onde posso colocar o smtp do gmail? Nao sei... me deem uma luz ^^
sou totalmente caipira em java.

Muito obrigado

3 Respostas

kapa01

pela mensagem de erro o problema é porque você esta usando o gmail (que usa a porta 465 ao inves da 25), tente modificar a porta ou entao outro servidor(para testar).

K

além disso o servidor (host) tambem está errado.
voce tem um servidor de email na sua maquina local?

faça o que o kapa sugeriu: teste utilizando um servidor de email onde voce tenha todos os dados para conexao/envio. :smiley:

L

mudei a porta e trokei o local host pelo smtp do gmail (q burro eu so) e funciono! brigadao gent!

Criado 11 de maio de 2009
Ultima resposta 12 de mai. de 2009
Respostas 3
Participantes 3