Отправка почты нескольким получателям с помощью Exim

Отправка почты нескольким получателям с помощью Exim

Я хочу доставлять почту по нескольким адресатам, то есть в скрипт php и в почтовый ящик пользователя. Я использую Exim для доставки почты. Я изменил разделы Routers и Transport файла конфигурации exim, как показано ниже. Я разработал собственный транспорт с именем send_to_site. Я могу отправлять заголовки почты в скрипт php, но не могу отправлять почту в почтовый ящик пользователя. Вот мой настроенный транспорт:

######МАРШРУТИЗАТОРЫ
catchall_mail:
  driver = accept
  domains = my.server.com
  transport = send_to_site
#####ТРАНСПОРТ
send_to_site:
    driver = pipe
    command = /home/bin/curl http://my.server.com/mailTest.php --data-urlencode "mail@-"
    user = afterlogic
    group = afterlogic
    return_path_add
    delivery_date_add
    envelope_to_add

Где mailTest.php — мой PHP-скрипт.

решение1

Я преодолел эту проблему после долгого времени. В разделе маршрутизаторов написал свой собственный маршрутизатор, который будет доставлять почту на нужный мне скрипт php. В разделе транспорта написал свой собственный транспорт, который будет обеспечивать доставку на нужный скрипт с помощью curl. Просто написал следующие конфигурации в своем /etc/exim.cnfфайле:

############ROUTERS
runscript:
        driver = accept
        transport = run_script
        unseen
        no_expn
        no_verify
############TRANSPORT
run_script:
     debug_print = "T: run_script for $local_part@$domain"
     driver = pipe
     command = /home/bin/curl http://my.domain.com/mailTest.php --data-urlencode $original_local_part@$original_domain

Где mailTest.php был моим предназначенным скриптом.

решение2

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

Извините за краткий ответ, пишу с телефона.

Связанный контент