2011-05-02 159 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(); 
} 
相关问题