我不知道邮件传递.
但我需要将所有传入的电子邮件(*@mydomain.com)重定向到一个PHP脚本.
我正在使用debian
存在一个简单的邮件服务器来执行此操作? (没有exim,postfix等)
如果没有exim,postfix等这是不可能的,我怎么能这样做?
谢谢!
当您说“PHP脚本”时,您是指其他地方的Web服务器上的PHP脚本,还是本地命令行上运行的PHP脚本?
我已经使用exim4和curl将邮件发送到其他地方,通过创建自定义传输,如下所示:
send_to_site: driver = pipe command = /usr/bin/curl https://example.com/mail.PHP --data-urlencode "mail@-" user = nobody group = nogroup return_path_add delivery_date_add envelope_to_add
如果您使用的是Debian的“拆分配置”选项,您可以在/etc/exim4/conf.d/transport/中创建一个文件.这里的命令将整个电子邮件(标题和正文)传递给变量$_REQUEST [“mail”]中的mail.PHP.您需要让PHP脚本处理标头.
要触发传输,您需要配置一个匹配您想要接收的电子邮件的路由器,并使用上述传输来发送它.使用拆分配置,路由器进入/etc/exim4/conf.d/router/.为了捕获特定域的所有邮件,我没有测试过这个,但我认为这是正确的:
catchall_mail: driver = accept domains = mydomain.com transport = send_to_site
Debian对路由器目录中的文件进行编号,以设置路由器签入的顺序.第一个匹配的路由器将用于处理电子邮件.从我在这里的配置中,您可能希望在450左右之后编号,以便在处理本地用户(如hubusers和procmail)的路由器之前使用别名.
将这些文件添加到传输和路由器目录后,您需要运行update-exim4.conf以让Debian创建exim实际读取的配置文件.