java - 如何使用 Microsoft Exchange 发送电子邮件附件?

标签 java email exchange-server exchange-server-2010

我想使用 java 通过 Exchange 服务器发送电子邮件附件。发送电子邮件工作正常:

ExchangeService service = new ExchangeService();
ExchangeCredentials credentials = new WebCredentials(username,password);
service.setCredentials(credentials);
service.setUrl(new URI(MailHost));

EmailMessage msg = new EmailMessage(service);
msg.setSubject("My Subject!");
msg.setBody(MessageBody.getMessageBodyFromText("My Message"));
msg.getToRecipients().add(mailTo);

有人可以帮我吗?

最佳答案

我找到了解决方案HERE

public boolean sendEWSMail(String subject, String bodyContent, String to, String cc){
    ExchangeService service = new ExchangeService();
    EmailMessage msg = null; 
    ExchangeCredentials credentials = null;
    String domain = "domain name";
    if (domain == null || domain.equals("")) {
        credentials = new WebCredentials("username", 
                "password");
    } else {
        credentials = new WebCredentials("username", 
                "password", domain);
    }
    service.setCredentials(credentials);
    try {
        service.setUrl(new URI("Mail server URL"));
        msg = new EmailMessage(service);
        msg.setSubject(subject); 
        msg.setBody(MessageBody.getMessageBodyFromText(bodyContent));
        msg.getAttachments().addFileAttachment("Complete File Path");
        if(to == null || to.equals("")){
            LOGGER.warn("To distribution list is empty. Could not send the mail ");
        }else{
            String[] mailTos = to.split(";");
            for(String mailTo : mailTos){
                if(mailTo != null && !mailTo.isEmpty())
                msg.getToRecipients().add(mailTo);
            }
            if(cc != null && !cc.isEmpty()){
                String[] mailCCs = cc.split(";");
                for(String mailCc : mailCCs){
                    if(mailCc != null && !mailCc.equals(""))
                    msg.getCcRecipients().add(mailCc);
                }
            }
            msg.send();
            LOGGER.debug("Mail successfully send ");
            return true;
        }
    } catch (Exception e) {
        LOGGER.error("Exception occurred while sending EWS Mail ", e);
    }
    return false;
}

关于java - 如何使用 Microsoft Exchange 发送电子邮件附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23936220/

相关文章:

exchange-server - 为什么 Microsoft Exchange 如此受欢迎?

c# - 在 asp.net 中使用 EXCHANGE SERVER (Microsoft Outlook web access) 发送邮件

c# - 访问 Outlook Exchange 全局地址簿

java - 如何在我的方法参数中传递 List?

java - 无法找到明确的 Activity 类,是否已在AndroidManifest.xml中声明了该 Activity ?

java - 内存中带有文字字符串的 StringBuilder/StringBuffer

css - 电子邮件中的响应图像

java - 了解 ZooKeeper 启动命令行

perl - MIME::Lite 包无效的路由地址

python - 收到电子邮件后触发脚本