Pessoal, bom dia!
Preciso fazer uma aplicação para envio de e-mails, o cliente quer que seja utilizado o Outlook… Fiz uma aplicação dessas na faculdade utilizando o código abaixo…
private void criarEmailDeCotacaoAction() {
String tipo = cbOrdemTipoEmail.getSelectedItem().toString();
String sPara = (tfOrdemFornecedores.getText());
String sAssunto = ("Pedido de "+tipo+" nº "+tfOrdemId.getText()+" - USJT");
String sMensagem = ("Numero do Pedido: "+tfOrdemId.getText()+
"%0D%0AMaterial Pedido: "+tfOrdemMaterial.getText()+
"%0D%0AQuantidade Necessaria: "+tfOrdemQuantidade.getText()+
"%0D%0AComentarios Pertinentes: "+tfOrdemComentarios.getText()+
"%0D%0A%0D%0A%0D%0AAguardo Retorno,%0D%0AObrigado!!!");
try{
Runtime.getRuntime().exec ( "rundll32 url.dll,FileProtocolHandler " + "mailto:"+sPara
+"?subject="+sAssunto+"&body="+sMensagem);
}catch( Exception er){
JOptionPane.showMessageDialog(null, "Erro ao gerar email");
er.printStackTrace();
}
}
Mas como dessa vez tenho que colocar anexos estou tendo dificuldades, fiz um código mas ele só funciona no Outlook 2003 e como a empresa tem varias versões do Office não posso e não quero prender a aplicação.
Alguém pode me dar uma ajuda de como devo fazer isso…
Obrigado a todos…
Pessoal, bom dia!
Eu consegui resolver o meu problema utilizando o JACOB, deixarei o código para consulta de outros usuários:
ActiveXComponent axcOutlook = new ActiveXComponent("Outlook.Application");
Dispatch criacaoEmail =
Dispatch.invoke(axcOutlook.getObject(), "CreateItem", Dispatch.Get,
new Object[] { "0" }, new int[0]).toDispatch();
String destinatario = "dpostatni@gmail.com";
String assunto = "Teste Jacob";
String corpoMensagem = "Teste JACOB com anexo";
Object anexo1 = new Object();
Object anexo2 = new Object();
anexo1 = "C:/Teste1.txt";
anexo2 = "C:/Teste2.txt";
Dispatch.put(criacaoEmail, "To", destinatario);
Dispatch.put(criacaoEmail, "Subject", assunto);
Dispatch.put(criacaoEmail, "Body", corpoMensagem);
Dispatch.put(criacaoEmail, "ReadReceiptRequested", "false");
Dispatch attachs = Dispatch.get(criacaoEmail, "Attachments").toDispatch();
Dispatch.call(attachs, "Add", anexo1);
Dispatch.call(attachs, "Add", anexo2);
Dispatch.call(criacaoEmail, "Display");
Ela faz tudo certinho, abre a nova mensagem do Outlook, preenche os campos, coloca os anexos…
Danillo_Moreno…
Gostei do tópico, Quero uma ajuda…
Como posso ler os e-mails do Outlook e deixar ele como lido no outlook?!
Obrigado
[quote=MeninodaVila]Danillo_Moreno…
Gostei do tópico, Quero uma ajuda…
Como posso ler os e-mails do Outlook e deixar ele como lido no outlook?!
Obrigado[/quote]
Cara, vou ser sincero com vc…
Não tenho a menor ideia…
Não mexi mais com isso e pelo que eu me lembro o Jacob não faz isso…
Acho que só o google pra te responder essa… http://www.moyosoft.com/joc/?gclid=COGZy8SO3qYCFUHr7Qod5Qzg0A
Att,
Danillo