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?

Iemand die kan helpen

mvg

Als je zelf mails wilt verwerken door PHP kan je beter verdiepen of je dit via e-mail piping kan doen. Dat is een regel die duidelijk maakt dat mails die binnenkomen naar PHP worden doorgestuurd, zodat je die output zelf kan afhandelen.

Hoe dit werkt ligt aan je control-panel die je gebruikt en/of aan de mailsoftware op de server.
inderdaad: via pipe wordt de mail altijd direct aan het script gegeven en komt dus niet in een mailbox te staan. Je bent dan ook niet afhankelijk van problemen als
- cron draait een dagje niet
- mailbox onbereikbaar door veranderd password
- mailbox vol

Wel is te overwegen om de mailtjes CC naar een andere, echte, mailbox te laten gaan, om je script te kunnen controleren in het begin.
osTicket maakt b.v. gebruik van Email Piping, zoals hierboven beschreven.
http://osticket.com/wiki/Email_Piping

Hier wat meer informatie uit hun documentatie voor het instellen hiervan.
Je zou ook hun script "/path/to/api/pipe.php" kunnen analyseren hoe ze het scriptgewijs verwerken.
Correct. En het komt in feite gewoon neer op het lezen van php://stdin, waarin je dan de complete mail inclusief headers etc ontvangt. Hier zal dus wat parsing aan te pas komen, te meer omdat je al snel te maken krijgt met multipart/alternative etc. Als je bijlagen accepteert zul je dat ook moeten afhandelen. Kortom: om het goed te doen heeft wat voeten in de aarde.
Is het trouwens niet veel makkelijker om een contact formulier te maken die de gegevens gelijk in de database zet? En vervolgens eventueel nog mailen naar iemand.
Om te kunnen garanderen dat de formatting is zoals je die wil hebben is dat inderdaad het handigst. Anders zit je afhankelijk van je wensen mbt wat wordt overgenomen uit emails al heel snel naar iets te kijken dat een webmail client is, maar toch net niet.
ontvangen via email heeft het voordeel, dat je elke mail zo af kunt vangen en dat je niet je potentiele klanten eerst naar je website moet sturen om daar de vraag in te vullen.

Let er bij het schrijven wel op, dat het de mailserver (sendmail ?) is die het script moet kunnen uitvoeren. En die moet dus allereerst het script kunnen zien (dus niet in je home/dir/ plaatsen) en dat hij ook dat script zelf uitvoeren
Ivo P op 23/08/2017 12:25:06

ontvangen via email heeft het voordeel, dat je elke mail zo af kunt vangen en dat je niet je potentiele klanten eerst naar je website moet sturen om daar de vraag in te vullen.


Hij heeft wel aangegeven dat hij bezig is met een systeem en heeft het over 'bezoekers'. Dus dan zou hij in zijn systeem een dergelijke module kunnen bouwen.

Reageren