首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Httpclient 4.x发送邮件

如何使用Httpclient 4.x发送邮件
EN

Stack Overflow用户
提问于 2012-09-14 13:17:11
回答 2查看 849关注 0票数 1

我正在使用java HttpClient 4.x为outlook连接器创建一个库。我必须从我的应用程序中发送邮件。我可以将邮件放在草稿文件夹中。但是我怎样才能发送给接收者呢?这是我尝试过的代码。

代码语言:javascript
运行
复制
    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“

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-09-17 14:14:57

这是我问题的答案。juts使用以下命令创建一个MoveMethod(源juts、目标juts)

代码语言:javascript
运行
复制
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);
票数 0
EN

Stack Overflow用户

发布于 2012-09-14 14:00:17

您需要WebDAV支持才能执行此移动操作,即签出Jackrabbit

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12418528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档