Op school zijn wij bezig met het bouwen van een webwinkel in PHP. Voor de communicatie met de partnerbedrijven moeten we XML-berichten gebruiken die we versturen via e-mail. Het probleem waar we nu mee zitten is, dat wanneer er een e-mailbericht binnenkomt, deze automatisch door een php-script verwerkt moet worden. Een mogelijk oplossing zou zijn om het script elke X minuten te laten kijken of er nieuwe mail binnen is gekomen en als deze er is, deze te laten verwerken. Dit is eigenlijk niet wat we zoeken omdat we dan in het worst-case scenario X minuten zouden moeten wachten op verwerking van het bericht. We zijn dus opzoek naar een manier om de e-mailberichten meteen te verwerken zodra ze binnenkomen. Een bijkomend voordeel hierbij is dat we vrij zijn in de keuze van de mailserver, omdat tijdens de presentatie alles lokaal moet draaien. Een nadeel is dat de oplossing onder windows (XP/2000) moet werken, want onder linux/unix had ik al de volgende oplossing gevonden: Mailbot in PHP
Onder linux kun je het idd met .forward files e.d. doen.
Onder Windows hangt het nogal af van welke mailserver software je gebruikt. Iets meer informatie zou dus handig zijn.
Onder Windows hangt het nogal af van welke mailserver software je gebruikt. Iets meer informatie zou dus handig zijn.
Verwijderd
Je zou een cron kunnen instellen die elke minuut het PHP script aanroept (gewoon iemand vragen die een server heeft..of die even elke minuut jou phptje wilt aanroepen.. op een linux server kan het zelf ook .. cron -e )
[ Voor 51% gewijzigd door Verwijderd op 07-01-2003 00:06 ]
We hebben dus nog geen mailserver uitgekozen, als iemand ons dus aan een mailserver zou kunnen helpen die dit ondersteund dan zijn we al een eind verder.MikeN schreef op 07 januari 2003 @ 00:05:
Onder linux kun je het idd met .forward files e.d. doen.
Onder Windows hangt het nogal af van welke mailserver software je gebruikt. Iets meer informatie zou dus handig zijn.
je kun natuurlijk gewoon ieder bezoeker een script laten starten, dit kan dan eventueel random of na een bepaalde periode,
maar je kunt dan php met de smtp functies gewoon de mails opvragen uitlezen en deleten, ik zelf doe ook zo iets, ik krijg namenlijk elke nacht een mailtje met stats binnen dat ik moet verwerken, en dus laat ik iedere user vanaf 23:00 dit mail-lees script draaien via een include. zodra de mail gelezen is voeg ik deze toe aan de database en houd het checken op. zeer makkenlijk en zonder cron jobs.
maar je kunt dan php met de smtp functies gewoon de mails opvragen uitlezen en deleten, ik zelf doe ook zo iets, ik krijg namenlijk elke nacht een mailtje met stats binnen dat ik moet verwerken, en dus laat ik iedere user vanaf 23:00 dit mail-lees script draaien via een include. zodra de mail gelezen is voeg ik deze toe aan de database en houd het checken op. zeer makkenlijk en zonder cron jobs.
openkat.nl al gezien?
Verwijderd
@Killer, beetje overbodig om al je bezoekers een script uit te laten voeren. Een cron bespaart dataverkeer..
Verwijderd
Wat heeft dataverkeer met het aanroepen van een script te maken?Verwijderd schreef op 07 januari 2003 @ 00:12:
@Killer, beetje overbodig om al je bezoekers een script uit te laten voeren. Een cron bespaart dataverkeer..
En de topicstarter wil geen cronjobs draaien en sterker nog, hij werkt helemaal niet met Linux.
Misschien kun je kijken of je mailserver een event kan koppelen na het ontvangen van een bericht. Net zoiets als dat een mailserver een virusscanner start op het moment dat er een mailtje binnenkomt.
Maar weet iemand een mailserver die dit ondersteunt?
misschien dat ze je in Software Algemeen kunnen helpen..
Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."
Verwijderd
MS Outlook heeft VB-script die je schijnt aan te kunnen roepen als je een nieuw bericht ontvangt... misschien is wat?
MS Outlook != mailserver, maar een client.
En dat is volgens mij niet wat de topicstarter wilt..
En dat is volgens mij niet wat de topicstarter wilt..
mogelijk oplossing zou zijn om het script elke X minuten te laten kijken of er nieuwe mail binnen is gekomen en als deze er is, deze te laten verwerken. Dit is eigenlijk niet wat we zoeken omdat we dan in het worst-case scenario X minuten zouden moeten wachten op verwerking van het bericht.
Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."
Waarom bepaart een cron bandbreedte?, als php toch serverside, dan maakt het dus helemaal niks uit maakt voor dataverkeer.@Killer, beetje overbodig om al je bezoekers een script uit te laten voeren. Een cron bespaart dataverkeer.
Vind zelf dat idee killercow wel goed, maar dit ligt naturlijk aan, wat er in een e-mailtje staat dat verwerkt moet worden. Hoe hoog is de prioriteit dat het snel verwerkt wordt?
Anders zit er denk ik niks anders op dan een cron. Of een andere taal zoals java, die je dan op de achtergrond laat draaien als een programmatje i.p.v. elke keer php-bestand te laten starten elke x-minuten
Wanneer het emailtje ook door een script gegenereerd word kan je de code die in het mailtje komt te staan net zo goed ineens uitvoeren zoals killercow al vermelde. Daarnaast kan je als referentie / redundentie het betreffende mailtje versturen.
is niet van toepassing, denk ik:stekkel schreef op 07 januari 2003 @ 15:14:
Wanneer het emailtje ook door een script gegenereerd word kan je de code die in het mailtje komt te staan net zo goed ineens uitvoeren zoals killercow al vermelde. Daarnaast kan je als referentie / redundentie het betreffende mailtje versturen.
Voor de communicatie met de partnerbedrijven moeten we XML-berichten gebruiken die we versturen via e-mail.
Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."
Verwijderd
Het versturen van email binnen een Windows server kan met de SMTP server die je als onderdeel van IIS kan installeren. Je kunt dan gebruik maken van de CDO objecten via COM, maar makkelijker is het om een SMTP verbinding op te zetten, en dat kan met mail() binnen PHP wel.
Het ontvangen van mail ligt lastiger, zeker als je na het ontvangen van mail een aktie wil triggeren. De mailserver bij IIS kan wel mail ontvangen, maar het is heel basic, en niet echt geschikt hiervoor. Als alternatief zou je Exchange kunnen gebruiken, of een andere mailserver (maar da's meer een vraag voor SA).
Eerlijk gezegd denk ik dat je beter kan nadenken over het versturen van XML berichten via HTTP. Dan kan je zonder extra software, in je vertrouwde omgeving (PHP) en real-time de berichten afhandelen. Of dit mogelijk is hangt wel af van je partners, dus daarmee moet je het eerst overleggen.
Succes
Het ontvangen van mail ligt lastiger, zeker als je na het ontvangen van mail een aktie wil triggeren. De mailserver bij IIS kan wel mail ontvangen, maar het is heel basic, en niet echt geschikt hiervoor. Als alternatief zou je Exchange kunnen gebruiken, of een andere mailserver (maar da's meer een vraag voor SA).
Eerlijk gezegd denk ik dat je beter kan nadenken over het versturen van XML berichten via HTTP. Dan kan je zonder extra software, in je vertrouwde omgeving (PHP) en real-time de berichten afhandelen. Of dit mogelijk is hangt wel af van je partners, dus daarmee moet je het eerst overleggen.
Succes
Verwijderd
De topicstarter wilthomaske schreef op 07 January 2003 @ 10:46:
MS Outlook != mailserver, maar een client.
En dat is volgens mij niet wat de topicstarter wilt..
[...]
Daar staat toch niet expliciet dat ze per se een mailserver willen?We zijn dus opzoek naar een manier om de e-mailberichten meteen te verwerken zodra ze binnenkomen.
VisualBasic Script save to harddrive en daarna in VB
Visual Basic:
1
| Shell("c:\apache\php\php.exe scripthier.php") |
Dat is toch een oplossing en dat vroeg ie
aangezien ik niet de topicstarter ben, kan ik dus niet beoordelen wat wel en geen relevante oplossing is.
Maar hij zegt dattie niet om de X seconden de mail wilt controleren omdat er dan een maximale wachttijd is van X seconden. Wanneer je het dus oplost met een mailclient moet je die dus om de X seconden laten checken op nieuwe mail. En dat was nou net wat de topicstarter liever niet wilde.
Nogmaals, ik kan natuurlijk niet beoordelen wat de topicstarter nou precies wel of niet wilt.
Maar hij zegt dattie niet om de X seconden de mail wilt controleren omdat er dan een maximale wachttijd is van X seconden. Wanneer je het dus oplost met een mailclient moet je die dus om de X seconden laten checken op nieuwe mail. En dat was nou net wat de topicstarter liever niet wilde.
Nogmaals, ik kan natuurlijk niet beoordelen wat de topicstarter nou precies wel of niet wilt.
Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."
Hoe werkt incredimail dan, die hebben zo'n irritant butlertje wat steeds aan komt met een envelopje.
Verwijderd
ik geloof dat er ergens in exchange een mogelijkheid is om bij t binnenkomen van mail iets te laten triggeren... wel eens gehoord van een collega in de wandel gangne... ben er zelf niet in thuis, maar misschien kun je t ff nazoeken...
Verwijderd
als je t op de makkelijke manier wilt doen:Verwijderd schreef op 07 januari 2003 @ 22:01:
ik geloof dat er ergens in exchange een mogelijkheid is om bij t binnenkomen van mail iets te laten triggeren... wel eens gehoord van een collega in de wandel gangne... ben er zelf niet in thuis, maar misschien kun je t ff nazoeken...
maak een script aan dat in windows scriping host kan draaien (vbscript) dat laat je iedere minuut uitvoeren, kan op de achtergrond. Waarin je een mapiclient laat kijken of r email is. De email schrijf je vervolgens naar de database.... Of moet alles PHP zijn?! (Snap trouwens niet echt waarom je een php site op een windows machine laat draaien?!! Vanwege de xml? De enige reden om windows te gebruiken is eigenlijk als je met asp.net of asp 2/3.0 werkt imho)
Verwijderd
de reden is dat het voor de presentatie op 6 afzonderlijke laptops moet draaien en niemand zin heeft om er linux op te zetten speciaal voor dir project?!
Verwijderd
mmm ja kan ik me wel iets bij bedenken... maar waarom dan niet in ons geliefde aspVerwijderd schreef op 08 januari 2003 @ 11:41:
de reden is dat het voor de presentatie op 6 afzonderlijke laptops moet draaien en niemand zin heeft om er linux op te zetten speciaal voor dir project?!
Pagina: 1