Я хочу доставлять почту по нескольким адресатам, то есть в скрипт php и в почтовый ящик пользователя. Я использую Exim для доставки почты. Я изменил разделы Routers и Transport файла конфигурации exim, как показано ниже. Я разработал собственный транспорт с именем send_to_site. Я могу отправлять заголовки почты в php-скрипт, но не могу отправить электронное письмо в почтовый ящик пользователя. Вот мой индивидуальный транспорт:
######ROUTERScatchall_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
глагол Этот первый маршрутизатор должен передать сообщение сценарию, а второй должен выполнить обычную доставку в почтовый ящик пользователя.
Извините за краткий ответ, пишу с телефона.