среда, 20 октября 2010 г.

Отправка почты от имени почтового контакта

imageИногда возникают такие ситуации, когда требуется отправлять почту из корпоративной учетной записи в MS Outlook, но от имени электронного адреса, находящегося за пределами вашей организации. Например, у вас есть личный почтовый ящик на бесплатном почтовом хостинге вроде mail.ru или gmail.com, вы настроили на нем пересылку на корпоративный ящик и хотите отвечать на письма, пришедшие на него от имени не ящика организации, а от своего личного имени. Или, например, ваша маленькая организация подросла, разорилась на почтовый сервер Exchange 2010 и теперь у вас есть корпоративная почта, но какое-то время необходимо вести переписку от имени старого почтового ящика, типа firma@mail.ru. Ситуации могут быть разные, как и их решения, в этой статье я предлагаю посмотреть на то, как решить данную задачу на сервере Exchange 2010 при помощи почтовых контактов и функции Send As.

Примечание: Сразу хочется предупредить, что письмо, отправленное с вашего почтового сервера, но от имени другого домена, может нарваться на спам-фильтр сервера получателя и не пройти его, к примеру, по причине ошибки SPF или PTR-записи.

Создаем почтовый контакт

Чтобы нам отправлять почту от имени почтового ящика, расположенного в другом адресном пространстве SMTP, необходимо добавить этот почтовый ящик в наш домен. Делается это при помощи создания в Active Directory объекта Контакт. При этом контакту мы можем сопоставить любой адрес электронной почты и он автоматически станет почтовым контактом.

Почтовые контакты — это объекты Active Directory с включенной поддержкой почты, содержащие сведения об отдельных лицах и организациях, существующих вне организации Exchange. У каждого почтового контакта существует внешний адрес электронной почты.

Создать почтовый контакт можно следующим образом:

На сервере Exchange переходим в раздел Recipient Configuration – Mail Contact и выбираем действие New Mail Contact…

clip_image002

Рис.1: Создание нового контакта через EMC.

Создаем новый контакт и в следующем окне визарда заполняем о нем информацию. При этом в поле External e-mail address вводим внешний адрес, с которым он будет связан.

clip_image003

Рис.2: Информация контакта.

После того, как контакт будет создан, он появится в консоли сервера Exchange и в оснастке Active Directory Users and Computers.

Аналогичную процедуру можно проделать и через Exchange Management Shell при помощи команды:

New-MailContact -Name "Test Mail" –Alias "test_m" -ExternalEmailAddress test_m@mail.ru

Если контакт в Active Directory у вас уже создан, то вы можете просто присвоить ему внешний почтовый адрес:

Enable-MailContact -Identity Test -ExternalEmailAddress test@mail.ru

clip_image005

Рис.3: Активация почты для ранее созданного контакта.

Активируем отправку почты от имени контакта

Создав почтовый контакт, мы можем отправлять на него письма прямо из адресной книги Outlook`a, это удобно, но не достаточно. Теперь нужно дать возможность пользователю отправлять почту от имени этого контакта. Что касается обычных почтовых ящиков Exchange, то там все просто – разрешить отправку от имени почтового ящика пользователя можно из графической консоли управления при помощи действия Manage Send As Permissions… Что касается почтовых контактов, то здесь так сделать не получиться. Придется воспользоваться EMS и командой Add-ADPermission. Для выдачи разрешения пользователю User отправлять почту от имени контакта Test Mail необходимо выполнить следующую команду:

Add-ADPermission -Identity "Test Mail" -User User -AccessRights ExtendedRight -ExtendedRights "send as"

clip_image007

Рис.4: Выдача разрешения Send As для почтового контакта.

Аналогичную операцию можно проделать через оснастку Active Directory Users and Computers с включенной функцией просмотра дополнительных функций. Для этого откроем свойства недавно созданного контакта и выберем вкладку Security, здесь нужно будет добавить пользователя и выдать ему разрешение Send As, как показано на рисунке:

clip_image008

Рис.5: Редактирование разрешений контакта через AD.

Примечание: Нужно иметь ввиду, что сделанные изменения применяются не сразу и их активация может занять до двух часов.

Отправка письма от имени контакта

Получив разрешение на отправку писем от имени контакта, пользователь может при создании нового письма выбрать этот контакт из выпадающего меню для поля From: (2), как показано на рисунке:

clip_image010

Рис.6: Отправка письма от имени контакта из MS Outlook 2010.

Единственное, что нужно учесть – это то, что по умолчанию в MS Outlook поле From: скрыто и для его отображения необходимо активировать соответствующую функцию в меню Options, в разделе Show Fields (1). Далее, для отображения всех контактов, необходимо выбрать пункт All Contacts (3) в списке адресных книг и указать необходимый почтовый контакт (4).

Если пользователь работает через Outlook Web App, то у него также в интерфейсе создания нового письма нужно активировать поле From:, делается это через Exchange Control Panel (ECP) (кнопка Options в Outlook Web App) – раздел Settings – вкладка Mail – раздел Message FormatAlways show from.

clip_image012

Рис.7: Включение поля From в Outlook Web App.

Далее делается все точно так же, как и в MS Outlook.

clip_image014

Рис.8: Отправка письма от имени почтового контакта в Outlook Web App.

Заключение

В результате, теперь мы можем отправлять почту от имени любого почтового адреса в сети Интернет, главное не забывать про спам-фильтры получателей, т.к. всегда остается вероятность того, что они сочтут это «поддельное» письмо за спам.

41 комментарий:

Sergey комментирует...

"Если пользователь работает через Outlook Web App, то у него также в интерфейсе создания нового письма нужно активировать поле From:, делается это через Exchange Management Shell"...
Наверное не через EMS, а через ECP?

Алексей Богомолов (Alexx) комментирует...

ОООО :) Да, конечно ECP, спасибо за поправку!

Myst комментирует...

у меня вопрос не совсем по теме:
имею общие папки на сервере MS Exchange 2010 std.
к одной папке привязан smtp-адрес: info@company.com.
ранее было так, что сотрудник мог отсылать писма от имени этого info@company.com.
Появился новый человек, ему тоже требуется работать с этой общей папкой. но новенький отсылает письма как Иванов А.П. от имени info@company.com.
Очень хочется чтобы фамилия не светилась.
Как это сделать? я пробовал с настройками behalf on в свойствах почтового ящика - не помогает.
созда уже отдельного юзера с аналогичным адресом, чтобы проверить может так лучше будет? аналогично.
Full permissions - дают права на чтение и удаление писем из ящика - не то.
Allow send as permissions - тоже нет эффекта.

В настройках общих папок тоже приседания эффекта не дают.

Есть соображения что сделать, чтобы добиться результата?

Алексей Богомолов (Alexx) комментирует...

Если в поле От: написано "Иванов А.П. от имени info@company.com", то это означает, что вы дали разрешения не Send As, а On Behalf!

Анонимный комментирует...

а как пользователю запретить отправлять письма совсем?

Алексей Богомолов (Alexx) комментирует...

>а как пользователю запретить отправлять письма совсем?

Прямо скажу, не обчная задача! :)
Можно придумать несколько вариантов. Первое, что приходит на ум:
1. Сделать транспортное правило специально для него;
2. Отключить все на вкладке Функции почтового ящика в свойствах ящика (в том чиле и MAPI), тогда он его даже не откроет;
3. Можно попробовать поставить на вкладке Параметры потока почты - Параметры доставки - Максимальное количество получателей = 0 (хотя я так ни разу не делал).

Анонимный комментирует...

Спасибо за варианты, сделал через транспортное правило - работает.

Анонимный комментирует...

Доброго времени суток. Хорошая статья. Есть такой вопрос. Как сделать так, чтобы запуская Outlook 2010 и создавая новое сообщение уже сразу по умолчанию предлагалось бы отправить сообщение от имени контакта, а не от имени основной почты?

lexanson комментирует...

Поддерживаю вопрос.
У нас ситуация немного отличается. К ящику пользователю подключен ящик отдела. Пользователю дано право отправлять почту от ящика отдела.
В случае reply на письмо, пришедшее в ящик отдела, поле "От" заполняется адресом отдела.
Но часть пользователей работают в режиме создания новых писем, поэтому им постоянно приходится в адресной книге выбирать контакт отдела для настройки поля "от".
Есть возможность настроить для определенных пользователей автоматическое заполнение поле "от" нужным значением?

Анонимный комментирует...

Алексей, хотелось бы услышать/увидеть вашу статью по виртуализации на различных платформах данной технологии. Желательно с вашими подробными примерами по внедрению реальных решений:) !!!

Алексей Богомолов (Alexx) комментирует...

>хотелось бы услышать/увидеть вашу статью по виртуализации на различных платформах
Честно говоря, не планировал писать про виртуализацию Exchange. Если очень интересно, то предлагаю посмотреть следующие материалы:
http://blogs.technet.com/b/exchange_ru/archive/2010/04/29/exchange-2010-hyper-v-r2.aspx
http://www.vmware.com/solutions/business-critical-apps/exchange/resources.html
http://msexchangeteam.com/archive/2010/11/09/456851.aspx

Анонимный комментирует...

Если Вы пишете по-русски, то пишите не Outlook, а Перспектива, а Windows заменяйте на "окна". Не так звучит, правда? Зато это БУДЕТ ВЕРНО.

eagle комментирует...

пытаюсь сделать тоже самое для группы по статье http://www.exchangerus.ru/2008/05/28/otpravka-pisem-v-microsoft-exchange-server-ot-imeni-gruppy/
при отправке на адрес ошибка

Не удалось выполнить доставку следующим получателям или группам:

ok@domain.ru (ok@domain.ru)
Введенный адрес электронной почты не удалось найти. Проверьте адрес и попытайтесь повторно отправить это сообщение. Если ошибка повторится, обратитесь в службу поддержки.

при отправке от имени пользователя ( стоят все права )

Не удалось выполнить доставку следующим получателям или группам:

Админинистрато
Нельзя отправить сообщение от лица этого пользователя без соответствующего разрешения. Убедитесь, что отправка осуществляется от лица правильного отправителя, или запросите необходимое разрешение. Если проблема будет возникать снова, обратитесь в службу технической поддержки.

Анонимный комментирует...

А как включить/отключить поле From во вкладке Собрание (Meeting). Сотрудник должен отсылать приглашение на собрание не от своего имени, а от имени почтового ящика отдела. А у него вообще нет поля From, когда он создаёт приглашение на собрание.

Алексей Богомолов (Alexx) комментирует...

Думаю, надо включить это поле для обычных сообщений, тогда оно появится и в форме сообщения для Собраний.

Анонимный комментирует...

Нет не помогает. В новых сообщениях есть это поле, а при создании собраний нет.
Появился также другой вопрос: не включается оповещение о новом сообщении, хотя все нужные галочки стоят.

Анонимный комментирует...

Здравствуйте Алексей!
Подскажите, пожалуйста, где искать.
Не приходят вложения на один ящик контакта с корпоративной почты. С других внешних адресов на этот ящик все приходит нормально.

Алексей Богомолов (Alexx) комментирует...

Затрудняюсь ответить.

Vladimir Ryabko комментирует...

Скажите, есть ли возможность запретить пользователю удалять сообщения в общем почтовом ящике?

Анонимный комментирует...

Алексей, у меня задача наоборот :) Есть старые адреса lastname@domain.com , прописал правило: firstname.lastname@domain.com , все письма идут на последний вариант, а мне нужно что бы письма шли на оба варианта в один ящик, пока все привыкнут к новому адресу. Попробовал добавить адрес в E-Mail Addresses профиля пользователя, не вышло, пробовал создать контакт, тоже не получается. Если возможно подскажите как решить эту проблему? Заранее благодарен

Алексей Богомолов (Alexx) комментирует...

У ящика можно прописать несколько SMTP адресов. Попробуйте сначала это сделать руками, а потом, если заработает, настроите нужную EAP.

Анонимный комментирует...

Я так и сделал прописал старый адрес, но идут письма только на новый. MailBox User - Properties - E-mai Addresses - Add.

Анонимный комментирует...

Алексей проблема решилась отключением галочки automatically update email addresses based on email address policy. Спасибо.

Анонимный комментирует...

Добрый день. Задача состоит чуть в другом. у пользователя есть еще один alias. как можно сделать, чтоб в outlook'е была возможность выбрать отправку почты именно от другого alias?

Алексей Богомолов (Alexx) комментирует...

Скорее всего ни как. Сделайте ещё один ящик в Exchange`e и дайте пользователю права на этот ящик. При этом транспортными правилами можно завернуть всю почту с этого фэйкового ящика в нормальный. В врезультате пользователь ни чего не заметит )

Анонимный комментирует...

Есть проблема, путаница у самого в голове дикая...
Но постараюсь как можно понятнее объяснить в чем дело. :)

Планируется ввести в эксплуатацию Exchange 2010.
Организация сложноструктурируемая. Сеть корпоративная, открытого выхода в интернет нет, но предоставляется возможность доступа к "нашему" выделенному ящику в интернете через прокси. (так-то интернет есть, но опять же 2 vpn учетки и постоянно пользоваться ими низя)
Наш домен обзовём domain0.ru, домен где расположен прокси-сервер domain1.ru
Для настройки аутлука под это дело выглядит как pop3.domain1.ru и smtp.domain1.ru под службы и указывается адрес ящика с неким доменом domain2 (user0@domain2.ru) и соответственно пароль к нему.
Так как до момента планирования почтового сервера аутлуком пользовался 1 человек и проблем никаких не возникало в принципе, то сейчас я затрудняюсь как поступить с почтовым ящиком этого пользователя чтобы велась переписка внутри организации, и при этом сохранялась возможность отправлять письма через "внешний" ящик.

На той машине подключаю корпоративный ящик в довесок к существующему, и не совсем становится удобным "выбор" куда и откуда слать письма.

Конечно я понимаю что если хочется удобства нужно потрудится прежде. И всё же никак не могу найти верного решения конкретно под мою ситуацию (ну не знаю как у других, на мой взгляд очень сложная ситуация лепить из того что есть).

И наконец вопросы. :)

Что указать в dns, так как domain2 не простукивается, а связь идёт через domain1 ?

При этом непонятно что делать с внешним ящиком, почтовый контакт как я понял не подходит, значит его нужно создавать, но тогда как пользователь будет подключаться к нему? со своей стороны или связь осуществляется на сервере и идёт переадресация? По идее требуется чтобы при логине в аутлуке подгружались и внутренний и внешний ящики...

И в перспективе если получится так сделать, то можно ведь один и тот же "внешний" ящик подключить нескольким пользователям?

А если еще дальше убежать вперед, то можно сделать аудит кто отправлял\удалял письма и с какой машины?

Анонимный комментирует...

Добрый день.

Подскажите, как отсортировать письма по параметру "от имени" ("on behalf of")? Можно ли настроить такое правило, чтобы по определенному значению данного параметра письмо попадали в необходимые папки?

Александр комментирует...

а у меня такая проблеммка:
необходимо отправлять письма от имени группы (а не от имени пользователя) - это работает.
Но не приходят уведомления о доставке и прочтении.
(ставлю "от" на любого пользователя - приходят, ставлю "от" на группу - не доходят)
Как это можно исправить?

Viktor Ganeles комментирует...

А как можно сделать, что бы определённый пользователь имел возможность отправлять почту от любого имени в компании?

Алексей Богомолов (Alexx) комментирует...

Дать ему права на всех, либо воспользоваться Scripting Agents и сделать так, что при заведении нового пользователя ему на него автоматом раздавались нужные права.

Viktor Ganeles комментирует...

А как дать права на всех?

Алексей Богомолов (Alexx) комментирует...

Использовать PowerShell. Попробуйте
Get-Mailbox | Add-ADPermission -User User -AccessRights ExtendedRight -ExtendedRights "send as"

Анонимный комментирует...

Для отправки писем от другого имени Microsoft сделала дополнительное расширение
Детально смотрите http://so4net.com/index.php/ru/blog/124-settings-exchange-mailbox-from-other

Roy Jonson комментирует...

Алексей доброго времени суток!
Вы писали, что "Создав почтовый контакт, мы можем отправлять на него письма прямо из адресной книги Outlook`a, это удобно, но не достаточно..."
но у меня почему-то созданного контакта не видно, куда можно копнуть?

Анонимный комментирует...

Алексей, добрый день! А подскажите, как отправить письмо от другого почтового ящика?

Алексей Богомолов (Alexx) комментирует...

Надо дать себе права на этот ящик (либо Full, либо Send As...) в результате ящик появится в Outlook`e и когда создаете новое письмо, нужно в поле От: (предварительно это поле надо добавить в форму через меню Options в Outlook`e) выбрать нужный аккаунт

Анонимный комментирует...

Алексей,
Вот такая задача:
На Exchange2010 заведены два почтовых домена.
Один из пользователей имеет один Primary SMTP в первом домене и Secondary SMTP-адрес во втором домене. Он должен иметь возможность отправлять почту и от имени primary и от имени secondary.
Я убрал secondary адрес у пользователя и вместо этого создал в АД по вашей инструкции email-контакт из второго домена. Дал пользователю права на отправку писем от имени этого контакта. Но вот как теперь принять почту которая летит в этот созданный email-контакт? У него же нет ящика.

Алексей Богомолов (Alexx) комментирует...

Либо транспортным правилом заворачивать почту, которая летит в контакт, в ящик пользователя, либо попробовать External SMTP адрес у контакта поставить равным реальному ящику пользователя (не уверен что получится), либо сделать не контакт, а нормальный ящик и подключить этот ящик пользователю как второй.

Unknown комментирует...

Почему-то в OWA 2016 в поле От только адрес пользователя AD, адрес контакта не отображается, можете подсказать куда копать? МБ политики какие?

Alexey Bogomolov комментирует...

К сожалению у меня нет ответа, надо детально разбираться в этом вопросе.

Роман Голубенко комментирует...

Есть Exchange 2010, добавил новый обслуживаемый домен.
Необходимо сделать так чтоб при отправке письма на несуществующий адрес этого домена не приходило сообщение о том что адрес не существует, и письма пересылались на спец. ящик...
Подскажите как это сделать?
Редактировать сообщение

Отправить комментарий