Назад | Перейти на главную страницу

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

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

######ROUTERS
catchall_mail:
  driver = accept
  domains = my.server.com
  transport = send_to_site
#####TRANSPORT
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.

Я преодолел эту проблему через долгое время. В разделе «Маршрутизаторы» я написал свой собственный маршрутизатор, который будет доставлять электронную почту на мой желаемый скрипт 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 был моим предназначенным сценарием.

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

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