Пытаюсь настроить отправку всей домашней почты через exim. Нужно, чтобы в зависимости от адреса отправителя MTA отправлял письмо через соответствующий сервер. Проблема в том, что на некоторых серверах есть несколько аккаунтов (например, на smtp.gmail.com - несколько аккаунтов googleapps от разных доменов), а я не нашёл способа передать информацию о текущем письме в аутентификатор (подобно передаче address_data с роутера в транспорт). Есть ли какой-то способ реализовать подобную задумку?
а я не нашёл
>способа передать информацию о текущем письме в аутентификатор (подобно передаче address_data
>с роутера в транспорт). Есть ли какой-то способ реализовать подобную задумку?
>временные переменные acl_c.. и/или acl_m..
> временные переменные acl_c.. и/или acl_m..Хм. В документации сказано только про их видимость в транспортах, роутерах и в фильтрах, про аутентификаторы ничего не сказано. Впрочем, надо будет попробовать.
>> временные переменные acl_c.. и/или acl_m..
>
>Хм. В документации сказано только про их видимость в транспортах, роутерах и
>в фильтрах, про аутентификаторы ничего не сказано. Впрочем, надо будет попробовать.
>А зачем тебе аутентификаторы? они выполняют задачу авторизации на локальном мта. Для авторизации на удалённом мта, используют роутер smarthost.
А может быть я неверно понял постановку задачи? Если тебя нужно в зависимости от логина авторизации на локальном мта, выбирать хост/логин/пароль для дальнейшей доставки письма, то использовать можно authenticated_id
>А зачем тебе аутентификаторы? они выполняют задачу авторизации на локальном мта. Для
>авторизации на удалённом мта, используют роутер smarthost.А как можно в роутере прописать авторизацию? Насколько я видел, при использовании смартхоста авторизация тоже прописывалась в аутентификаторах, через
client_name = ...
client_secret = ....>А может быть я неверно понял постановку задачи? Если тебя нужно в
>зависимости от логина авторизации на локальном мта, выбирать хост/логин/пароль для дальнейшей
>доставки письма, то использовать можно authenticated_idНет, не в зависимости от логина, а в зависимости от адреса отправителя. Один пользователь может отправлять через MTA письма со всех своих ящиков, скажем, два разных ящика на gmail.com, один на mail.ru и т.д. Логин авторизации на локальном мта при этом будет один, а адреса отправителя - разные. Нужно подключиться к соответствующему смартхосту (напр., smtp.gmail.com при обратном адресе @gmail.com), и выбрать логин/пароль, соответствующие данному отправителю.
>>А зачем тебе аутентификаторы? они выполняют задачу авторизации на локальном мта. Для
>>авторизации на удалённом мта, используют роутер smarthost.
>
>А как можно в роутере прописать авторизацию? Насколько я видел, при использовании
>смартхоста авторизация тоже прописывалась в аутентификаторах, через
>client_name = ...
>client_secret = ....
>всё верно, моя ошибка
>Нет, не в зависимости от логина, а в зависимости от адреса отправителя.
>Один пользователь может отправлять через MTA письма со всех своих ящиков,
>скажем, два разных ящика на gmail.com, один на mail.ru и т.д.
>Логин авторизации на локальном мта при этом будет один, а адреса
>отправителя - разные. Нужно подключиться к соответствующему смартхосту (напр., smtp.gmail.com при
>обратном адресе @gmail.com), и выбрать логин/пароль, соответствующие данному отправителю.тогда всё просто:
в manualrouter-е формируем route_data для каждого домена на основе $sender_address_domain, ну а $sender_address виден в аутентификаторах. Логин/пароль для client_send вытаскиваем из хранилища, где ключ $sender_address