java 使用Microsoft exchange ews接口发送邮件报错
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可以通过
相关推荐
Java通过Exchange协议发送和接收邮件
本示例着重讲解如何利用Java结合Microsoft的Exchange协议实现邮件功能,具体涉及的知识点包括JavaMail API以及微软的EWS(Exchange Web Services)Java
CentOS 6 部署 DavMail:解决 TLS 1.2 与 OpenSSL 兼容性问题
DavMail 是一种协议网关,用于将 Microsoft Exchange 的专有接口(如 OWA/EWS)转换为标准 IMAP/SMTP/CalDAV 协议,实现跨平台邮件与日历同步。其核心原理依赖 Java 安全栈(javax.net.ssl)与底层 OpenSSL 库协同完成 TLS 握手,技术价值在于‘零侵入’对接老旧企业邮箱系统。典型应用场景包括金融、政务等受限升级的 CentOS 6 环境,需突破系统级 OpenSSL 1.0.1e 不支持 TLS 1.2、yum 源失效、JDK 8u202
用EWSAPI在Java中发送Exchange邮件
在IT行业中,Exchange Web Services (EWS) API 是一种用于与Microsoft Exchange Server进行通信的编程接口,它允许开发者通过各种编程语言(如Java)
Java 程序 Exchange协议发送,收,查询邮件
EWSJavaAPI_1.2.jar是微软官方提供的Java客户端库,它使得Java开发者能够方便地利用EWS接口进行编程。
java Exchange收发邮件加附件
Java通过Exchange进行邮件收发及附件操作主要涉及的是Microsoft Exchange Web Services (EWS) API的使用,这是一种基于SOAP协议的服务,允许开发者通过编程方式与


