2011-05-02 158 views
2

其他操作(如創建文件夾,檢索有關現有文件夾的信息,項目似乎有效,但將電子郵件發送到有效的電子郵件地址不起作用。以下代碼可能會出現什麼問題?我感謝您的幫助。通過Exchange Web服務發送電子郵件Java API 1.1

ExchangeService service = new ExchangeService(); 
    ExchangeCredentials credentials = new WebCredentials("vuser","vpass"); 
    service.setCredentials(credentials);  
    service.setUrl(new URI("https://valid_server/ews/Exchange.asmx"));  


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

System.out.println("done"); 

回答

0

您是否嘗試使用Send()方法而不是SendAndSaveCopy()?或者你是否檢查過郵件副本是否保存,只發送部分不起作用?我問,因爲我有我的C#項目中幾乎相同的代碼,它完美的作品。根據文檔SendAndSaveCopy不起作用,如果電子郵件有未保存的附件,但這顯然不是這裏的情況。

+0

我都嘗試(send()和SendAndSaveCopy()),他們不工作。你知道爲什麼會顯示這種行爲嗎?我想我曾經用C#嘗試過,但它的工作,但與這個Java ews api 1.1它根本不工作。你提出任何解決方案?我感謝您的幫助。 – kofhearts 2011-05-05 00:22:17

1

查找下面的代碼,這對我來說非常合適。

public void sendEmail(String body, String subject, String recipients, String from) 
    { 
     service = new ExchangeService(); 
     ExchangeCredentials credentials = new WebCredentials(username, password); 
     service.setCredentials(credentials); 
     service.setUrl(ewsUri); 

     try 
     { 
      EmailMessage replymessage = new EmailMessage(service); 
      EmailAddress fromEmailAddress = new EmailAddress(from); 
      replymessage.setFrom(fromEmailAddress); 
      replymessage.getToRecipients().add(recipients); 
      //replymessage.setInReplyTo(recipients); 
      replymessage.setSubject(subject); 
      replymessage.setBody(new MessageBody(body)); 
      replymessage.send(); 

     }catch (Exception e) 
     { 
      logger.error(""+e); 
     } 




    } 
+0

此代碼是否可用?它不適合我。我得到java.lang.NullPointerException:format == null異常 – tejas 2016-02-15 05:14:54

0

這工作得很好,我...

public static void sendMail(String[] addresses) throws Exception { 
    // enter vaild mail id and password 
    ExchangeCredentials credentials = new WebCredentials("mail_id", "passwd"); 
    service.setCredentials(credentials); 
    // enter vaild server url 
    service.setUrl(new URI("server")); 
    EmailMessage mail = new EmailMessage(service); 
    mail.setSubject("Hello EWS Send"); 
    mail.setBody(new MessageBody("pffed bye!!!")); 
    for (String string : addresses) 
     mail.getToRecipients().add(new EmailAddress(string)); 
    mail.sendAndSaveCopy(); 
} 
相關問題