标签: exchangewebservices

允许使用 ews 进行模拟

我正在尝试用 C# 创建一个程序,该程序应该能够在其他人的 Outlook 日历中创建约会。我有代码可以在我自己的日历中创建约会。我在谷歌上搜索,我发现我应该使用模拟。所以我添加了这一行:

service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, emailAddress);
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

private void button2_Click(object sender, EventArgs e) {
try{
    ExchangeService service = new ExchangeService();
    service.UseDefaultCredentials = true;   
    service.Credentials = new WebCredentials("Test@domain.com", "password");
    service.AutodiscoverUrl("Test@domain.com", adAutoDiscoCallBack);
    service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, "Test2@domain.com");

    Appointment appointment = new Appointment(service);
    // Set the properties on the appointment object to create the appointment.
    appointment.Subject = "Tennis lesson";
    appointment.Body = "Focus on backhand this week.";
    appointment.Start = DateTime.Now.AddDays(2);
    appointment.End = appointment.Start.AddHours(1);
    appointment.Location = "Tennis club";
    appointment.ReminderDueBy = DateTime.Now; …
Run Code Online (Sandbox Code Playgroud)

c# impersonation calendar exchangewebservices

1
推荐指数
1
解决办法
8084
查看次数

EWS(Exchange WebService)API 在 Open JDK 11 中也无法在 Zulu Java 11 中工作

我一直在使用EWS(Exchange Web Service)从Java 8中的共享邮箱中读取电子邮件。

升级到Java 11 (Open JDK 11/Zulu Java 11)后,在阅读电子邮件时遇到异常。

这是例外:

java.lang.NoClassDefFoundError: javax/xml/ws/http/HTTPException在 Microsoft.exchange.webservices.data.core.ExchangeService.internalFindFolders(ExchangeService.java:370) ~[ews-java-api-2.0.jar:na]

java exchangewebservices azul-zulu java-11 openjdk-11

1
推荐指数
1
解决办法
1682
查看次数

使用Exchange Web服务(EWS)托管API获取当前电子邮件的ItemId的下一封电子邮件的ItemId

我需要在C#中编写一个方法,使用Exchange Web服务(EWS)托管API从邮箱中读取电子邮件并给出当前电子邮件的ItemId/UniqueId,在收件箱中返回下一封电子邮件的ItemId/UniqueId.当前的电子邮件.

此外,由于各种原因,我要求该方法是一个静态无状态方法,也就是说,它不能依赖于在方法调用之间持续存在的任何成员/全局变量.因此,我不能简单地存储对FindItemsResults对象的实例的引用,并在每次调用该方法时移动到下一个Item.

我尝试使用以下代码实现该方法(仅简化示例,无错误检查):

using Microsoft.Exchange.WebServices;
using Microsoft.Exchange.WebServices.Data;
...
...
public string GetNextEmailId(string currentItemId)
{
    // set up Exchange Web Service connection
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
    service.AutodiscoverUrl("example.user@contoso.com");
    // create SearchFilter to find next email after current email
    ItemId itemId = new ItemId(currentItemId);
    SearchFilter sfNextEmail = new SearchFilter.IsGreaterThan(EmailMessageSchema.Id, itemId);
    // find next email in inbox
    ItemView itemView = new ItemView(1);
    itemView.OrderBy.Add(EmailMessageSchema.DateTimeReceived, SortDirection.Ascending);
    FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, sfNextEmail, itemView);
    // return unique ID of next email
    return findResults.Items[0].Id.UniqueId;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此方法时,它会从service.FindItems行抛出以下异常:

System.ArgumentException:"验证失败.参数名称:searchFilter" …

.net managed exchangewebservices ews-managed-api

0
推荐指数
1
解决办法
4062
查看次数

Outlook.com是否支持EWS?

Outlook.com是否支持EWS?如果不是,使用python访问用户任务和日历的不同方式是什么?

到目前为止,我已经执行了以下操作:

使用EWSWrapper并尝试将suds -ews与python一起使用。当我尝试使用outlook.com帐户时,所有这些实施都会失败。

所以这是我想知道的:

  • 如果EWS不可用,我还可以采取其他什么方法来检索任务和日历列表。
  • 我是否可以使用python中的库,该库考虑了2007年以前的Exchange服务器,2010年到2013年的更新服务器,并进行了基本的错误处理。

任何帮助表示赞赏。

exchange-server exchangewebservices outlook.com

0
推荐指数
1
解决办法
6986
查看次数

如何在Exchange Web Server上捕获已删除的项目

在Exchange Server上创建或修改元素时,我会获得具有唯一ID的StreamingNotification以及有关该联系人/日历的其他信息,但是如何获取有关已删除项目的信息?

我从哪里获得身份证?或者至少是第一个电子邮件地址或主题?


我正在使用EWS托管API,这是我的代码:

StreamingSubscription subscription =
ser.SubscribeToStreamingNotifications(
    new FolderId[] { WellKnownFolderName.Contacts,
    WellKnownFolderName.Calendar },
    EventType.Created,
    EventType.Modified,
    EventType.Deleted
);
Run Code Online (Sandbox Code Playgroud)

c# exchangewebservices ews-managed-api exchange-server-2010

0
推荐指数
1
解决办法
2769
查看次数

C# - 通过Powershell Runspace删除Exchange电子邮件地址

Per Technet -使用PowerShell控制台添加或删除邮箱的电子邮件地址,以下成功删除邮箱中的电子邮件别名:

Set-Mailbox "GenMgr" -EmailAddresses @{remove="GenMgr@domain.com"}
Run Code Online (Sandbox Code Playgroud)

但是,通过远程运行空间调用下面的PSCommand对象会引发System.Management.Automation.RemoteException错误.

command.AddCommand("Set-Mailbox");
command.AddParameter("Identity", "GenMgr");
command.AddParameter("EmailAddresses", "@{remove='GenMgr@domain.com'}");
powershell.Commands = command;
powershell.Invoke();
Run Code Online (Sandbox Code Playgroud)

System.Management.Automation.RemoteException:无法处理参数'EmailAddresses'上的参数转换.无法将值"@ {remove='GenMgr@domain.com'}"转换为"Microsoft.Exchange.Data.ProxyAddressCollection".错误:"地址'@ {remove='GenMgr@domain.com'}'无效:"@ {remove='GenMgr@domain.com'}"不是有效的SMTP地址.域名不能包含空格,它必须有前缀和后缀,例如example.com."

在我看来,问题在于EmailAddresses参数中的'remove'指令.

如何在Windows 8上使用C#和PowerShell远程运行空间来使Exchange 2010删除电子邮件别名?

c# powershell exchangewebservices exchange-server-2010

0
推荐指数
1
解决办法
2709
查看次数

iOS中的EWS托管API

我正在开发一个需要使用EWS托管API的iOS应用程序.我已经彻底搜索了网络,但我没有取得任何成功.

它需要获取和设置用户的个人资料信息,即用户的显示名称,公司名称,电话号码等.

exchangewebservices ews-managed-api ios6 ios7

0
推荐指数
1
解决办法
2362
查看次数

如何使用folderId查找邮箱的文件夹路径?

我有邮箱中文件夹的 folderId 属性。如何使用 EWS 找到文件夹的完整路径?

exchange-server exchangewebservices ews-managed-api exchange-server-2010

0
推荐指数
1
解决办法
1172
查看次数

使用Core JAVA中的ews-java-api-2.0.jar连接到Office365 Exchange Server

我正在使用ews-java-api-2.0.jar连接到office365,下面是示例代码:

package javaapplication6;

import java.net.URI;
import microsoft.exchange.webservices.data.autodiscover.IAutodiscoverRedirectionUrl;

import microsoft.exchange.webservices.data.credential.ExchangeCredentials;
import microsoft.exchange.webservices.data.core.ExchangeService;
import microsoft.exchange.webservices.data.core.enumeration.property.WellKnownFolderName;
import microsoft.exchange.webservices.data.core.service.folder.Folder;
import microsoft.exchange.webservices.data.credential.WebCredentials;

public class JavaApplication6 {

    public static class RedirectionUrlCallback implements IAutodiscoverRedirectionUrl {
        public boolean autodiscoverRedirectionUrlValidationCallback(String redirectionUrl) {
          return redirectionUrl.toLowerCase().startsWith("https://");
        }
    }

    public static ExchangeService connectViaExchangeManually(String email, String password)
      throws Exception {
        ExchangeService service = new ExchangeService();
        ExchangeCredentials credentials = new WebCredentials(email, password);
        service.setUrl(new URI("https://outlook.office365.com/EWS/Exchange.asmx"));
        service.setCredentials(credentials);
        service.setTraceEnabled(true);
        Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox);
        System.out.println("messages: " + inbox.getTotalCount());
        return service;
    }

    public static ExchangeService connectViaExchangeAutodiscover(String email, String …
Run Code Online (Sandbox Code Playgroud)

java exchangewebservices office365

0
推荐指数
1
解决办法
6147
查看次数

EWS连接是否支持TLS 1.2

我不是EWS或TLS 1.2的专家.我不确定如何调查这个问题.

基本上,我的客户端应用程序大量使用EWS,其形式是从Exchange服务器提取数据并从Exchange服务器接收订阅主题的通知.

我有一个客户的问题,我正在为我工​​作.从客户端应用程序到Exchange服务器使用的EWS连接是否支持TLS 1.2?

Exchange服务器可以是2010年和2013年.

我不确定如何确认这一点,或者默认情况下支持此功能.

欢迎提出任何建议或建议.

编辑:

客户端应用程序是用JavaScript编写的.

Exchange服务器的端点是https://outlook.office365.com/EWS/Exchange.asmx

很明显它是https端点.这是否意味着在TLS 1.2合规性下已经运行良好?

client-server exchangewebservices tls1.2

0
推荐指数
1
解决办法
2953
查看次数

如何使用 EWS 托管 API 获取电子邮件消息的 DateTimeRecieved 字段的毫秒部分

我有一个与交换同步并获取给定 itemids 的电子邮件消息对象的代码:

List<EmailMessage> emails = new List<EmailMessage>();
            ServiceResponseCollection<GetItemResponse> response =
                            MyExchangeService.BindToItems(MyItemIds, PropertySet);
            foreach (GetItemResponse getItemResponse in response)
            {
                if (getItemResponse.Item != null)
                {
                    emails.Add((EmailMessage)getItemResponse.Item);
                }
            }
Run Code Online (Sandbox Code Playgroud)

现在,emailmessage我得到的对象包含该DateTimeReceived属性,而9/15/2017 5:27:16 AM我希望它也包含时间的毫秒部分。是否可以?

c# exchange-server exchangewebservices exchange-server-2010

0
推荐指数
1
解决办法
675
查看次数

如何将通过 EWS 创建的所有电子邮件标记为收入邮件而不是草稿?

只是有一个关于这个问题的问题,我在使用 EWS 和创建邮件时遇到了这个问题。

\n\n

I\xc2\xb4m 创建电子邮件并将其保存到我的收件箱。

\n\n
            EmailMessage message = new EmailMessage(_exchangeService);\n            message.From = emailObject.SenderAddress;\n            message.Subject = emailObject.Subject;\n            message.Body = emailObject.Body\n            message.ToRecipients.Add(email);\n            message.CcRecipients.Add(emailObject.CC);\n            message.IsRead = false;\n            message.Save(WellKnownFolderName.Inbox);\n
Run Code Online (Sandbox Code Playgroud)\n\n

现在的问题是,EWS 正在将电子邮件创建为草稿。

\n\n

是否可以将邮件标记为收入邮件?

\n\n

谢谢你!

\n

c# email managed exchangewebservices

0
推荐指数
1
解决办法
444
查看次数

检测电子邮件收件人邮件地址是否已编码 - EWS API

我正在使用办公室365中的EWS API检索电子邮件.当我尝试检索时,将以某种编码格式(以编码格式返回的api)检索发送邮件收件人电子邮件地址,非ASCII电子邮件地址或Unicode电子邮件地址.是否有任何属性或类似的东西来检测电子邮件是否实际上是编码格式,以便我可以解码.

EmailMessage emailMessage;

foreach (var recipient in emailMessage.ToRecipients)
{
    ERecipient recip = new ERecipient();                                    
    recip.EmailAddress = recipient.Address;
}
Run Code Online (Sandbox Code Playgroud)

如何识别收件人地址是否实际编码?

api exchangewebservices

0
推荐指数
1
解决办法
93
查看次数