
Quiero entregar correo a múltiples destinos, es decir, a un script php y al buzón de un usuario. Estoy usando Exim para entregar correos electrónicos. He cambiado las secciones Enrutadores y Transporte del archivo de configuración exim como se muestra a continuación. He diseñado un transporte personalizado llamado send_to_site. Puedo enviar encabezados de correo al script php pero no puedo enviar correos electrónicos al buzón del usuario. Aquí está mi Transporte personalizado:
######ENRUTADOREScatchall_mail:
driver = accept
domains = my.server.com
transport = send_to_site
#####TRANSPORTE
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
Donde mailTest.php es mi script php.
Respuesta1
Superé este problema después de mucho tiempo. En la sección de enrutadores escribí mi propio enrutador personalizado que entregará el correo electrónico a mi script php deseado. En la sección de transporte escribí mi propio transporte personalizado que garantizará la entrega al script deseado usando curl. Acabo de escribir las siguientes configuraciones en mi /etc/exim.cnf
archivo:
############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
Donde mailTest.php era mi script destinado.
Respuesta2
Tienes que crear dos enrutadores donde el primero debería tener unseen
el verbo. Ese primer enrutador debe canalizar el mensaje al script, mientras que el segundo debe realizar la entrega habitual al buzón del usuario.
Perdón por la breve respuesta, estoy publicando desde el teléfono.