2014-09-30 151 views
1

我正在使用EWS閱讀郵箱「[email protected]」並提供服務帳戶憑證以登錄到Exchange中。該服務帳戶有權讀取[email protected],甚至可以從中發送郵件。但是當我嘗試使用下面的代碼來發送郵件:從郵箱發送郵件不會保存在已發送郵件中

private static void sendMailviaEWS(String to, String from, String subject, 
     String body, List<String> attname, ExchangeService service) { 

    try 
    { 

     EmailMessage replymessage = new EmailMessage(service); 
     replymessage.setSender(new EmailAddress(from)); 

     EmailAddress fromEmailAddress = new EmailAddress(from); 
     replymessage.setFrom(fromEmailAddress); 
     replymessage.getToRecipients().add(to); 
     //replymessage.setInReplyTo(recipients); 
     replymessage.setSubject(subject); 
     replymessage.setBody(new MessageBody(body)); 
     replymessage.sendAndSaveCopy(WellKnownFolderName.SentItems); 

    }catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 

我沒有看到郵件正從[email protected]發送 的解決是我的,我從中得到的地址是的[email protected]

發送的郵件總是以用於登錄交換服務器的服務帳戶的已發送郵件文件夾結束。

有沒有辦法實現我想要的?

回答

4

您需要設置FolderId的文件夾在保存發送副本因此它反映了你發送的如郵箱更改

replymessage.sendAndSaveCopy(WellKnownFolderName.SentItems); 

FolderId SentFolderForUser = new FolderId(WellKnownFolderName.SentItems, fromEmailAddress); 
replymessage.sendAndSaveCopy(SentFolderForUser); 

乾杯 格倫

+0

由於只有發送權限和沒有其他權限(如完整郵箱或模擬),所以在編寫本文和Exchange 2013時,這似乎不適用於當前的EWS API(可能是ap適用於其他版本)。你有沒有發現這個工作? – 2015-03-20 22:03:29

+0

它不會與send-as一起工作,因爲您無權將Sent消息保存在SentItems文件夾中。您可能想嘗試發送超載。 – 2015-03-22 22:54:57

相關問題