JAVA: Enviando e-mail usando exchange 2010

Precisei fazer um POC no trabalho onde o Java interagia com uma caixa de e-mail no Exchange.

A ideia era verificar as interações dos clientes com a empresa, porem o servidor mudou de versão e o POC parou de funcionar, por sorte encontrei na internet uma implementação do Exchange em java que funcionou muito bem.

Fonte:
http://archive.msdn.microsoft.com/ewsjavaapi
“Resource Page Description
Java implementation of the Exchange Web Services (EWS) API. This API gives developers programmatic access to Exchange Server 2007 SP1 and above.”

LIBS Utilizadas

EWSJavaAPI_1.2.jar
jcifs-1.3.17.jar
commons-logging-1.0.4.jar
commons-httpclient-3.1.jar
commons-codec-1.2.jar

Código de envio

import java.net.URI;

import microsoft.exchange.webservices.data.EmailMessage;
import microsoft.exchange.webservices.data.ExchangeCredentials;
import microsoft.exchange.webservices.data.ExchangeService;
import microsoft.exchange.webservices.data.ExchangeVersion;
import microsoft.exchange.webservices.data.MessageBody;
import microsoft.exchange.webservices.data.WebCredentials;

public class TestClass {

	public static void main(String[] args) {
		TestClass obj = new TestClass();
		obj.testMethod();
	}

	public void testMethod() {
	         //Classe para criar um email para teste
		EmailMessage msg;

		//Carrega de acordo com a versao do seu exchange
		ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
		
		//Usuario e senha
		ExchangeCredentials credentials = new WebCredentials("usuario", "senha");
		service.setCredentials(credentials);

		try {
			// Endereco do site de seu exchange server
			// Atencao: necessario que seja o link EWS, onde pede login e senha
			// quando coloca no browser
			service.setUrl(new URI("https://webaccess.empresa.com.br/EWS/exchange.asmx"));
			// Enviando o email
			msg = new EmailMessage(service);
			// Colocando titulo
			msg.setSubject("hello world");
			// Colocando Corpo
			msg.setBody(MessageBody.getMessageBodyFromText("Sent using the EWS API"));
			// Adicionando emails destino
			msg.getToRecipients().add("teste@email.com.br");
			// Enviar anexo, colocar o caminho do arquivo
			msg.getAttachments().addFileAttachment("C:\\Temp\\teste.txt");
			// Enviando
			msg.send();
		} catch (Exception e) {
			e.printStackTrace();
		}	
       }
}

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Blue Captcha Image
Atualizar

*

Facebook

Get the Facebook Likebox Slider Pro for WordPress
WordPress SEO fine-tune by Meta SEO Pack from Poradnik Webmastera