java 使用Microsoft exchange ews接口发送邮件报错

lad1984 2015-08-13 09:32:06
我编写了一个简单的代码,总是报错:
java.lang.NullPointerException
at microsoft.exchange.webservices.data.Strings.<clinit>(Strings.java:223)
at microsoft.exchange.webservices.data.EwsXmlReader.internalReadElement(EwsXmlReader.java:119)
at microsoft.exchange.webservices.data.EwsXmlReader.readStartElement(EwsXmlReader.java:620)
at microsoft.exchange.webservices.data.ServiceRequestBase.readSoapHeader(ServiceRequestBase.java:565)
at microsoft.exchange.webservices.data.ServiceRequestBase.readResponse(ServiceRequestBase.java:525)
at microsoft.exchange.webservices.data.SimpleServiceRequestBase.readResponse(SimpleServiceRequestBase.java:176)
at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:49)
at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:144)
at microsoft.exchange.webservices.data.ExchangeService.internalCreateItems(ExchangeService.java:464)
at microsoft.exchange.webservices.data.ExchangeService.createItem(ExchangeService.java:535)
at microsoft.exchange.webservices.data.Item.internalCreate(Item.java:215)
at microsoft.exchange.webservices.data.EmailMessage.internalSend(EmailMessage.java:125)
at microsoft.exchange.webservices.data.EmailMessage.send(EmailMessage.java:253)
at Test.main(Test.java:23)
Exception in thread "main" microsoft.exchange.webservices.data.EWSHttpException: Connection not established
at microsoft.exchange.webservices.data.HttpClientWebRequest.throwIfConnIsNull(HttpClientWebRequest.java:394)
at microsoft.exchange.webservices.data.HttpClientWebRequest.getResponseHeaders(HttpClientWebRequest.java:280)
at microsoft.exchange.webservices.data.ExchangeServiceBase.processHttpResponseHeaders(ExchangeServiceBase.java:1045)
at microsoft.exchange.webservices.data.SimpleServiceRequestBase.internalExecute(SimpleServiceRequestBase.java:58)
at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:144)
at microsoft.exchange.webservices.data.ExchangeService.internalCreateItems(ExchangeService.java:464)
at microsoft.exchange.webservices.data.ExchangeService.createItem(ExchangeService.java:535)
at microsoft.exchange.webservices.data.Item.internalCreate(Item.java:215)
at microsoft.exchange.webservices.data.EmailMessage.internalSend(EmailMessage.java:125)
at microsoft.exchange.webservices.data.EmailMessage.send(EmailMessage.java:253)
at Test.main(Test.java:23)


下面是我的代码
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 Test {
public static void main(String[] args) throws Exception {
ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1); //新建server版本
ExchangeCredentials credentials = new WebCredentials("benli", "12345"); //自己的用户名和密码
service.setCredentials(credentials);
service.setUrl(new URI("https://192.168.20.220/EWS/Exchange.asmx")); //mail.TESTMAIL.com 改为自己的邮箱
EmailMessage msg= new EmailMessage(service);
msg.setSubject("Hello world!"); //主题
msg.setBody(MessageBody.getMessageBodyFromText("Sent using the EWS Managed API.")); //内容
msg.getToRecipients().add("ben@com"); //收件人
msg.getCcRecipients().add("victorluo@com"); //抄送人
//msg.getAttachments().addFileAttachment("D:\\Downloads\\EWSJavaAPI_1.2\\EWSJavaAPI_1.2\\Getting started with EWS Java API.RTF"); //附件
msg.send(); //发送
}
}


https://192.168.20.220/EWS/Exchange.asmx这个地址是可以访问的,需要输入账号密码,用benli 12345可以通过
...全文
428 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
java守门员 2015-09-15
  • 打赏
  • 举报
回复
楼主你解决了吗?我现在也遇到了。

50,342

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧