#安装EwsManagedApi.msi,然后导入EWS模块
Import-Module -Name "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
#$exchService.UseDefaultCredentials = $true 使用本地默认凭据
#使用其他凭据
$Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("username","password","uuuu")
$exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
$exchService.Credentials = $Credentials
$exchService.AutodiscoverUrl("username@x.com") #登录Exchange
$exchService
#绑定收件箱(Inbox)
$inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox)
$inbox|gm $ms = $inbox.FindItems(10) #查询邮件数量
foreach ($m in $ms)
{
$m.Load()
$m.subject
$m.IsRead
}

读取未读邮件:

#使用其他凭据
$Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("ly","l","u")
$exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
$exchService.Credentials = $Credentials
$exchService.AutodiscoverUrl("ly@x.com") #登录Exchange
$exchService
#绑定收件箱(Inbox)
$inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox)
$view = New-Object Microsoft.Exchange.WebServices.Data.ItemView(100) #The view that controls the number of items that are returned.
#读取未读邮件
$searchFilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::IsRead, $false)
$findResults = $exchService.FindItems([Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox,$searchFilter,$view)
$findResults.TotalCount

遍历Inbox下所有文件夹:

Import-Module -Name "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
#$exchService.UseDefaultCredentials = $true 使用本地默认凭据
#使用其他凭据
$Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("ly","l","ux")
$exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
$exchService.Credentials = $Credentials
$exchService.AutodiscoverUrl("ly@x.com") #登录Exchange
$exchService
#绑定收件箱(Inbox)
$inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox) #MsgFolderRoot根目录
#查询Inbox下的所有文件夹
$FolderList = new-object Microsoft.Exchange.WebServices.Data.FolderView(100)
$FolderList.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep
$findFolderResults = $inbox.FindFolders($FolderList)

遍历某个子文件夹(手机邮箱配置)下面的邮件:

#安装EwsManagedApi.msi,然后导入EWS模块
Import-Module -Name "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
#$exchService.UseDefaultCredentials = $true 使用本地默认凭据
#使用其他凭据
$Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("l","l","ux")
$exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
$exchService.Credentials = $Credentials
$exchService.AutodiscoverUrl("l@x.com") #登录Exchange
$exchService
#绑定收件箱(Inbox)
$inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox) #查询Inbox下的所有文件夹
$FolderList = new-object Microsoft.Exchange.WebServices.Data.FolderView(100)
$FolderList.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep
$findFolderResults = $inbox.FindFolders($FolderList)
#查询名为“手机邮箱配置”的文件夹,然后遍历其中的邮件
$folder_mobile = $findFolderResults|?{$_.DisplayName -eq "手机邮箱配置"}
$folder_ms= [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,$folder_mobile.Id)
$mails = $folder_ms.FindItems(100) #查询邮件数量
foreach ($m in $mails)
{
$m.Load()
$m.Subject
}

读取“手机配置邮箱”文件夹下的未读邮件:

#安装EwsManagedApi.msi,然后导入EWS模块
Import-Module -Name "C:\Program Files\Microsoft\Exchange\Web Services\2.0\Microsoft.Exchange.WebServices.dll"
#$exchService.UseDefaultCredentials = $true 使用本地默认凭据
#使用其他凭据
$Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials("l","l","ux")
$exchService = New-Object Microsoft.Exchange.WebServices.Data.ExchangeService
$exchService.Credentials = $Credentials
$exchService.AutodiscoverUrl("l@x.com") #登录Exchange #绑定收件箱(Inbox)
$inbox = [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,[Microsoft.Exchange.WebServices.Data.WellKnownFolderName]::Inbox) #查询Inbox下的所有文件夹
$FolderList = new-object Microsoft.Exchange.WebServices.Data.FolderView(100)
$FolderList.Traversal = [Microsoft.Exchange.WebServices.Data.FolderTraversal]::Deep
$findFolderResults = $inbox.FindFolders($FolderList)
#找到“手机邮箱配置”文件夹
$folder_mobile = $findFolderResults|?{$_.DisplayName -eq "手机邮箱配置"}
$folder_ms= [Microsoft.Exchange.WebServices.Data.Folder]::Bind($exchService,$folder_mobile.Id)
#读取未读邮件
$view = New-Object Microsoft.Exchange.WebServices.Data.ItemView(200)
$searchFilter = new-object Microsoft.Exchange.WebServices.Data.SearchFilter+IsEqualTo([Microsoft.Exchange.WebServices.Data.EmailMessageSchema]::IsRead, $false)
$findResults = $exchService.FindItems($folder_mobile.Id,$searchFilter,$view)
$findResults.TotalCount #遍历邮件内容
foreach ($m in $findResults.Items)
{
$m.Load()
$m.From
$m.Subject
$m.Body.BodyType
#$m.Body.Text
}

将邮件置为已读:

if ($m.IsRead -eq $false)
{
$m.IsRead = $true
$m.Update([Microsoft.Exchange.WebServices.Data.ConflictResolutionMode]::AlwaysOverwrite) #提交到Server端
}

发送邮件:

$message = New-Object Microsoft.Exchange.WebServices.Data.EmailMessage -ArgumentList $exchService
$message.Subject = '11Test is a test222'
$message.Body = 'This message is being sent through EWS with PowerShell'
$message.ToRecipients.Add(‘ly@yy.com’)
$message.SendAndSaveCopy()

使用EWS API读取邮件的更多相关文章

  1. EWS API 2.0读取日历信息-读取内容注意事项

    采用模拟账号的方式读取日历信息,注意下日历的内容读取(Body)读取.代码如下:(采用 EWS API 2.0版本) 1.读取内容前必须设置如下属性:否则会提示:You must load or as ...

  2. 使用 EWS(Exchange Web Service)协议读取邮件、发送邮件

    问题: 公司之前可以通过POP3协议收发邮件,因而在SoapUI中用JavaMail可以读取邮件,后来配置了Office 365,POP3协议端口不再开放,邮件全部读取失败,报login timeou ...

  3. javamail 发送、读取邮件

    概述 1.邮件相关的标准 厂商所提供的 JavaMail 服务程序可以有选择地实现某些邮件协议,常见的邮件协议包括: SMTP(Simple Mail Transfer Protocol) :即简单邮 ...

  4. File API 读取上传的文件

    1, 在html 文档中,<input type="file"> 我们可以选择文件进行上传,但这时只能上传一个文件.如果加上multiple 属性,可以上传多个文件,上 ...

  5. HTML5 file api读取文件的MD5码工具

    1.工具的用途:用HTML5 file api读取文件的MD5码.MD5码在文件的唯一性识别上有很重要的应用,业内常用MD5进行文件识别.文件秒传.文件安全性检查等: 2.适用性:IE.Chrome皆 ...

  6. Hadoop权威指南:通过FileSystem API读取数据

    Hadoop权威指南:通过FileSystem API读取数据 [TOC] 在Hadoop中,FileSystem是一个通用的文件系统API 获取FileSystem实例的几个静态方法 public ...

  7. 使用FileSystem自带的api读取hdfs中的文件

    博客搬家自https://my.oschina.net/itsyizu/blog/ 1. 创建hadoop MapReduce项目 输入项目名称 创建好的项目初始化状态如下 编写java类 impor ...

  8. python从任意文件读取邮件地址输出的代码

    如下的资料是关于python从任意文件读取邮件地址输出的代码. # This script takes whatever you throw at stdin and outputs email ad ...

  9. Java8 新API读取文件内容

    import java.io.IOException;import java.nio.charset.Charset;import java.nio.file.Files;import java.ni ...

随机推荐

  1. Android应用系列:手把手教你做一个小米通讯录(附图附源码)

    前言 最近心血来潮,突然想搞点仿制品玩玩,很不幸小米成为我苦逼的第一个试验品.既然雷布斯的MIUI挺受欢迎的(本人就是其的屌丝用户),所以就拿其中的一些小功能做一些小demo来玩玩.小米的通讯录大家估 ...

  2. vue页面参数闪一下的问题

    解决方法: 直接在外层元素加上v-cloak <div id='app' v-cloak></div>

  3. 关于QT中.pro文件中的相对路径

    被.pro文件中的相对路径给整糊涂了,仔细研究后,原来.pro文件中有两种相对路径. 一种情况下./表示.pro文件所在的目录 另一种情况下./表示构建生成目录 INCLUDEPATH SOURCE ...

  4. leetcode — add-two-numbers

    import java.util.ArrayList; import java.util.LinkedList; import java.util.List; /** * Source : https ...

  5. 分布式计算框架Spark

    Apache Spark是一个开源分布式运算框架,最初是由加州大学柏克莱分校AMPLab所开发. Hadoop MapReduce的每一步完成必须将数据序列化写到分布式文件系统导致效率大幅降低.Spa ...

  6. [转]Using Angular in Visual Studio Code

    本文转自:https://code.visualstudio.com/docs/nodejs/angular-tutorial Using Angular in Visual Studio Code ...

  7. c#实战开发:以太坊Geth 常用命令 (四)

    首先运行客户端  当前命令分为 eth,web3 ,personal ,net 输入 >eth 可以看到该命令下的所有方法 > eth 1.创建用户 personal.newAccount ...

  8. Vue动态新增对象属性

    Vue.set( target, key, value ) 参数: {Object | Array} target {string | number} key {any} value 返回值:设置的值 ...

  9. [PHP] 数据结构-二叉树的创建PHP实现

    1.利用递归的原理,只不过在原来打印结点的地方,改成了生成结点,给结点赋值的操作if(ch=='#'){*T=NULL;}else{malloc();(*T)->data=ch;createFu ...

  10. 【java工具】java常用工具

    java反编译工具 可以将看不懂的.class文件转换成看得懂的.java文件,这样一来就能很方便的读懂别人编写的java代码. findbugs FindBugs-IDEA插件的使用 阿里巴巴Jav ...