谁能告诉我我在这里做错了什么?
文档说我可以为联系人启用邮件,但我收到一个奇怪的错误:
“此任务不支持此类型的收件人。指定的收件人 foo 属于 MailContact 类型。请确保此收件人与此任务所需的收件人类型相匹配。”
这是我正在做的事情:
[PS] C:\Windows\system32>New-MailContact -name foo -ExternalEmailAddress [email protected]
Name Alias RecipientType
---- ----- -------------
foo foo MailContact
[PS] C:\Windows\system32>Enable-MailContact -Identity foo -ExternalEmailAddress [email protected]
This task does not support recipients of this type. The specified recipient foo is of type MailContact. Please make sure that this recipient matches the required recipient type for this task.
+ CategoryInfo : InvalidArgument: (foo.com/Users/foo:ADObjectId) [Enable-MailContact], RecipientTaskException
+ FullyQualifiedErrorId : 44F11290,Microsoft.Exchange.Management.Recipient Tasks.EnableMailContact
+ PSComputerName : exchange.foo.com
更奇怪的是,我可以从我的域内向“foo”联系人发送邮件,然后邮件被转发到“[电子邮件保护]',但由于某种原因,它不会反弹来自外部的邮件(所有其他传入邮件均正常)。
答案1
您不需要“启用”联系人,因为您使用了 new-mailcontact cmdlet(即它已经启用邮件)。
enable 命令仅适用于在 Active Directory 中创建的联系人(无关联交换对象)。运行 enable-mailcontact,此处会创建与 AD 联系人匹配的关联交换对象。
答案2
RequireSenderAuthenticationEnabled
使用Get-MailContact -identity foo | FL
Exchange PowerShell检查属性。
如果此属性为True
,则只有域内的发件人(经过身份验证的发件人)可以向联系人发送消息。如果False
,则 Exchange 将从外部(未经身份验证)中继消息。
Jesus Shelby 的回答也是正确的。关于“启用”联系人,您无需再做任何事情。它已准备好执行其任务。