Muito obrigado Arthur, o código aparentemente funcionou, só deu problema para conectar com o smtp da google por causa das regras do firewall.
Não tem uma forma de enviar e-mail sem autenticação? se eu fizer dessa forma, vou receber um e-mail de "eu" para "mim".
Abçs.
Bruno Rodrigues
--- Em qui, 3/12/09, Arthur José Eloy Pozo Colado <arthureloy@yahoo.
De: Arthur José Eloy Pozo Colado <arthureloy@yahoo.
Assunto: Re: [java-br] Formulário de contato em Java.
Para: java-br@yahoogrupos
Data: Quinta-feira, 3 de Dezembro de 2009, 15:49
Caro amigo Bruno,
Já testei esse código abaixo faz um tempo, mais depois dá o retorno se realmente deu certo, ai vai:
<%@ page import = "java.util.Properti es, javax.mail.* , javax.mail.internet .*, javax.activation. *, java.io.*, javax.servlet. *, javax.servlet. http.*" %>
<%
try {
String to = request.getParamete r("para") ;
String from = request.getParamete r("de");
Properties props = new Properties() ;
props.put("mail. smtp.host" , "smtp.gmail. com");
props.put("mail. smtp.auth" , "true");
props.put("mail. debug", "true");
props.put("mail. smtp.port" , "465");
props.put("mail. smtp.socketFacto ry.port", "465");
props.put("mail. smtp.socketFacto ry.class" , "javax.net.ssl. SSLSocketFactory ");
props.put("mail. smtp.socketFacto ry.fallback" , "false");
Session sessao = Session.getDefaultI nstance(props, new javax.mail.Authenti cator(){
protected PasswordAuthenticat ion getPasswordAuthenti cation(){
return new PasswordAuthenticat ion("seu usuario email", "sua senha");
}
});
sessao.setDebug( true);
MimeMessage message = new MimeMessage( sessao);
message.setFrom( new InternetAddress( from));
Address toAddress = new InternetAddress( to);
message.addRecipien t(Message. RecipientType. TO, toAddress);
message.setSubject( request.getParam eter("assunto" ));
BodyPart corpoPartes = new MimeBodyPart( );
corpoPartes. setText(request. getParameter( "comenta" ));
BodyPart parteArquivo = new MimeBodyPart( );
FileDataSource source = new FileDataSource( "/home/suportese guranca/www/ text.txt" );
parteArquivo. setDataHandler( new DataHandler( source));
parteArquivo. setFileName( "teste.txt" );
Multipart variasPartes = new MimeMultipart( );
variasPartes. addBodyPart( corpoPartes) ;
variasPartes. addBodyPart( parteArquivo) ;
message.setContent( variasPartes) ;
Transport.send( message);
out.println( "E-mail enviado com sucesso!");
}
catch (MessagingException e) {
out.println( "Email nao pode ser enviado! " + e.getMessage( ));
}
%>
--- Em qui, 3/12/09, Bruno Rodrigues <brunorodrigues197@ yahoo.com. br> escreveu:
De: Bruno Rodrigues <brunorodrigues197@ yahoo.com. br>
Assunto: [java-br] Formulário de contato em Java.
Para: "Java Br" <java-br@yahoogrupo
Data: Quinta-feira, 3 de Dezembro de 2009, 11:58
Olá grupo,
Alguém teria algum exemplo de como eu faço para pegar um formulário da web e enviar via java para o meu e-mail. Tentei de várias formas usando o JavaMail, mas estou com problema para conectar no exchange.
Eu queria fazer algo igual do php, ex:
mail("meuemail@ provedor. com.br", $assunto, $mensagem);
Mas em Java está um pouco mais complicado.. . rs
Properties properties = new Properties() ;
properties.put( "mail.transport. protocol" , "smtp");
properties.put( "mail.smtp. host", "smtp.nome.com. br");
properties.put( "mail.smtp. auth", "true");
properties.put( "mail.smtp. user", "login");
properties.put( "mail.smtp. port", "25");
properties.put( "mail.smtp. socketFactory. port", "25");
properties.put( "mail.smtp. socketFactory. class", "javax.net.ssl. SSLSocketFactory ");
Authenticator auth = new Authenticator( ) {
public String username = "login";
public String password = "senha";};
Session session = Session.getDefaultI nstance(properti es, auth);
Message msg = new MimeMessage( session);
try {
msg.setRecipient( Message.Recipien tType.TO, new InternetAddress( "meu@email.com. br"));
msg.setSubject( "Assunto" );
msg.setContent( "Texto com o conteudo", "text/plain" );
} catch (AddressException ex) {
Logger.getLogger( ExchangeMail. class.getName( )).log(Level. SEVERE, null, ex);
}
Transport transport;
transport = session.getTranspor t("smtp") ;
transport.connect( "smtp.nome. com.br",25, "login", "senha");
msg.saveChanges( );
transport.send( msg);
transport.close( );
____________ _________ _________ _________ _________ _________ _
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com
[As partes desta mensagem que não continham texto foram removidas]
____________ _________ _________ _________ _________ _________ _
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca dos.yahoo. com
[As partes desta mensagem que não continham texto foram removidas]
____________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbusca
[As partes desta mensagem que não continham texto foram removidas]
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br







0 comentários:
Postar um comentário