[Postfixbuch-users] Eingehende Email soll PHP Script auslösen.
Klaus Tachtler
klaus at tachtler.net
Mi Nov 5 07:52:01 CET 2014
Hallo Christian,
wenn ich einmal die weitere Zustellung an dovecot außer acht lasse,
überprüfe doch mal nachfolgende Dinge, evtl. ist da ja was dabei:
1. Wie erkennt Postfix, das er das Script für die e-Mail(s) x aufrufen soll?
(Bei mir: transport)
2. Schau Dir die flags= mal an: http://www.postfix.org/pipe.8.html
3. Ist das PHP-Skript durch Postfix überhaupt ausführbar
(RECHTE: -rwxr-x--- 1 root vmail .... ... .. .... <Pfad/Script>)
4. master.cf -->
> maildrop unix - n n - - pipe
> flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
DEINS > maildrop unix - n n - - pipe
MEINS > maildrop unix - n n - 1 pipe
Ist ggf. bei Verwendung von einigen flags= notwendig z.B. flag... "D"!
Viel Erfolg!
> Danke für den Link.
>
> Ich habe natürlich schon einiges gegoogelt und auch die diversen
> vorschläge ausprobiert. Leider ohne Erfolg.
> Ich bringe Postfix einfach nicht dazu beim annehmen einer Email das
> Script auszuführen.
>
> Hier mal mein master.cf File und ganz unten der Eintrag der mir das
> Script aufrufen soll. Irgend was mache ich da noch falsch
>
> Christian
>
>
> #
> # Postfix master process configuration file. For details on the format
> # of the file, see the master(5) manual page (command: "man 5 master").
> #
> # Do not forget to execute "postfix reload" after editing this file.
> #
> # ==========================================================================
> # service type private unpriv chroot wakeup maxproc command + args
> # (yes) (yes) (yes) (never) (100)
> # ==========================================================================
> localhost:asspsmtp inet n - - - - smtpd
> localhost:asspssmtp inet n - - - - smtpd
> submission inet n - - - - smtpd
> -o smtpd_tls_security_level=may
> -o smtpd_sasl_auth_enable=yes
> -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> # -o milter_macro_daemon_name=ORIGINATING
> #smtps inet n - - - - smtpd
> # -o smtpd_tls_wrappermode=yes
> # -o smtpd_sasl_auth_enable=yes
> # -o smtpd_client_restrictions=permit_sasl_authenticated,reject
> # -o milter_macro_daemon_name=ORIGINATING
> #628 inet n - - - - qmqpd
> pickup fifo n - - 60 1 pickup
> cleanup unix n - - - 0 cleanup
> qmgr fifo n - n 300 1 qmgr
> #qmgr fifo n - - 300 1 oqmgr
> tlsmgr unix - - - 1000? 1 tlsmgr
> rewrite unix - - - - - trivial-rewrite
> bounce unix - - - - 0 bounce
> defer unix - - - - 0 bounce
> trace unix - - - - 0 bounce
> verify unix - - - - 1 verify
> flush unix n - - 1000? 0 flush
> proxymap unix - - n - - proxymap
> proxywrite unix - - n - 1 proxymap
> smtp unix - - - - - smtp
> # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
> relay unix - - - - - smtp
> -o smtp_fallback_relay=
> # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
> showq unix n - - - - showq
> error unix - - - - - error
> retry unix - - - - - error
> discard unix - - - - - discard
> local unix - n n - - local
> virtual unix - n n - - virtual
> lmtp unix - - - - - lmtp
> anvil unix - - - - 1 anvil
> scache unix - - - - 1 scache
> #
> # ====================================================================
> # Interfaces to non-Postfix software. Be sure to examine the manual
> # pages of the non-Postfix software to find out what options it wants.
> #
> # Many of the following services use the Postfix pipe(8) delivery
> # agent. See the pipe(8) man page for information about ${recipient}
> # and other message envelope options.
> # ====================================================================
> #
> # maildrop. See the Postfix MAILDROP_README file for details.
> # Also specify in main.cf: maildrop_destination_recipient_limit=1
> #
> maildrop unix - n n - - pipe
> flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
> #
> # ====================================================================
> #
> # Recent Cyrus versions can use the existing "lmtp" master.cf entry.
> #
> # Specify in cyrus.conf:
> # lmtp cmd="lmtpd -a" listen="localhost:lmtp" proto=tcp4
> #
> # Specify in main.cf one or more of the following:
> # mailbox_transport = lmtp:inet:localhost
> # virtual_transport = lmtp:inet:localhost
> #
> # ====================================================================
> #
> # Cyrus 2.1.5 (Amos Gouaux)
> # Also specify in main.cf: cyrus_destination_recipient_limit=1
> #
> #cyrus unix - n n - - pipe
> # user=cyrus argv=/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
> #
> # ====================================================================
> # Old example of delivery via Cyrus.
> #
> #old-cyrus unix - n n - - pipe
> # flags=R user=cyrus argv=/cyrus/bin/deliver -e -m ${extension} ${user}
> #
> # ====================================================================
> #
> # See the Postfix UUCP_README file for configuration details.
> #
> uucp unix - n n - - pipe
> flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail
> ($recipient)
> #
> # Other external delivery methods.
> #
> ifmail unix - n n - - pipe
> flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
> bsmtp unix - n n - - pipe
> flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -t$nexthop
> -f$sender $recipient
> scalemail-backend unix - n n - 2 pipe
> flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store
> ${nexthop} ${user} ${extension}
> mailman unix - n n - - pipe
> flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py
> ${nexthop} ${user}
>
> # Add this lines to be able to use dovecot as delivery agent
> # Dovecot LDA
> dovecot unix - n n - - pipe
> flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -d ${recipient}
> #nur ein test
> #dbmail-lmtp unix - - n - - lmtp -v
>
> autoreply unix - n n - - pipe
> flags=F user=vmail argv=/opt/autoreply/autoreply {$sender} {$recipient}
>
> #smtp inet n - - - - smtpd
> # -o content_filter=autoreply:dummy
>
>
>
>
>> Hallo Christian,
>>
>>> Hallo,
>>>
>>> ich muss mir in einer bestehenden Postfix installation einen
>>> Autoresponder basteln.
>>>
>>> Dazu möchte ich bei eintreffenden Email ein PHP Script ausführen und
>>> Absender und Empfänger übergeben.
>>>
>>> Dazu habe ich mir die master.cf angepasst/erweitert:
>>>
>>> autoreply unix - n n - - pipe
>>> flags=F user=vmail:vmail argv=/opt/autoreply/autoreply
>>> {$sender}{$recipient}
>>>
>>> Per Komandozeile funktioniert mein Script schon mal, aber Postfix
>>> führt es nicht aus.
>>>
>>> Was mache ich falsch?
>>
>> Hast Du auch eine transport map, wo Du definierst bei welchen
>> e-Mail-Adressen
>> an das Skript weitergeitet werdeb soll?
>>
>> Ich habe mal einen ECHO-Mailer gebastelt, das ist ja nicht ganz
>> unähnlich, was
>> Du da vor hast:
>>
>> Schau mal hier:
>> http://www.dokuwiki.tachtler.net/doku.php?id=tachtler:postfix_echo-mailer-script_installieren#postfixkonfiguration
>>
>>
>>
>>> Besten Dank für Hilfe/Tipps
>>>
>>>
>>> Christian
Grüße
Klaus.
--
------------------------------------------
e-Mail : klaus at tachtler.net
Homepage: http://www.tachtler.net
DokuWiki: http://www.dokuwiki.tachtler.net
------------------------------------------
Mehr Informationen über die Mailingliste Postfixbuch-users