当您说“PHP 脚本”时,您是指其他地方的网络服务器上的 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
Run Code Online (Sandbox Code Playgroud)
如果您使用 Debian 的“拆分配置”选项,您将在/etc/exim4/conf.d/transport/
其中创建一个文件。在command
这里将通过整个电子邮件(头和身体)mail.php
的变量$_REQUEST["mail"]
。您需要让 PHP 脚本处理标头。
要触发传输,您需要router
配置一个与您想要接收的任何电子邮件相匹配的配置,并使用上述内容transport
发送它。使用拆分配置,路由器进入/etc/exim4/conf.d/router/
。为了捕获特定域的所有邮件,我尚未对此进行测试,但我认为这是正确的:
catchall_mail:
driver = accept
domains = mydomain.com
transport = send_to_site
Run Code Online (Sandbox Code Playgroud)
Debian 将路由器目录中的文件编号以设置路由器签入的顺序。第一个匹配的路由器将用于处理电子邮件。从我这里的配置来看,您可能希望将自己的编号设置为 450 左右,以便在别名之后和处理本地用户(如hubusers
和 )的路由器之前procmail
。
将这些文件添加到传输和路由器目录后,您需要运行update-exim4.conf
以让 Debian 创建 exim 实际读取的配置文件。
归档时间: |
|
查看次数: |
4425 次 |
最近记录: |