Como enviar email?

5 respostas
F

Como enviar e-mail usando java2se 1.4 ?

Alguem tem exemplo simples ?

Obrigado.

5 Respostas

B

Você precisa usar a API do JAVAMail que pode ser encontrada em http://java.sun.com/products/javamail/index.html, e já faz parte do J2EE. Quanto ao tutorial há um aqui no GUJ na sessão de Tutoriais, só dar uma procuradinha…

Gustavo Guilherme BacK

leonardom

Exemplo básico:

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

public class Mail
{

    public static final String DEFAULT_MAIL_SERVER = "IP_DO_SERVIDOR";
    public static final String DEFAULT_FROM = "[email removido]";

   
    public boolean sendSimpleMail(String to, String subject, String mensagem)
    {
        return sendSimpleMail(DEFAULT_MAIL_SERVER, DEFAULT_FROM, to, subject, mensagem);
    }
    
    public boolean sendSimpleMail(String mailServer, String from,
                                  String to,  String subject, String mensagem)
    {
        
        boolean retorno = false;
        
        try
        {
            Properties mailProps = new Properties();

            mailProps.put("mail.smtp.host", mailServer);

            Session mailSession = Session.getDefaultInstance(mailProps, null);

            InternetAddress destinatario = new InternetAddress(to);

            InternetAddress remetente = new InternetAddress(from);

            MimeMessage message = new MimeMessage(mailSession);

            message.setFrom(remetente);
            message.setRecipient( Message.RecipientType.TO, destinatario );
            message.setSubject(subject);
            message.setSentDate(new Date());               
            message.setText(mensagem, "iso-8859-1");

            Transport.send (message);
            
            retorno = true;
        }
        catch(AddressException e)
        {
            System.out.println("Endereço de e-mail inválido.");
        }       
        catch(MessagingException e)
        {
            System.out.println("Não foi possível enviar a mensagem.");
        }       
        catch(Exception e)
        {
             System.out.println(e.getMessage());
        }
        
        return retorno;
    }
}

public class EnviarEmail
{
    Mail mail = new Mail();

    String mensagem = "Teste de email";

    mail.sendSimpleMail("[email removido]","Assunto", mensagem);
}
Frank

Existe um .jar chamado javamail.jar
Você precisa dele …

Falow.

F

Tentei utilizar o javamail, porém quando tento enviar aponta erro no mimesession que nao pode ser criado.

Pensei em enviar por socket, criando uma conexao com o smtp direto:

alguem ja fez este procedimento ?

como utilizo espera no stream ?

como recupero mensagens do input ?

package socket;

import java.io.IOException;

import java.io.PrintStream;

import java.net.Socket;

public class Application1 {

public static void main(String[] args) {
    //Declaro o socket cliente
    Socket s = null;
    //Declaro a Stream de saida de dados
    PrintStream ps = null;
    java.io.InputStream pe = null;

    try{
        //Cria o socket com o recurso desejado na porta especificada
        s = new Socket("ip do servidor",25);
        //Cria a Stream de saida de dados
        ps = new PrintStream(s.getOutputStream());
        pe = s.getInputStream();
        //Imprime uma linha para a stream de saída de dados
        ps.println("helo ");
        ps.println("MAIL FROM: [email removido]");
        ps.println("RCPT TO: [email removido]");
        ps.println("DATA mensagem de teste para envio de email");
        ps.println(".");
        ps.println("QUIT");
    //Trata possíveis exceções
    }catch(IOException e){
        System.out.println("Algum problema ocorreu ao criar ou enviar dados pelo socket.");
    }finally{
        try{
           //Encerra o socket cliente
          s.getInputStream();
          s.getOutputStream();
          s.close();

        }catch(IOException e){}

    }

}

}

Daniel_Quirino_Olive

Olhar a home nunca é demais:
http://www.guj.com.br/servlet/guj?PARSE=true&MAMUTE_ACTION=br.com.guj.action.ListTutorial&MAMUTE_TEMPLATE=ShowTutorial&LIST_TUTORIAL=single&TutorialId=21&PAGE=1

Criado 13 de outubro de 2003
Ultima resposta 15 de out. de 2003
Respostas 5
Participantes 5