[英]To send email via microsoft exchange Server api (java)
我想使用Java和Microsoft Exchange Server API發送電子郵件。 我遵循了文檔中的說明,但是總是遇到異常。
所有參數(用戶名,密碼,域和uri均正確)。 我已經使用Microsoft的EWS編輯器測試了此參數,並使用該編輯器建立了連接。
我的代碼是這樣的:
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 Mail {
ExchangeService service = new ExchangeService(
ExchangeVersion.Exchange2010_SP2);
ExchangeCredentials credentials = new WebCredentials("user",
"passwort", "domain");
public void sendMail() throws Exception {
service.setTraceEnabled(true);
java.net.URI uri = new java.net.URI(
"https://********/ews/exchange.asmx");
service.setCredentials(credentials);
service.setUrl(uri);
System.out.println(service.getServerInfo());
EmailMessage msg = new EmailMessage(service);
msg.setBody(MessageBody
.getMessageBodyFromText("Sent using the EWS Managed API."));
msg.getToRecipients().add("send mail to ");
msg.send();
}
public static void main(String[] args) throws Exception {
Mail mail = new Mail();
mail.sendMail();
}
例外是:
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.getResponseCode(HttpClientWebRequest.java:370)
at microsoft.exchange.webservices.data.EwsUtilities.formatHttpResponseHeaders(EwsUtilities.java:597)
at microsoft.exchange.webservices.data.ExchangeServiceBase.traceHttpResponseHeaders(ExchangeServiceBase.java:467)
at microsoft.exchange.webservices.data.ExchangeServiceBase.processHttpResponseHeaders(ExchangeServiceBase.java:1043)
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 de.ruv.SendMail.Mail.sendMail(Mail.java:40)
at de.ruv.SendMail.Mail.main(Mail.java:45)
更改
ExchangeCredentials credentials = new WebCredentials("user", "password", "domain");
至
service.Credentials = new NetworkCredential("user", "password", "domain");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.