我正在使用java HttpClient 4.x为outlook连接器创建一个库。我必须从我的应用程序中发送邮件。我可以将邮件放在草稿文件夹中。但是我怎样才能发送给接收者呢?这是我尝试过的代码。
String strTempURI = "https://" + serverName + "/exchange/" + Username
+ "/drafts/" +strSubject + "eml";
String strSubURI = "https://" + serverName + "/exchange/" + Username
+ "/##DavMailSubmissionURI##/";
URI uri=new URI(strTempURI);
HttpPut put = new HttpPut(uri);
ByteArrayEntity entity = new ByteArrayEntity(byteout1);
DefaultHttpClient client =new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST,
AuthScope.ANY_PORT,AuthScope.ANY_REALM, AuthPolicy.BASIC),
new UsernamePasswordCredentials(Username, password));
client.setCredentialsProvider(credsProvider);
put.setHeader("Content-Type", "message/rfc822");
put.setEntity(entity);
localContext.setAttribute(ClientContext.CREDS_PROVIDER, credsProvider);
HttpResponse response=client.execute(put,localContext);
HttpEntity resEntity = response.getEntity();
String result = EntityUtils.toString(resEntity);Byteout1包含邮件内容。在client.execute()之后,我想将内容移动到"strSubURI“
发布于 2012-09-17 14:14:57
这是我问题的答案。juts使用以下命令创建一个MoveMethod(源juts、目标juts)
String strTempURI = "https://" + serverName + "/exchange/" + Username
+ "/drafts/" +strSubject + "eml";
String strSubURI = "https://" + serverName + "/exchange/" + Username
+ "/##DavMailSubmissionURI##/";
URI uri=new URI(strTempURI);
HttpPut put = new HttpPut(uri);
ByteArrayEntity entity = new ByteArrayEntity(byteout1);
DefaultHttpClient client =new DefaultHttpClient();
HttpContext localContext = new BasicHttpContext();
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(new AuthScope(AuthScope.ANY_HOST,
AuthScope.ANY_PORT,AuthScope.ANY_REALM, AuthPolicy.BASIC),
new UsernamePasswordCredentials(Username, password));
client.setCredentialsProvider(credsProvider);
put.setHeader("Content-Type", "message/rfc822");
put.setEntity(entity);
localContext.setAttribute(ClientContext.CREDS_PROVIDER, credsProvider);
HttpResponse response=client.execute(put,localContext);
HttpEntity resEntity = response.getEntity();
String result = EntityUtils.toString(resEntity);
MoveMethod move = new MoveMethod(uri.toString(), strSubURI);
move.setHeader("Destination", strSubURI);
HttpResponse status = client.execute(move);发布于 2012-09-14 14:00:17
您需要WebDAV支持才能执行此移动操作,即签出Jackrabbit
https://stackoverflow.com/questions/12418528
复制相似问题