Я пытаюсь настроить exim для ретрансляции почты через учетную запись Office 365. Я могу найти довольно много примеров того, как это сделать через postfix, но почти ни одного на exim.
Это вообще возможно? Идея заключается в том, чтобы установить exim в нашей локальной сети, к которой могут подключаться принтеры, факсимильные аппараты, коммутаторы и другие приложения и загружать почту. Затем Exim будет ретранслировать эту почту через предопределенную учетную запись O365.
Спасибо,
м^е.
решение1
Вам нужен smarthost_auth
маршрутизатор (вы можете придумать для него любое имя), в routers
разделе (т.е. тот, который начинается с begin routers
); порядок важен, и учитывая, как вся почта должна отправляться на сервер O365, поместите его в начало маршрутизаторов:
smarthost_auth:
debug_print = "R: smarthost for $local_part@$domain"
driver = manualroute
domains = ! +local_domains
transport = smtp_smarthost_auth
route_list = * o365server.example.com byname
host_find_failed = defer
same_domain_copy_routing = yes
no_more
Вы можете заменить domains
строку на domains = *
ifвсепочта должна отправляться на сервер O365; укажите в route_list
строке правильное имя хоста для этого сервера.
Затем вам нужен этот транспорт (опять же, я выбрал название, измените его, если хотите); поместите его в раздел, начинающийся с begin transports
, порядок не важен:
smtp_smarthost_auth:
debug_print = "T: remote_smtp_smarthost for $local_part@$domain"
driver = smtp
hosts_require_auth = *
Наконец, вам нужен соответствующий аутентификатор после строки begin authenticators
. Предположительно, в вашей конфигурации уже есть cram_md5
, plain
и login
строфа там. Например, что-то вроде этого:
cram_md5:
driver = cram_md5
public_name = CRAM-MD5
client_name = MyName
client_secret = MySecret
fixed_plain:
driver = plaintext
public_name = PLAIN
client_send = ^MyName^MySecret
fixed_login:
driver = plaintext
public_name = LOGIN
client_send = : MyName : MySecret
Конечно, замените MyName
и MySecret
.