1

次のように、EWSを使用してExchange2010で電子メールを送信しています。

ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials(email, password);
service.setCredentials(credentials);
service.setUrl(new java.net.URI("https://" + host
    + "/EWS/Exchange.asmx"));
service.setTraceEnabled(true);

EmailMessage msg = new EmailMessage(service);
msg.setSubject("Hello world!");
msg.setBody(MessageBody.getMessageBodyFromText("Sent using the EWS Managed API."));
msg.getToRecipients().add("email");
msg.send();

メッセージは受信トレイに配信されず、何が問題なのかわかりません。トレースを有効にすると、次のようになります。

<Trace Tag="EwsRequestHttpHeaders" Tid="1" Time="2012-10-14 11:13:46Z">
    POST /EWS/Exchange.asmx HTTP/1.1
    Content-type : text/xml; charset=utf-8
    Accept-Encoding : gzip,deflate
    Keep-Alive : 300
    User-Agent : ExchangeServicesClient/0.0.0.0
    Connection : Keep-Alive
    Accept : text/xml
</Trace>

<Trace Tag="EwsRequest" Tid="1" Time="2012-10-14 11:13:47Z">
    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
    <soap:Header><t:RequestServerVersion Version="Exchange2010_SP1"></t:RequestServerVersion></soap:Header>
    <soap:Body><m:CreateItem MessageDisposition="SendOnly"><m:Items><t:Message><t:Subject>Hello world!</t:Subject><t:Body BodyType="HTML">Sent using the EWS Managed API.</t:Body><t:ToRecipients><t:Mailbox><t:EmailAddress>adamb@fabrikam.com</t:EmailAddress></t:Mailbox></t:ToRecipients></t:Message></m:Items></m:CreateItem></soap:Body>
    </soap:Envelope>
</Trace>

14/10/2012 01:13:48 م org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme
    INFO: NTLM authentication scheme selected
    <Trace Tag="EwsResponseHttpHeaders" Tid="1" Time="2012-10-14 11:13:48Z">
    200 text/xml; charset=utf-8
    X-AspNet-Version : 2.0.50727
    X-EwsPerformanceData : RpcC=3;RpcL=15;LdapC=0;LdapL=0;
    Persistent-Auth : true
    Date : Sun, 14 Oct 2012 11:13:48 GMT
    Vary : Accept-Encoding
    Transfer-Encoding : chunked
    Content-Encoding : gzip
    Content-Type : text/xml; charset=utf-8
    X-Powered-By : ASP.NET
    Server : Microsoft-IIS/7.5
    Cache-Control : private
</Trace>

<Trace Tag="EwsResponse" Tid="1" Time="2012-10-14 11:13:48Z">
    <?xml version="1.0" encoding="utf-8"?>
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
    <s:Header><h:ServerVersionInfo MajorVersion="14" MinorVersion="1" MajorBuildNumber="218" MinorBuildNumber="14" Version="Exchange2010_SP1" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/></s:Header>
    <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><m:CreateItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types"><m:ResponseMessages><m:CreateItemResponseMessage ResponseClass="Success"><m:ResponseCode>NoError</m:ResponseCode><m:Items/></m:CreateItemResponseMessage></m:ResponseMessages></m:CreateItemResponse></s:Body>
    </s:Envelope>
</Trace>

この問題を解決する方法を教えてください。

4

2 に答える 2

0

Exchangeサーバーは、すべて問題がないことを応答しています。

<?xml version="1.0" encoding="utf-8"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Header>
    <h:ServerVersionInfo MajorVersion="14" MinorVersion="1" MajorBuildNumber="218" MinorBuildNumber="14" Version="Exchange2010_SP1" xmlns:h="http://schemas.microsoft.com/exchange/services/2006/types" xmlns="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"/>
  </s:Header>
  <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <m:CreateItemResponse xmlns:m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
      <m:ResponseMessages>
        <m:CreateItemResponseMessage ResponseClass="Success">
          <m:ResponseCode>NoError</m:ResponseCode>
          <m:Items/>
        </m:CreateItemResponseMessage>
      </m:ResponseMessages>
    </m:CreateItemResponse>
  </s:Body>
</s:Envelope>

コードの観点とSOAPの要求/応答の観点からは何も問題がないため、Exchange側で確認するか、Exchangeサーバーの管理者に何が起こっているか(たとえば、スパムフィルタリングなど)を尋ねる必要があります。

于 2012-10-17T17:20:15.193 に答える
0
          <t:Message>
            <t:Subject>Hello world!</t:Subject>
            <t:Body BodyType="HTML">Sent using the EWS Managed API.</t:Body>
            <t:ToRecipients>
              <t:Mailbox>
                <t:EmailAddress>adamb@fabrikam.com</t:EmailAddress>
              </t:Mailbox>
            </t:ToRecipients>
          </t:Message>

adamb@fabrikam.com の受信トレイを確認するか、Exchange 管理者に相談して、メール キュー、フィルター、その他の多くのことなど、電子メールの受信を停止している可能性があることを確認してください。投稿されたコードに問題はありません。

于 2012-10-23T10:09:09.703 に答える