Mailinglisten-Archive |
Schwab Bernhard Konrad wrote:
> Wie kann ich eigentlich emails direkt an ein script weiterleiten,
>
> hat jemand die notwendigen einstellungen von sendmail und linux im kopf?
1) über einen pipe-alias in /etc/aliases
somealias: "|/path/to/php.binary /path/to/script"
( viel Spass beim eMail parsen ... ;-)
2) oder asynchron über die IMAP-Funktionen
die können auch auf POP-Server oder auf lokale Mailspool-Dateien
zugreifen
und übernehmen auch das Parsen von Mailheadern und MIME-eMails
das sieht dann ungefähr so aus und kann über cron regelmäßig
angestossen werden
<?php
$mbox = imap_open ("/var/spool/mail/yourmailbox, "", "");
if(!$mbox) {
print imap_last_error();
exit;
}
// Anzahl unbearbeiteter Nachrichten
$count = imap_num_msg($mbox);
// Schleife über alle Nachrichten
for($n=$count;$n>0;$n--) {
$header = imap_header($mbox,$n);
$body = imap_body($mbox,$n);
... // do something
imap_delete($mbox,$n);
}
imap_expunge($mbox);
imap_close($mbox);
?>
Nachteil: verzögerte Bearbeitung
Vorteile:
- parsing
- script und mailserver können auf unterschiedlichen rechnern laufen
- auch wenn das script mal nicht tut gehen keine emails verloren
--
Hartmut Holzgraefe hartmut_(at)_six.de http://www.six.de
php::bar PHP Wiki - Listenarchive