标签: exchangewebservices

Windows上的.NET 3.5的TimeZoneInfo实例与OS X上的Mono相比有什么区别吗?

我试图在OS X上使用Mono调用EWS(Exchange版本2007 SP1).我可以连接到服务并进行身份验证,但我尝试进行的任何调用都会导致异常,如下所示:

抛出了Microsoft.Exchange.WebServices.Data.ServiceResponseException "找不到具有指定ID的时区."

我已经尝试过指定几个不同的ID,并且都会产生相同的响应.我开始怀疑TZI ID本身在平台之间是否有所不同.如果是这样,有谁知道如何解决这些差异?

mono exchangewebservices

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

控制器操作无法编译,发现"找不到类型:需要单位:play.api.mvc.Result"

我是Scala和Play框架的新手.我必须创建一个"CONTACTS"模块,但是我收到以下错误:

type mismatch found : Unit required: play.api.mvc.Result 
    contactVal.save()
where contactVal is defined as 
    val contactVal  = new Contact(service) where service is 
    val service = new ExchangeService()
Run Code Online (Sandbox Code Playgroud)

如何保存新的EWS联系人?

我的代码:

def add = Action(parse.json) {
  implicit r=>
    val contactVal  = new Contact(service)
    val userId = (r.body \ "userId").asOpt[String].getOrElse("")
    val contactId = (r.body \ "id").asOpt[String].getOrElse("")
    val givenName = (r.body \ "givenName").asOpt[String].getOrElse("")
    val fName = (r.body \ "fName").asOpt[String].getOrElse("")
    val lName = (r.body \ "lName").asOpt[String].getOrElse("")
    val displayName = (r.body \ "displayName").asOpt[String].getOrElse("")
    val emailId1 = …
Run Code Online (Sandbox Code Playgroud)

scala contacts exchangewebservices playframework

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

哪一个是更好的EWS API或EWS托管API?

我正在为交换服务器开发电子邮件客户端.......我遇到了EWS和EWS托管API.请帮我理解我应该选择哪一个?

exchangewebservices ews-managed-api

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

我可以使用Java的Microsoft Exchange 2013 API吗?

我可以从Java使用Exchange 2013的EWS吗?我发现Java EWS API不支持2013版本的EWS.

java exchange-server exchangewebservices

3
推荐指数
1
解决办法
2万
查看次数

EWS只读取我的收件箱

我正在尝试阅读特定的电子邮件帐户,以查找包含未读附件的项目,并在主题中包含某些单词.

我有下面的代码,但只能读取我的收件箱,不是我要检查的收件箱

static void Main(string[] args)
    {
    ServicePointManager.ServerCertificateValidationCallback=CertificateValidationCallBack;
    ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);// .Exchange2007_SP1);

    service.UseDefaultCredentials = true;
    service.AutodiscoverUrl("bbtest@domainname.com"); //, RedirectionUrlValidationCallback); //bbtest@bocuk.local

    ItemView view = new ItemView(1);

    string querystring = "HasAttachments:true Kind:email"; 
    //From:'Philip Livingstone' Subject:'ATTACHMENT TEST' Kind:email";

    // Find the first email message in the Inbox that has attachments. 
    // This results in a FindItem operation call to EWS.
    FindItemsResults<Item> results = service.FindItems(WellKnownFolderName.Inbox, querystring, view);

    foreach (EmailMessage email in results)

        if (email.IsRead == false) // && email.HasAttachments == …
Run Code Online (Sandbox Code Playgroud)

c# soap exchangewebservices exchange-server-2010

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

使用Oauth2的EWS Java API

我想对我的应用程序使用Oauth2身份验证。我想使用EWS Java API从O365中获取数据。可能吗?文档http://blogs.msdn.com/b/exchangedev/archive/2014/09/24/10510847.aspx 讨论了如何为REST api获取oauth令牌,如果我也使用同一文档来获取与EWS Web服务一起使用的令牌的话?任何人都可以使用Java共享执行此操作的任何代码示例。

java oauth ms-office exchangewebservices

3
推荐指数
3
解决办法
2346
查看次数

EWS SearchFilter.ContainsSubstring要在发件人电子邮件地址上进行过滤

我正在尝试使用SearchFilter.ContainsSubstring过滤Exchange Web Services上的电子邮件,如下所示:

sfilter = New SearchFilter.ContainsSubstring(EmailMessageSchema.Sender, EmailAddress, ContainmentMode.Substring, ComparisonMode.IgnoreCase)
MailItems = service.FindItems(Folder.Id, sfilter, view)
Run Code Online (Sandbox Code Playgroud)

不幸的是,这行不通,并且我不想使用查询,因为我不能保证可以使用Exchange Server 2013的功能。

在Fiddler中编写了各种请求,我可以观察到,如果删除电子邮件地址的最后一个字符,则过滤器起作用,而是删除第一个字符,然后工作-将它们放回原处,弄坏。

因此,也许这很花哨,而且必须是一个真正的子字符串才能使用,因此,如果我将“ Containment”模式更改为“ FullString”,它将不起作用,因此,我无法像“ Substring”或“ FullString”那样进行任何操作。

看起来我将能够做到(缺少最后一个字符的子字符串和缺少第一个字符的子字符串),但是肯定不能那么坏吗?

我该怎么做才能使它起作用?

请注意,我的代码在VB.NET中,但是我无法想象这是问题所在。

干杯,

标记

vb.net exchangewebservices

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

EWS交换有时不使用StreamingSubscription触发NewMail事件

我有应用程序通知使用EWS托管api(v2.2)创建的新邮件.我正在使用StreamingSubscription来监听邮箱事件.我注意到有时NewMail事件没有被触发(我后来看到邮箱中未处理的邮件),没有引发连接/订阅异常,并且在一段时间后新邮件接收没有发生任何事情......什么可能导致这种行为?在交换日志中没有任何可疑,事件只是没有被解雇......任何想法和建议将不胜感激.

谢谢.

资源:

public class ExchangeClient : IDisposable
{
    private ExchangeService _exchange;
    private SubscriptionBase _subscription;
    private StreamingSubscriptionConnection _connection;

    private bool _disposed;
    private bool _disposing;

    public event EventHandler<ExchangeEventArgs> ExchangeEvent;

    public ExchangeClient(string userName, string password, string domain, ExchangeVersion version)
    {
        _exchange = new ExchangeService(version);
        _exchange.Credentials = new WebCredentials(userName, password);

        _exchange.AutodiscoverUrl(userName + "@" + domain);

        var ids = new FolderId[2] { new FolderId(WellKnownFolderName.Root), new FolderId(WellKnownFolderName.Inbox) };
        var events = new List<EventType>();
        events.Add(EventType.NewMail);

        _subscription = _exchange.SubscribeToStreamingNotifications(ids, events.ToArray());
        _connection = new StreamingSubscriptionConnection(_exchange, 30);
        _connection.AddSubscription((StreamingSubscription)_subscription);
        _connection.OnNotificationEvent …
Run Code Online (Sandbox Code Playgroud)

.net c# exchangewebservices

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

Exchange Web服务通过“ Message-ID”标头找到EmailMessage

我正在使用Java EWS库,并尝试回复一些消息。主要问题是-如果我只知道邮件的“ Message-ID”标头的值,如何在文件夹或邮箱中找到EmailMessage。

我尝试做这样的事情:

ExtendedPropertyDefinition p = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.InternetHeaders, "Message-ID", MapiPropertyType.String)

myfolder.findItems(new SearchFilter.IsEqualTo(p, "<1031208507.471.1446200157453.JavaMail.test>"), new ItemView(1))
Run Code Online (Sandbox Code Playgroud)

但是结果集是空的!你能帮助我吗?一些Java或C#解决方案?

c# java exchangewebservices ewsjavaapi

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

如何在单次更新中标记为读取通过EWS获取的所有电子邮件?

我按照MSDN上的EWS托管API示例在我的Exchange邮箱帐户中查找所有未读电子邮件.

我后来浏览了每个找到的项目,以便将它们放入我需要返回的列表中,同时获取每条消息的正文IsRead=true并按如下方式更新每个消息:

Folder.Bind(Service, WellKnownFolderName.Inbox);

SearchFilter sf = new SearchFilter.SearchFilterCollection(LogicalOperator.And,
    new SearchFilter.IsEqualTo(EmailMessageSchema.IsRead, false));
//ItemView limits the results to numOfMails2Fetch items
FindItemsResults<Item> foundItems = Service.FindItems(WellKnownFolderName.Inbox, sf,
    new ItemView(numOfMails2Fetch));

if (foundItems.TotalCount > 0)
{
    List<EmailMessage> emailsList = new List<EmailMessage>(foundItems.TotalCount);
    foundItems.Items.ToList().ForEach(item =>
    {
        var iEM = item as EmailMessage;
        emailsList.Add(iEM);
        // update properties
        iEM.IsRead = true;
        iEM.Update(ConflictResolutionMode.AutoResolve);
    });
    // fetches and assign the bodies of each email
    Service.LoadPropertiesForItems(emailsList,PropertySet.FirstClassProperties);
    return emailsList;
} else return null;
Run Code Online (Sandbox Code Playgroud)

是否可以IsRead=true在一个请求中更新所有找到的项目?即不逐一更新它们=更好的性能和连贯的逻辑.

c# email managed exchangewebservices

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