Jump to content
Froxlor Forum
  • 0

Postfix soll Script ausl?sen


wwl

Question

Hallo,

 

ich versuche den mit Froxlor verwaltetetn Postix MTA dazu zu bringen ein PHP Script auszuf?hren, damit ich dar?ber einen Autorespnder/Urlausbenachrichtigung bewerkstelligen kann.

 

Ich hab jetzt schon in master.cf

 

autoreply unix  -       n       n       -       -       pipe
    flags=F  user=vmail:vmail  argv=/opt/autoreply/autoreply {$sender} {$recipient}

 

angelegt.

Leider wird das autoreply Script nicht bei eingehenden Emails ausgef?hrt.

 

Was mache ich falsch?

Besten Dank f?r Hilfe

 

Christian

Link to post
Share on other sites

16 answers to this question

Recommended Posts

Also wenn du dovecot benutzt is das ne sache von 5 minuten...da muss nix komplett neu aufgesetzt werden. Und Froxlor hat keinen Autoresponder mehr, wir wollten auch das Rad nicht neuerfinden und empfehlen deswegen auf Sieve/Managesieve umzusteigen...

Link to post
Share on other sites

Ich versteh ja das Sieve f?r die Froxlor Entwickler besser ist. Aber es hilft mir nichts an meiner Probleml?sung.

 

Mein Dovecot hat die Sieve Funktion nicht einkompiliert. Ich m?sste alle zerupfen.

 

Dann kann man immer noch nicht von Froxlor heraus den Autoresponder anlegen.

Ich muss dazu ?ber RoundCube gehen. Auf das habe ich f?r Mitarbeiter keinen Zugriff, da die Passw?rter Sache des Mitarbeiters ist. Und wenn ich f?r jemenden eine Benachrichtigung anlegen will, kann ich das als Admin nicht tun.

 

In allen Verwaltungstools kann ich Emails einrichten, Weiterleitugen zuschalten und Autoresponder anlegen. Alles an einem Platz.

Das muss ich mir nun in Froxlor auch reinbasteln.

Link to post
Share on other sites

Ich muss dazu ?ber RoundCube gehen. Auf das habe ich f?r Mitarbeiter keinen Zugriff, da die Passw?rter Sache des Mitarbeiters ist. Und wenn ich f?r jemenden eine Benachrichtigung anlegen will, kann ich das als Admin nicht tun.

 

Dovecot hat die M?glichkeit ein Masterpasswort anzulegen, dann kannst dar?ber die Autoresponder in RoundCube anlegen. Oder programmier dir selbst einen entsprechenden Zusatz f?r Froxlor. F?r deinen Ansatz ?ber Postfix gibt es auch nichts fertiges zur Administration.

 

Auch gerne genommen: http://bit.ly/1GkFOOq

Link to post
Share on other sites

?h nein denn du brauchst eine L?sung die du selbst verstehst und debuggen kannst. Da du oben sagst, dass du dovecot wohl selbst kompilliert hast oder kompilliert wurde setzt du ja generell auf fortgeschrittenere Konfigurationen und Systeme - da sollte dir das leicht fallen die Dokumentation zu Postfix, Maildrop und Dovecot zu lesen.

Link to post
Share on other sites

Nein das hab ich nicht. Ich hab eine Standard debian Squeez Installation. Mit Dovecot 1.2 die ja auch keine sieve Funktion hat. Ein eigens kompiliertes dovecot m?chte ich derzeit noch vermeiden. Es funktioniert ja auch soweit alles mit Froxlor. Nur wurde nun in den letzten Versionen der Autoresponder wegrationalisiert. Zwar gibt es Sieve. Aber dann kann man es nur ?ber den Roundcube verwalten. Meine Kunden nutzen den Webmailer aber nicht. Und nur f?r die Urlaubsbenachrichtigung jetzt jedem Kunden RoundCube beizubringen m?chte ich nicht.

 

Eigentlich suche ich nur eine M?glichkeit die mir bei einem eingehenden Email am Postfix ein PHP Script Anspricht und Absender und Empf?nger ?bergibt. Und zwar bei jedem eingehenden Email, nicht nur f?r bestimmte Empf?nger.

Dann kann man ja einfach eine Datenbank anlegen und die Daten ?bergeben.

Wenn kein Eintrag von einem Empf?nger hinterlegt ist, schickt das Script eine Abwesenheitsbenachrichtigung raus.

 

Christian

Link to post
Share on other sites

In Debian kannst du Sieve einfach nachinstallieren - in Squeeze brauchst du allerdings die backports-Repos

Das mit dem PHP Script aufrufen ist nicht ganz trivial. Der alte Autoresponder von Froxlor war ein Cronjob der quasi die konfigurierten Mailboxen durchgegangen ist und im Maildir einfach nach Mails in new/ gesehen hat und dessen Absender dann ne Mail geschickt hat - vielleicht ist diese Funktion f?r dich schon einfacher und realisierbar.

Link to post
Share on other sites

Hallo,

 

falls das noch aktuell ist: hast du eine entsprechende Transport-Map angelegt?

 

Auf meinem alten System mache ich das quasi ?hnlich.

 

Kannst Du mir Bitte zeigen wie du das gemacht hast?

Wie genau legst Du die Transport Map an?

 

Besten Dank

 

Christian

 

Link to post
Share on other sites

Im Grunde fange ich bereits bei den virtual_alias_maps an:

# cat /etc/postfix/mysql-virtual_alias_maps.cf
user = froxlor
password = xxxxx
dbname = froxlor
hosts = 127.0.0.1
query = SELECT IF( mail_autoresponder.enabled =1, CONCAT( destination, ',', REPLACE( destination, '@', '#' ) , '@autoreply.example.com' ) , destination ) AS destination FROM mail_virtual LEFT JOIN mail_autoresponder ON mail_virtual.destination = mail_autoresponder.email WHERE mail_virtual.email = '%s'

Die Tabelle mail_autoresponder muss minimal zwei Felder haben: email und enabled. Wenn enabled=1 gibt der Query f?r die Adresse test@example.com einfach nur test#example.com@autoresponder.example.com zur?ck. Ansonsten test@example.com.

 

In Postfix definierst Du nun eine transport_map:

# cat /etc/postfix/transport_maps.cf
autoreply.example.com autoreply:

# postconf -e transport_maps=hash:/etc/postfix/transport_maps.cf
# postfix reload

Postfix bearbeitet nun ALLE eMails an die Domain autoreply.example.com ?ber den Service autoreply.

In deinem PHP-Script musst Du dann nat?rlich noch den Teil ab dem @ abschneiden und das # durch @ ersetzen.

 

Ich glaube, dass das alles ist  :)

Link to post
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...