[PHP/???] E-mail listing/forwarding

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 04-09 16:57

Dima_2005

T.net-verslaafde

Topicstarter
Hallo,
Ik ben nu aan een websitetje bezig dat eigenlijk af is, maar ik wil nog 1 laatste bijzondere ding afwerken, dat ik niet weet hoe dit op te lossen valt. Aangezien ik dit altijd deed vanuit de control-panel, maar de huidige host heeft een heel slechte control panel en heeft hosting op Windows! (ik heb toegang tot cgi-bin en de gewone www directory, dus geen rechtstreekse toegang tot de e-mail database)

* Er is een email: aaa@xxxyyy.zzz
* Als er een e-mail verzonden wordt naar aaa@xxxyyy.zzz, wil ik dat er een script dit opvangt (denk niet dat het met PHP mogelijk is, of wel?). (mag ook gewoon een cron-job zijn dat om de 6u loopt)
* Als de script de e-mail ontvangt, moet hij het uitlezen, de afzender bekijken en vergelijken met een lijst (uitlezen uit een MySQL database).
* Als de e-mail in orde is, moet er werder worden geforward naar iedereen die in in een lijst staat om de emails te ontvangen (dus alweer uitlezen uit de MySQL database)

Wat is mijn probleem?
stap 1,3,4 zou ik zelf wel maken, op zich niet zo'n groot probleem.
Stap2: hoe vang ik dit het best op?

Oplossingen (van goed naar slecht)?:
* Bestaat er een script die doet wat ik wil? (dus kant-en-klaar)
* De e-mail automatisch laten opvangen : HOE? (en is dit mogelijk met mijn beperkte toegang, ik weet dat er mensen zijn die dat hebben, maar die hebben dan alweer root access)
* POP3 mail laten uitlezen door PHP en die dan laten doorsturen, maar werkt dat dan met bijlagen,... En heeft iemand dan een idee of er een script daarvoor bestaat? Zodat ik niet te veel moet programmeren hiervoor.

Alvast bedankt voor jullie antwoorden!

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
http://nl.php.net/imap Staat alles wat je moet weten :)

Acties:
  • 0 Henk 'm!

  • RAJH
  • Registratie: Augustus 2001
  • Niet online
Het Zend Framework bevat daar ook een aantal classes voor zoals Zend_Mail.

Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 04-09 16:57

Dima_2005

T.net-verslaafde

Topicstarter
Nu, dat zou dan de laatste optie zijn zeker? Die leest emails uit met IMAP en stuurt ze door (lekker veel programmeerwerk?)
RAJH schreef op zaterdag 13 februari 2010 @ 11:53:
Het Zend Framework bevat daar ook een aantal classes voor zoals Zend_Mail.
Ziet er goed uit, maar is ook veel werk...


Mijn vraag vooral is: is er iets kant-en-klaar daarvoor, gewoon wat values intypen (en pak maar dat het doorstuur naar emails uit array. Die array vul ik op vanuit de database)

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
Dima_2005 schreef op zaterdag 13 februari 2010 @ 12:19:
[...]

Mijn vraag vooral is: is er iets kant-en-klaar daarvoor, gewoon wat values intypen (en pak maar dat het doorstuur naar emails uit array. Die array vul ik op vanuit de database)
Ah, een scriptrequest! Daar is meestal wel een oplossing voor. :)

Wat is er zo moeilijk aan? In pseudo-code:
PHP:
1
2
3
4
5
6
7
8
9
10
$mailbox = new Mailbox ($location, $user, $password);
if ($mailbox->hasNewMail()) {
  foreach ($mailbox->getNewMail() as $mail) {
    if (inTrustedList($mail->sender()) {
      $to = addressesToForward($mail->sender());
      $mail->forward($to);
      $mail->markAsRead();
    }
  }
}

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:16
Kant en klaar: dan zou je een provider moeten zoeken die mailinglists aanbied of Google Groups gebruiken.

En wat is 'veel werk'? Dit zou toch in een paar uurtjes max te ontwikkelen moeten zijn?

Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 04-09 16:57

Dima_2005

T.net-verslaafde

Topicstarter
Ok, ja, ik zal het proberen :) Ik zal het zelf schrijven, en dan hopen dat IMAP me een goede oplossing biedt :)

Thanks trouwens, die Zend-framework ziet er goed uit, zal dat eens utiproberen!

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 23:22

orf

Je kunt ook een e-mailadres pipen naar een PHP script. Dan heb je geen cronjob nodig, het script wordt automatisch (realtime) aangeroepen bij een inkomende e-mail.

Hier staat een aardig stukje over piping: http://www.evolt.org/arti...d_PHP/18/27914/index.html

Met veel control panels kun je zelf piping instellen en anders kun je altijd je provider nog vragen dit voor je in te stellen.

Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 04-09 16:57

Dima_2005

T.net-verslaafde

Topicstarter
orf schreef op zaterdag 13 februari 2010 @ 15:17:
Je kunt ook een e-mailadres pipen naar een PHP script. Dan heb je geen cronjob nodig, het script wordt automatisch (realtime) aangeroepen bij een inkomende e-mail.

Hier staat een aardig stukje over piping: http://www.evolt.org/arti...d_PHP/18/27914/index.html

Met veel control panels kun je zelf piping instellen en anders kun je altijd je provider nog vragen dit voor je in te stellen.
En net die piping had ik nodig, kon alleen niet de juiste term gevonden...
Maar nu weet ik zeker dat het me niet gaat lukken wegen:
What do we need?
* PHP compiled as a CGI binary, not just as an Apache module;
* a local mail system or MTA, (are you using Sendmail, Exim, Qmail or some other system);
* shell access to your server, whether or not you have to be root depends on your mail system
Geen van 3 is aanwezig...

Trouwens, het is toch mogelijk om cron's te laten lopen zonder dat het in een control-panel staat? (heb geen cron-job ondersteuning in control-panel).
Naar mijn herinnering is dat iets met PERL?

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 23:22

orf

Cron jobs zul je op een Windows server niet vinden omdat het een Linux commando is. Op Windows kun je kijken naar de taakplanner.

Je hebt nu in ieder geval wél de juiste zoekterm: http://www.google.com/search?q=email+pipe+php+windows
;)

Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 04-09 16:57

Dima_2005

T.net-verslaafde

Topicstarter
Even een update:
piping heeft niet gewerkt...
Moet dus een andere oplossing, hoe ik werk nu?

1) imap uitlezen
2) headers toevoegen (Resent-from,....)
3) terug verzenden

Alleen nu nog een kleine (gigantische) struikelblok: attachments,

Ideen zijn welkom!
Wat ik dus nog nodig heb (en niet echt vind): de attachments ophalen en doorsturen..
En er is nog een andere probleem, er staat om een of andere reden overal "=" om de zoveel chars, is daar een oplossing voor?

[ Voor 30% gewijzigd door Dima_2005 op 19-02-2010 18:21 ]

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 00:12

Creepy

Tactical Espionage Splatterer

En waarom werkte piping dan niet voor je? Ging er wat mis?
Wat heb je zelf al een andere oplossing geprobeerd? En wat bedoel je met "attachments"?

Het is echt niet zo heel moeilijk (mits je een goede basiskennis van PHP hebt) om een script te schrijven dat een mailbox uitleest en vervolgens de volledige mail doorstuurt naar anderen. Dus ga er eens gewoon mee aan de slag ;)

Die ='s in je mail is doodnormaal. Als je wat wat documentatie over e-mail leest (RFC's bijv) zul je dat zien. Mocht je je niet bezig willen houden met rauwe e-mails dan kan je natuurlijk opzoek gaan naar iets als PHPMailer om dat soort zaken voor je af te laten handelen. Ik krijg zelf het gevoel dat je eigenlijk geen idee hebt waar je mee bezig bent. Een klein beetje inlezen zou echt een stuk schelen.

[ Voor 34% gewijzigd door Creepy op 19-02-2010 20:35 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Dima_2005
  • Registratie: April 2007
  • Laatst online: 04-09 16:57

Dima_2005

T.net-verslaafde

Topicstarter
Piping werkt gewoon niet omdat ik totaal nergens toegang tot heb (vreselijk stomme host waar ik moet blijven)...

Nee, het is niet zo moeilijk, het uitlezen is al ok, en doorsturen gaat ook, maar ik verzie iets gewoon, maar weet niet wat...

Ok, misschien heb je gelijk, ik weet niet precies waar ik mee bezig ben, mail is niks voor mij, en daarbij nog, ik kom net terug na een jaar lang niks meer met PHP gedaan te hebben! Dus zeker serieus wat documentatie lezen, begrepen

Jullie hebben gelijk, ik moet het zelf doen, en niet de hulp van anderen inroepen, omdat ik gewoon een te weinig tijd heb om dingen te lezen.
Als ik er klaar mee ben, zal ik het wel even posten :) Dan mogen jullie ongezouten mening geven :)

[ Voor 20% gewijzigd door Dima_2005 op 20-02-2010 11:30 ]

Een tweaker zoekt altijd op Google, ik zou dat ook beter moeten doen :)

Pagina: 1