В Exchange Server и Exchange Online (Microsoft 365) можно включить переадресацию на уровне всего ящика (настраивает администратор с помощью атрибута ForwardingsmtpAddress), с помощью входящих правил в почтовом ящике или в Outlook с помощью атрибута ForwardingSMTPAddress (пользователи настраивают самостоятельно).
Как настроить пересылку почты для ящика через Exchange Admin Center?
Вы можете включить/отключить пересылку почты для ящика через Exchange Admin Center:
- Подключитесь к веб интерфейсу EAC;
- Перейдите в раздел Recipients -> выберите почтовый ящик -> Edit
- Перейдите на вкладку Mailbox Features -> прокрутите до Mail Flow -> View details;
- Включите опию Enable forwarding, выберите ящик на который нужно пересылать письма;
- Можете дополнительно включить опцию Deliver message to the both forwarding address and mailbox.
Включить переадресацию в Exchange с помощью PowerShell
Я предпочитаю использовать PowerShell, чтобы включить/отключить переадресацию на ящиках Exchange.
В Exchange есть два атрибута, которые позволяют настроить переадресацию для ящика:
-
ForwardingAddress
-
ForwardingSmtpAddress
Атрибут ForwardingSmtpAddress позволяет настроить пересылку на любой внутренний или внешний SMTP адрес. Пользователи могут настроить адрес пересылки в этом атрибуте через графический интерфейс Outlook/OWA. Если здесь указан внешний SMTP адрес, то такая пересылка будет работать только для доверенных внешних доменов, которые администратор добавил в Remote Domains и разрешил пересылку:
Get-RemoteDomain | fl DomainName,AutoForwardEnabled
Атрибут ForwardingAddress позволяет администратору настроить пересылку почты на любой mail-enabled обьект в организации. Пользователи не могут изменить значение этого атрибута.
Подключитесь к своей почтовой организации с помощью PowerShell:
- Если вы используете on-premises Exchange Server, подключитесь к нему с помощью команд:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://msk-exch1.winitpro.ru/PowerShell/ -Authentication Kerberos -Credential $UserCredential - Для подключения к тенанту Microsoft 365 можно использовать модуль Exchange Online PowerShell:
Connect-ExchangeOnline -UserPrincipalName [email protected] -ShowProgress $true
Можно использовать аутентификацию в Microsoft 365 по сертификату.
Чтобы включить автоматическую переадресацию всех писем на другой ящик в вашем домене, выполните команду:
Set-Mailbox [email protected] -ForwardingAddress [email protected] -DeliverToMailboxAndForward $true
В этом примере все письма, которые направляются на ящик a.petrov будут автоматически переадресованы в ящик kbuldogov. Опция DeliverToMailboxAndForward указывает, что нужно сохранить копию письма в исходном ящике. Если указать
DeliverToMailboxAndForward $false
, письма не будут сохраняться в почтовом ящике первоначального адресата.
Вы можете проверить, включена ли переадресация на определенном ящике:
Get-Mailbox -Identity [email protected] |fl ForwardingAddress, ForwardingSmtpAddress, DeliverToMailboxAndForward
Чтобы отключить автоматическую переадресацию, выполните:
Set-Mailbox -Identity [email protected] -DeliverToMailboxAndForward $False -ForwardingAddress $null -ForwardingSmtpAddress $null
Найти все ящики в организации, для которых включена автоматическая пересылка:
Get-Mailbox -ResultSize Unlimited -Filter "ForwardingAddress -like '*' -or ForwardingSmtpAddress -like '*'" | Select-Object Name,ForwardingAddress,ForwardingSmtpAddress
Если для почтового ящика включена переадресация с помощью обоих атрибутов ForwardingAddress и ForwardingSMTPAddress, то значение последнего будет игнорироваться как менее приоритетное.
Если вы хотите настроить переадресацию на внешний SMTP адрес с помощью атрибута ForwardingAddress, для такого адреса нужно создать контакт:
New-MailContact -Name "ext. Andrey Petrov" -ExternalEmailAddress "[email protected]"
Теперь для контакта нужно настроить внутренний email адрес:
Set-MailContact "ext. Andrey Petrov" -EmailAddresses "SMTP:ext_a.petrov @winitpro.ru,[email protected]"
Теперь с помощью Set-Mailbox вы можете настроить переадресацию на этот внешний контакт.
Кроме пересылки на уровне всего ящика, пользователи и администраторы могут настраивать почтовые правила в Outlook для пересылки для входящих писем.
Например, администратор может создать правило, которое будет пересылать все письма с определенной темой на другой адрес:
New-InboxRule -Name forwardDCAlertstoHelpdesk -Mailbox a.ivanov -SubjectContainsWords "DCAlert" -ForwardTo "Helpdesk"
Вы можете вывести список правил переадресации почты на уровне правил Outlook для всех ящиков пользователей в организации:
$mailboxes=get-mailbox –resultSize unlimited
$rules = $mailboxes | foreach { get-inboxRule –mailbox $_.alias }
$rules | where { ( $_.forwardAsAttachmentTo –ne $NULL ) –or ( $_.forwardTo –ne $NULL ) –or ( $_.redirectTo –ne $NULL ) } | ft name, MailboxOwnerId, ForwardTo, Description