标签: exchangewebservices

C#ews发件人地址

我试图获取有关电子邮件的具体信息(messageID,mailboxname,date,from,to,subject,body,seq,date_inserted_db,hasattachment),我可以使用item.whatever方法或使用emailMessage来成功获取它们.如何在EWS MAPI中获取电子邮件的发件人中显示的项目.我怎样才能获得发件人的实际电子邮件地址?

EmailMessage mes = (EmailMessage)item;
String sender = mes.Sender.Name;
Run Code Online (Sandbox Code Playgroud)

这给了我一些像"toosweetnitemare"而不是toosweetnitemare@whatever.com.我也试过了

System.Web.Mail.MailMessage receivedMessage = GetMail();
string replyTo = receivedMessage.From;
Run Code Online (Sandbox Code Playgroud)

但这不会对我的代码很好,并不断告诉我改变我的框架版本.奇怪,我不想用它.

我希望使用EWS或者铸造地址.有任何想法吗?

c# email email-address exchangewebservices sender

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

使用php-ews向Exchange 2007添加约会

有没有人有任何php-ews的经验?我想通过php-ews添加一个新的约会到Exchange 2007日历,但我不知道如何.php-ews的文档非常有限.有没有人以前做过这件事,并提供和示例?谢谢

php exchange-server exchangewebservices

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

为什么我不能使 HttpWebRequest 与 NTLM 身份验证一起使用

我正在尝试从 MonoTouch 调用 EWS,就像在这个片段中一样:

byte[] bytes = Encoding.UTF8.GetBytes("... some xml here ...");
HttpWebRequest req = WebRequest.Create("https://owa.site.com/ews/exchange.asmx") as HttpWebRequest;
req.Method = "POST";
req.KeepAlive = true;
req.ContentType = "text/xml";
req.ContentLength = bytes.Length;
req.AuthenticationLevel = AuthenticationLevel.MutualAuthRequested;
CredentialCache ch = new CredentialCache();
ch.Add(req.RequestUri, "Negotiate", new NetworkCredential("uname", "pwd", "domain"));
req.Credentials = ch;
Stream sreq = req.GetRequestStream();
sreq.Write(bytes, 0, bytes.Length);
sreq.Close();
WebResponse resp = req.GetResponse();
Run Code Online (Sandbox Code Playgroud)

最后一行抛出异常:401:未授权。

HttpWebRequest 不是应该透明地处理协商,即处理挑战并生成第二个和第三个请求吗?

PS http和https的结果是一样的

PPS 使用 EWS 托管 API,我从模拟器成功调用了 EWS(但不幸的是,它不是为实际设备构建的)。在 Exchange 服务器上使用网络嗅探器证明在一次托管调用中有三个 HTTP 请求,并且只有一个来自上面的代码。

ntlm exchangewebservices xamarin.ios ios

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

EWS 获取具有指定主题行的邮件

如何指定SearchFilterJava EWS 库来获取包含已定义主题行的邮件?

提前致谢。

java exchangewebservices ewsjavaapi

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

EWS获取邮箱类型(用户/资源/共享)

只给一个电子邮件地址,我连接到收到发送到该地址的电子邮件的邮箱:

ews.autodiscoverUrl(email);
var m = new Mailbox(email);
var folderId = new FolderId(WellKnownFolderName.Inbox, m);
var folder = Folder.Bind(ews,folderId);
Run Code Online (Sandbox Code Playgroud)

有没有办法找出我打开的邮箱类型 - 无论是用户,资源还是共享邮箱?

c# exchangewebservices

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

为什么公共文件夹上的TotalCount属性总是返回0项?

使用Exchange 2013 SP1和Exchange Web服务托管API 2.2尝试获取我存储在"公用文件夹"中的联系人文件夹中的联系人列表. 我想将ItemView的大小限制为我在此联系人文件夹中的联系人总数,但是当我尝试返回该属性(contactfolder.TotalCount)时,它总是返回0.如果我尝试使用联系人我邮箱下的文件夹返回0以外的值.我可以通过将ItemView的构造函数的值指定为特定数字或使用int.MaxValue来解决此问题,但我宁愿使用联系人列表中的项目总数.非常感谢任何帮助!这是相关代码:

private FindItemsResults<Microsoft.Exchange.WebServices.Data.Item> ExchangeContacts()
    {
        // Setup the exchange server connection.
        ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013_SP1);
        service.AutodiscoverUrl("someone@mydomain.com");

        // Set the filter to choose the correct contact list
        SearchFilter filter = new SearchFilter.IsEqualTo(FolderSchema.DisplayName, "My Public Contacts");
        SearchFilter.SearchFilterCollection filterCollection = new SearchFilter.SearchFilterCollection();
        filterCollection.Add(filter);           


        // Get the FolderId using the search filter.
        Folder parent = Folder.Bind(service, WellKnownFolderName.PublicFoldersRoot);
        FindFoldersResults results = parent.FindFolders(filter, new FolderView(1));
        FolderId fid = results.Single().Id;

        // Get the Contact folder based on the folderid.
        ContactsFolder …
Run Code Online (Sandbox Code Playgroud)

c# exchange-server exchangewebservices

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

Exchange EWS Api - 按类别获取日历约会

我目前正在开发一款应用程序,用于检查一个或多个用户日历中特定类别下的约会/会议。

作为使用 EWS 的新手,我一直在尝试找到一种解决方案来按类别获取日历项目(约会或会议)或确定约会是否具有特定类别。到目前为止,我目前有以下代码(exService = ExchangeService 对象):

foreach (Appointment a in exService.FindItems(WellKnownFolderName.Calendar, new ItemView(int.MaxValue)))
            {
                //Need to check if appointment has category f.x.: "SMS"
            }
Run Code Online (Sandbox Code Playgroud)

有人知道如何实现这一目标吗?

谢谢

c# exchangewebservices

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

Exchange Web 服务当前不可用于此请求,因为目标站点中的任何客户端访问服务器都无法处理

我正在使用 EWS Java API 并传递 OAuth 令牌以从 Office 365 邮箱获取数据。

因为我正在开发 Web API,所以我更喜欢使用在 Office 365 的 Azure 活动目录应用程序中定义的“应用程序权限”,并使用“客户端凭据流”OAuth 流来获取特定于应用程序的 OAuth 令牌,这将允许“通过 EWS 对所有组织中的邮箱”。

使用文档“ http://blogs.msdn.com/b/exchangedev/archive/2015/01/21/building-demon-or-service-apps-with-office-365-mail 中指定的程序获取令牌后-calendar-and-contacts-apis-oauth2-client-credential-flow.aspx

我将此令牌传递给 EWS Java API,

它给了我错误说:

microsoft.exchange.webservices.data.ServiceResponseException:Exchange Web 服务当前不可用于此请求,因为目标站点中的任何客户端访问服务器都无法处理该请求。

我用 EWS 托管的 .net API 尝试了类似的事情。得到类似的错误。

任何人都可以提供一些帮助和指导来解决此错误。

谢谢和最好的问候,

普兰加尔

azure exchangewebservices azure-acs ewsjavaapi

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

EWS读取邮件纯文本正文获取ServiceObjectPropertyException

我在下面的代码中完成了以下操作,但仍然得到ServiceObjectPropertyException.我显然也按照这里的建议加载了房产.请任何人都可以帮助指出我做错了什么

this.ExchangeService = new ExchangeService(ExchangeVersion.Exchange2013);

                this.ExchangeService.Credentials = new WebCredentials(mailBox, password);
                this.ExchangeService.Url = new Uri("https://mail.xxxxxxxxxxx.com/EWS/Exchange.asmx");                

                PropertySet itemProperty = new PropertySet();
                itemProperty.RequestedBodyType = BodyType.Text;


                SearchFilter searchFilter = new SearchFilter.SearchFilterCollection(LogicalOperator.And, new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));

                ItemView view = new ItemView(999);
                view.PropertySet = itemProperty;                

                List<ExchangeMailResponse> emails = new List<ExchangeMailResponse>();

                FindItemsResults<Item> emailMessage = this.ExchangeService.FindItems(WellKnownFolderName.Inbox, searchFilter, view);                               


                foreach (Item mail in emailMessage)
                {

                    ExchangeMailResponse email = new ExchangeMailResponse();


                    mail.Load(itemProperty);                  

                   email.Message = mail.Body.Text;                   


                }   
Run Code Online (Sandbox Code Playgroud)

c# api exchangewebservices

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

Microsoft GraphApi ICalUid 是什么格式?

使用 Microsoft GraphAPI 和 CalendarView 做一些工作。为了好玩,我通过 Google 创建了一个活动,并邀请了我的 Office365 帐户以确保两者之间的 ICalUid 相同。

如果我使用 EWS 服务,ICalUid 在从谷歌检索事件时与 ICalUid 匹配。我希望 GraphAPI 是相同的,但是,它们不匹配。

谷歌和 EWS 有类似的东西:

sqvitruh3ho3mrq896tplad4v8@google.com

GraphAPI 具有:

040000008200E00074C5B7101A82E0080000000038C12994A0A1D1010000000000000000100000002D3AE9C22CC82C49D981000000000

我尝试了几次尝试将一种格式转换为另一种格式,但开始怀疑它们是否以任何方式相关。有任何想法吗?

exchangewebservices microsoft-graph-api

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