ExchangeService(EWS)错误:The response received from the service didn't contain valid XML.-程序员宅基地

技术标签: C#  EWS  ews  邮件服务器  service  服务器  exchange  email  

在用ExchangeService(EWS)连接Exchange邮件服务器时,报错:
        The response received from the service didn't contain valid XML.
其InnerException为:
        The expected XML node type was XmlDeclaration, but the actual type is Element.

其源代码如下:
   
 //连接服务器
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.Credentials = new NetworkCredential("***", "***", "***");
            service.AutodiscoverUrl("***");
               //获取邮件列表(收件箱中的邮件)
            FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox,new ItemView(10));
         
            foreach (Item item in findResults.Items)
            {
               
                //获取具体的邮件对象
                EmailMessage email = EmailMessage.Bind(service, item.Id);
                //判断附件是否为文件
                 if (!(email.Attachments[0] is FileAttachment)) continue;

                FileAttachment fileAttachment = email.Attachments[0] as FileAttachment;
                fileAttachment.Load("C:\\temp\\" + fileAttachment.Name);
                //标记为已读   
                email.IsRead = true;
                //将对邮件的改动提交到服务器   
                email.Update(ConflictResolutionMode.AlwaysOverwrite);
            }

查了一些资料,也没有找到具体的原因,自己尝试了好多方法,最终将代码更改如下:
       
 //连接服务器
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.Credentials = new NetworkCredential("用户名", "密码", "域");
            service.AutodiscoverUrl("你的邮箱");
            service.Url = new Uri("这里是你的邮箱Service地址(以asmx结尾)");
               //获取邮件列表(收件箱中的邮件)
            FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox,new ItemView(10));
         
            foreach (Item item in findResults.Items)
            {
               
                //获取具体的邮件对象
                EmailMessage email = EmailMessage.Bind(service, item.Id);
                //判断附件是否为文件
                 if (!(email.Attachments[0] is FileAttachment)) continue;

                FileAttachment fileAttachment = email.Attachments[0] as FileAttachment;
                fileAttachment.Load("C:\\temp\\" + fileAttachment.Name);
                //标记为已读   
                email.IsRead = true;
                //将对邮件的改动提交到服务器   
                email.Update(ConflictResolutionMode.AlwaysOverwrite);
            }


这一次就能正常收取了,加入了URL问题就解决了,不知道这个是什么原因,我原来用第一段代码的时候,并没有加入Url也能够正常访问的,这个事情比较的奇怪。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hymhblf/article/details/7818195

智能推荐

统计平均分:从文本读取成绩并计算平均分,将平均分写入文本文件保存_包含学生考试成绩的源文本文件中提取并计算平均分-程序员宅基地

文章浏览阅读1.2k次。从文本读取成绩并计算平均分,将平均分写入文本文件保存。【学习的细节是欢悦的历程】Python官网Free:大咖免费“圣经”教程python 完全自学教程,不仅仅是基础那么简单……自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。——华罗庚HOT好文力荐从文本读取成绩并计算平均分统计平均分(将平均分写入文本文件保存)本文质量分:90目 录。_包含学生考试成绩的源文本文件中提取并计算平均分

[Intensive Reading]MOT:FairMOT_fairmot实现mot评估-程序员宅基地

文章浏览阅读2.1k次,点赞5次,收藏10次。简介《FairMOT:A Simple Baseline for Multi-Object Tracking》是一个online的多目标跟踪(MOT)算法,基于TBD(Traking-by-Detection)的策略,FairMOT主要就是基于JDE做的改进,可以简单的理解为,FairMOT是将JDE的YOLOv3的主干,改成了CenterNet,也就是将检测的方法由Anchor-base换成了Anchor-free,然后同样在已有检测模型上加了了embeeding分支,模型输出检测的结果和embeedi_fairmot实现mot评估

VS 2008 显示代码行数/改变程序格式风格_vs2008显示行数-程序员宅基地

文章浏览阅读3.9k次。VS 2008 显示代码行数:开发环境C#,其他类同操作。工具-》选项-》文本编辑器-》C#里的显示“行号”勾上即可。-------------------------------------------------------------------------------------------------------改变VS程序风格:java风格: private v_vs2008显示行数

Web前端设计全方位解析:面试题总结+答案详解_前端实现填空题-程序员宅基地

文章浏览阅读1.5k次,点赞21次,收藏29次。面试习题大总结,进来免费白嫖啦_前端实现填空题

0043期基于python的CNN训练识别吃的-含数据集-程序员宅基地

文章浏览阅读681次,点赞19次,收藏14次。083基于深度学习的手势识别小程序版本_含10多种模型包括alexnet、DenseNet、DLA、GoogleNet、Mobilenet、ResNet、ResNeXt、ShuffleNet、VGG、EfficientNet和Swin transformer等10多种模型。117nlp自然语言处理-文本情感分类-joy-sadness-anger-fear-love-surprise。运行02深度学习模型训练.py就会将txt文本中记录的训练集和验证集进行读取训练,训练好后会保存模型在本地。

如何使用 Workbench 远程连接到 MySQL 数据库 -MySQL Workbench 使用教程_mysql workbench连接数据库-程序员宅基地

文章浏览阅读1.5w次,点赞12次,收藏88次。MySQL Workbench 是一款专门为 MySQL 设计的可视化数据库 GUI 管理工具,我们可以在自己的计算机上,使用图形化界面(GUI)远程管理 MySQL 数据库。有关 MySQL 远程管理软件,你可以选择 Windows 下的 HeidiSQL,MacOS 下的 Sequel Ace 或者 MySQL 官方推出的跨平台客户端 MySQL Workbench 。如果你需要针对自己的工作流对数据库操作,定制开发,推荐一下卡拉云,详情见文末。本._mysql workbench连接数据库

随便推点

linux catalina.sh java_opts,Tomcat启动脚本catalina.sh---解读-程序员宅基地

文章浏览阅读1k次。原网址:http://blog.csdn.net/sun8288/article/details/78431271 - 概述脚本catalina.sh用于启动和关闭tomcat服务器,是最关键的脚本另外的脚本startup.sh和shutdown.sh都是使用不同的参数调用了该脚本该脚本的使用方法如下(引自该脚本本身):echo "Usage: catalina.sh ( commands ......_catalina.sh java_opts

【算法题】一种字符串压缩表示的解压(js)-程序员宅基地

文章浏览阅读100次。全部由小写英文字母组成,压缩后不会出现@,故输出不合法。两个d不需要压缩,故输入不合法。_一种字符串压缩表示的解压

matplotlib将figure转化为numpy的array矩阵格式_manager.canvas.figure转换成array-程序员宅基地

文章浏览阅读3.7k次,点赞3次,收藏10次。最近碰到一个问题,python读入视频,并处理每一张图片,并将处理的结果用quiver显示为矢量图,然后将矢量图转化为numpy数据。在这整个过程中碰到以下问题:1)怎么使用quiver,这个用起来有很多参数需要设置,没有MATLAB用起来方便,不过这个不是本博文的重点。2)怎么将矢量图的效果转化为numpy数据,这个我在百度上搜索了好多博文,但是都不是我想要的效果,当我科学上网时,发现matplotlib有官方的介绍,这里贴出链接3)成功的转化为numpy后,又发现我的数据又多了轴参数,致使整个_manager.canvas.figure转换成array

机器学习与数据挖掘-实验二_《机器学习与数据挖掘》实验二-程序员宅基地

文章浏览阅读1.1k次。1. 根据给定数据集(存放在data1.txt文件中,二分类数据),编码实现基于梯度下降的Logistic回归算法,画出决策边界;2. 从UCI中选择鸢尾花数据集(多分类数据),使用Sklearn实现Logistic回归;实现第一个决策边界的代码如下:(注意格式)import numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom sklearn import linear_modelfrom sklearn._《机器学习与数据挖掘》实验二

扔掉工具类,Mybatis 一个简单配置搞定数据加密解密!-程序员宅基地

文章浏览阅读185次。前言:介绍一个简单的MyBatis加解密方式,日常学习工作中提及这种方法的比较少,所以拿来说说,如果已经知道这种方法的忽略本文!一、背景在我们数据库中有些时候会保存一些用户的敏感信息,比如:手机号、银行卡等信息,如果这些信息以明文的方式保存,那么是不安全的。假如:黑客黑进了数据库,或者离职人员导出了数据,那么就可能导致这些敏感数据的泄漏。因此我们就需要找到一种方法来解决这个问题。二、解决方案由于我..._mybatis-flex 数据加解密

女生适不适合进入IT行业做Linux运维工程师?-程序员宅基地

文章浏览阅读2.4k次。 不知从何时起有那么一个不成文的理论:女生不适合做IT。在很多人看来,IT is a men’s world,女生学IT是件匪夷所思的事情。在传统的思维当中..._linux推不推荐入行

推荐文章

热门文章

相关标签