JavaMail ajuda

4 respostas
vinicius_roc

Olah a todos.

Estou com um problema no JavaMail que não sei identifica-lo, ele faz tudo certo e não da nenhuma execessão, porem não recebo o e-mail. Alguem tem ideia pq? Segue a classe p enviar email.

Properties props = new Properties();
		   props.put("mail.transport.protocol", "smtp");
		   props.put("mail.host", "smtp.mail.yahoo.com.br");  
		   props.put("mail.smtp.auth", "true"); 
		   
		   Authenticator authenticator = new SMTPAuthenticator();

		   Session session = Session.getInstance(props, authenticator);  
		   try {
			   
			   Transport transport = session.getTransport();
			
			   MimeMessage msg = new MimeMessage(session); 
		   
				// "de" e "para"!!
				msg.setFrom(new InternetAddress("[email removido]"));
				msg.addRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));

				msg.setSentDate(Calendar.getInstance().getTime());
				msg.setSubject("ACOL - Ativação");
				msg.setContent("Seu cadastro no Contas On-line foi efetuado com sucesso. Para utilizar o sistema basta clicar no link abaixo para ativar sua conta.", "text/plain");

			        transport.connect();
		        transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
		        transport.close();

			} catch (AddressException e) {
				// nunca deixe catches vazios!
			} catch (MessagingException e) {
				// nunca deixe catches vazios!
			}
	}
	
	private class SMTPAuthenticator extends Authenticator {
        public PasswordAuthentication getPasswordAuthentication() {
           String username = "[email removido]";
           String password = "minhasenha";
           return new PasswordAuthentication(username, password);
        }
    }

Muito Obrigado

4 Respostas

wbdsjunior
vinicius_roc:
Olah a todos.

Estou com um problema no JavaMail que não sei identifica-lo, ele faz tudo certo e não da nenhuma execessão, porem não recebo o e-mail. Alguem tem ideia pq? Segue a classe p enviar email.

Properties props = new Properties();
		   props.put("mail.transport.protocol", "smtp");
		   props.put("mail.host", "smtp.mail.yahoo.com.br");  
		   props.put("mail.smtp.auth", "true"); 
		   
		   Authenticator authenticator = new SMTPAuthenticator();

		   Session session = Session.getInstance(props, authenticator);  
		   try {
			   
			   Transport transport = session.getTransport();
			
			   MimeMessage msg = new MimeMessage(session); 
		   
				// "de" e "para"!!
				msg.setFrom(new InternetAddress("[email removido]"));
				msg.addRecipient(Message.RecipientType.TO, new InternetAddress("[email removido]"));

				msg.setSentDate(Calendar.getInstance().getTime());
				msg.setSubject("ACOL - Ativação");
				msg.setContent("Seu cadastro no Contas On-line foi efetuado com sucesso. Para utilizar o sistema basta clicar no link abaixo para ativar sua conta.", "text/plain");

			        transport.connect();
		        transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
		        transport.close();

			} catch (AddressException e) {
				// nunca deixe catches vazios!
			} catch (MessagingException e) {
				// nunca deixe catches vazios!
			}
	}
	
	private class SMTPAuthenticator extends Authenticator {
        public PasswordAuthentication getPasswordAuthentication() {
           String username = "[email removido]";
           String password = "minhasenha";
           return new PasswordAuthentication(username, password);
        }
    }

Muito Obrigado


em vez de...

Transport transport = session.getTransport();
MimeMessage msg = new MimeMessage(session);
// ...
transport.connect();
transport.sendMessage(msg, msg.getRecipients(Message.RecipientType.TO));
transport.close();
tente fazer apenas..
MimeMessage msg = new MimeMessage(session);
// ...
Transport.send(msg);
zorba

vc poderia usar o spring para automatizar isso
http://static.springsource.org/spring/docs/2.0.x/reference/mail.html

qualquer duvida, me pergunte, eu colo meu código aqui

romarcio

Acredito que precise também adicinar a porta smtp do yahoo nas propriedades:

props.setProperty("mail.smtp.port", "587");
props.setProperty("mail.smtp.starttls.enable", "true");
vinicius_roc

Valew pela ajuda pessoal! A dica do wbdsjunior foi o suficiente. Agora esse do Spring vou dar uma estudada e ver se vira. Valew!

Criado 23 de agosto de 2010
Ultima resposta 23 de ago. de 2010
Respostas 4
Participantes 4