Door
Jesper S
op 22-08-2017 15:53
gewijzigd op 22-08-2017 15:58
4.847 views
Hallo PHPHulp,
Ik ben bezig met een systeem.
Nu wil ik het volgende.
De bezoeker heeft een vraag en emailt naar contact@******.net
De website leest met PHP de email en zet hem in de database, de afzender, tijd en bericht.
Hoe moet ik zoiets maken? Met een cronjob dacht ik zelf?
In mijn geval is "systeem" vrijwel altijd een backend, maar dat kun je inderdaad ook als een front-end lezen.
Als het op een gekoppelde site (zelfde server) ingevuld kan worden, dan heb je wel meer zeggenschap over de data en het verwerken. Dan zou ik niet eerst de mail aanbieden aan een mailserver om hem op een (dezelfde?) mailserver weer in te lezen.
Dan heb je a) veel overhead en headers extra, en b) zeker als het over meerdere servers gaat, kan op verloren gaan van de mails.
Uiteraard het executable bit niet vergeten, voor ter hoogte van de uitvoerende gebruiker. Normaliter zal dat een u+rx zijn, maar voor email piping zal het waarschijnlijk o+rx zijn, omdat de mailserver uiteraard niet onder jouw gebruiker draait.
Log in op directadmin als de user waar het onder moet werken.
Maak een forwarder aan, b.v.: test@DIRECTADMINDOMEIN
Destination e-mail moet zijn:
"|/usr/local/bin/php -q /home/DIRECTADMINUSER/domains/DIRECTADMINDOMEIN/public_html/pipe.php"
Als je nu mailt naar test@DIRECTADMINDOMEIN wordt dit gestuurd naar het bestand pipe.php in je home directory.
De teksten met hoofdletter vervangen naar jouw situatie ;)
Toch blijf ik er bij, is het niet veel makkelijker om je vragen GELIJK in te voeren in de database, in plaats van ze eerst te mailen en dan terug uit te lezen?