java - 从邮箱发送邮件不会保存在已发送项目中

标签 java email exchangewebservices

我正在使用 EWS 来读取邮箱“[email protected]” '并提供服务帐户凭据以登录交换。该服务帐户有权读取 [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]

已发送的邮件始终位于我用于登录交换服务器的服务帐户的已发送邮件文件夹中。

有办法实现我想要的吗?

最佳答案

您需要设置保存已发送副本的文件夹的FolderId,以便它反射(reflect)您发送的邮箱,例如更改

replymessage.sendAndSaveCopy(WellKnownFolderName.SentItems);

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

干杯 格伦

关于java - 从邮箱发送邮件不会保存在已发送项目中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26121609/

相关文章:

javascript - HTML 网站、电子邮件问题

c# - 使用 EWS 托管 API 将电子邮件保存到 .MSG 文件

java - JDBC 瘦驱动程序 : Invalid Packet Lenght [sic]

java - JAXB:从不同继承级别获取标签

java - 这里实现的类是否正确?

c# - 我们能否减少 ExchangeWebsevice 中 AutodiscoverUrl 消耗的时间

web-services - 与演示 Exchange Server 2007 交谈

java - 当每个 case block 都有相同的代码时,在 switch-case 语句中使用什么?

c# - System.Net.Mail.MailMessage 原始内容/垃圾邮件 killer

vba - 将电子邮件移动到不同的数据/PST 文件