我在office365上有一个共享邮箱,该邮箱没有与之关联的用户帐户,即我无法通过office 365门户登录到该邮箱。我可以通过Outlook作为共享邮箱访问它,因此我的帐户有权查看收件箱。
我使用了发现的here的Powershell脚本,除了更改了$mail
和$password
以外,我几乎没有修改它。
如果我使用自己的帐户凭据,则可以遍历foreach循环并观察它访问我的电子邮件,这很棒。但是,我想访问一个名为shared@mailbox.com的共享邮箱,而不是myAccount@mailbox.com。
为尝试执行此操作,我添加了一个用户名变量,并将其传递给$service.credentials
,并将$ mail变量传递给$service.autodiscover
。参见下面的代码。
这不起作用。...
有人可以帮忙吗?
$username="myAccount@mailbox.com"
$password="myPassword"
$mail = "shared@mailbox.com"
# Set the path to your copy of EWS Managed API
$dllpath = "C:\Program Files\Microsoft\Exchange\Web Services\2.2\Microsoft.Exchange.WebServices.dll"
# Load the Assemply
[void][Reflection.Assembly]::LoadFile($dllpath)
# Create a new Exchange service object
$service = new-object Microsoft.Exchange.WebServices.Data.ExchangeService
#These are your O365 credentials
$Service.Credentials = New-Object Microsoft.Exchange.WebServices.Data.WebCredentials($username,$password)
# this TestUrlCallback is purely a security check
$TestUrlCallback = {
param ([string] $url)
if ($url -eq "https://autodiscover-s.outlook.com/autodiscover/autodiscover.xml") {$true} else {$false}
}
# Autodiscover using the mail address set above
$service.AutodiscoverUrl($mail,$TestUrlCallback)