I need some serious help.
I am using Postfix mail on Ubuntu 14.04.1.
I want to "run the PHP script when the Postfix server receives mail" After the investigation and the help of many users. I first set up " postfix " and " Postfix virtual Aliases " (I don’t know about it) and wrote my php code, but the output of my script is always empty. Below are all the necessary files that will allow you to detect my error.
main.cf
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
append_dot_mydomain = no
readme_directory = no
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = localhost
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = domain1.com, panawara.org, panawaredev-MS-7788, localhost.localdomain, localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = all
home_mailbox = Maildir/
virtual_mailbox_domains = /etc/postfix/vhosts
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = hash:/etc/postfix/vmaps
virtual_minimum_uid = 1000
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
master.cf
pickup unix n - - 60 1 pickup
pickup fifo n - - 60 1 pickup
-o content_filter=filter:dummy
cleanup unix n - - - 0 cleanup
qmgr unix n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
smtp inet n - - - - smtpd
-o content_filter=filter:dummy
filter unix - n n - - pipe
flags=Rq user=vmail null_sender=
argv=/home/panawaredev/Documents/postfix.php ${sender} -- ${recipient}
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
mailman unix - n n - - pipe
flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
${nexthop} ${user}
postfix.php
<?php
$file = fopen("postfixtest", "a");
fwrite($file, "Script successfully ran at ".date("Y-m-d H:i:s")."\n");
$fd = fopen("php://stdin", "r");
$email = "first test";
while (!feof($fd)) {
$line = fread($fd, 1024);
$email .= $line;
echo ".";
}
echo $email;
fclose($fd);
fwrite($file, $email);
fclose($file);
?>
mail log file
Apr 12 22:43:16 panawaredev-MS-7788 postfix/cleanup[10886]: 4B84620ECC: message-id=<20150412214316.4B84620ECC@localhost>
Apr 12 22:43:16 panawaredev-MS-7788 postfix/bounce[10891]: 3680120ECA: sender non-delivery notification: 4B84620ECC
Apr 12 22:43:16 panawaredev-MS-7788 postfix/qmgr[10293]: 4B84620ECC: from=<>, size=2234, nrcpt=1 (queue active)
Apr 12 22:43:16 panawaredev-MS-7788 postfix/qmgr[10293]: 3680120ECA: removed
Apr 12 22:43:16 panawaredev-MS-7788 postfix/local[10892]: 4B84620ECC: to=<panawaredev@panawara.org>, relay=local, delay=0.07, delays=0.03/0/0/0.03, dsn=2.0.0, status=sent (delivered to maildir)
Apr 12 22:43:16 panawaredev-MS-7788 postfix/qmgr[10293]: 4B84620ECC: removed
Is this the correct way to "Run a PHP script when your Postfix server receives mail"? I am
, - , . 