我正在为我的linux邮件服务器使用postfix。目标是将任何传入邮件转储到带有标头和邮件信息的数据库中,然后从邮件服务器中删除电子邮件。有没有办法让postfix在每次收到新电子邮件时将消息发布到php文件然后删除电子邮件?我可以看到制作脚本来轮询电子邮件服务器,读取每封邮件并将内容传输到数据库,然后从邮件服务器中删除邮件的唯一方法。能够让postfix自动执行所有新传入邮件的PHP脚本将是一个更好的选择。如果它有所不同,邮件服务器和带有php文件的服务器是相同的。任何方向都会受到高度赞赏。
答案 0 :(得分:2)
使用.forward,/ etc / aliases,hashtable等将邮件转发给脚本。
在/ etc / aliases中,我有
mysite-confirm: |/home/mysite/confirm.sh
在confirm.sh中,我有
#!/bin/sh
basedir=/home/mysite/www
php -d include_path=$basedir/includes -f $basedir/cli/confirm.php
在confirm.php中,神奇的事情发生了:
$contents = file_get_contents("php://stdin");
do_magic_with_mail($contents);
一切都非常简单和僵化。唯一的缺点是你可以邮寄mysite-confirm@any_domain_I_host.com,但你可以用正确的别名/虚拟地图等修复它。