Страница 1 из 1

Замена адреса.

Добавлено: 2016-05-31 14:54:49
shuric80
Здравствуйте.
Такая задача. При приеме почты сервер должен сделать POST запрос, в теле запроса адрес получателя, возвращается другой адрес и полученный адрес вставляется вместо старого. Формат -json.
Письма приходят вида UUID@domain.ru (UUID на стороне генерятся). Сервер запрашивает и подставляет реальные адреса и отправляет далее.
Пока тестовый конфиг такой. Незнаю как принимать и парсить принимаемое.

Код: Выделить всё

begin routers
test:
    driver = accept
    domains = ! +local_domains
    local_part_prefix = ticket-
    transport = test

begin transports
test:
    driver = pipe  
    command = curl -X POST -d '{"email":"$local_part@$domain"}' http://0.0.0.0:8080/ticket
    debug_print = "Test transport:"

Замена адреса.

Добавлено: 2016-05-31 16:13:13
xM
Ничего не понял.
Но если вам нужно менять адрес то см. rewrite
http://www.exim.org/exim-html-current/d ... iting.html

Замена адреса.

Добавлено: 2016-06-01 9:30:40
shuric80
Сумбурно объяснил. Долго копался и пришел к такому конфигу.

Код: Выделить всё

begin routers
test:
    driver = redirect
    domains = example.com  
    data = ${run{curl  -X POST -d '\{"email":"$local_part@@domain"\}'  http://0.0.0.0:8080/ticket}{$value}{err}}
При проверке роутер не срабатывает.

Код: Выделить всё

troll@troll-desktop :\> exim -bt test@test.ru                                                                                            :)
R: smarthost for test@test.ru
test@test.ru
  router = smarthost, transport = remote_smtp_smarthost
  host gmail-smtp-msa.l.google.com [2a00:1450:4010:c0d::6d]  port=587
  host gmail-smtp-msa.l.google.com [173.194.73.108]          port=587
  host gmail-smtp-msa.l.google.com [173.194.73.109]          port=587