Personalisierte Benachrichtigung „Benutzer hat Unternehmen verlassen“

Personalisierte Benachrichtigung „Benutzer hat Unternehmen verlassen“

Beim Ausführen von exim4 kann ich nicht herausfinden, wie ich eine Benachrichtigung an den Absender senden kann, wenn E-Mails an eine bestimmte Adresse gehen (die Adresse des Benutzers, der das Unternehmen verlässt).

Antwort1

Mit dem "Autoreply"-Treiber können Sie automatische Antwortnachrichten versenden. Normalerweise wird er für Abwesenheitsnachrichten verwendet, aber er kann natürlich auch jede andere Art von E-Mail zurücksenden.

Was Sie brauchen, ist ein Router, der (je nach bestimmten Bedingungen) die Nachricht mithilfe des Autoreply-Treibers an den Transport weiterleitet. Der Router sieht ungefähr so ​​aus:

vacation_reply:
    driver=accept
    domains = +local_domains
    senders = ! ^.*-request@.*:\
            ! ^bounce-.*@.*:\
            ! ^.*-bounce@.*:\
            ! ^owner-.*@.*:\
            ! ^postmaster@.*:\
            ! ^webmaster@.*:\
            ! ^listmaster@.*:\
            ! ^mailer-daemon@.*:\
            ! ^root@.*:\
            ! ^noreply@.*

    condition=${lookup mysql {\
            select email from vacation where \
                 email='${quote_mysql$local_part}@${quote_mysql:$domain}'\
                 and active='y'\
            }}
    no_expn
    transport=vacation_transport
    unseen
    no_verify

Der Router oben ist wieder ein Ausschnitt über Urlaub, aber Sie sollten kein Problem haben, ihn umzuschreiben. Außerdem verwendet er MySQL als Backend, sodass Ihre Konfiguration etwas anders sein wird, wenn Sie beispielsweise Dateien verwenden, aber Sie verstehen, was ich meine ...

Wenn Sie den Router haben, brauchen Sie ein Transportmittel (in diesem Beispiel heißt es „vacation_transport“), das etwa so aussieht:

vacation_transport:
    driver=autoreply
    from= ${lookup mysql {\
            select concat('"',name,'" <',username,'>') \
            from mailbox where username='${local_part}@${domain}' AND active=1 \
    }}
    to= ${lookup mysql {\
            select '${quote_mysql:$sender_address}' \
            from vacation where email='${local_part}@${domain}' and active='y' \
    }}

    subject= ${lookup mysql {\
                    select subject from vacation \
                    where email='${local_part}@${domain}' and active='y' \
            }}

    text= ${lookup mysql {\
            select body from vacation \
            where email='${local_part}@${domain}' and active='y' \
    }}

Auch hier wird ein MySQL-Backend verwendet (natürlich ist es ein Copy-and-Paste aus derselben Konfigurationsdatei). Es geht darum, die Variablen „von“, „an“, „Betreff“ und „Text“ festzulegen. Der Autoreply-Transport verwendet diese, um die Antwortmail zu verfassen. Wenn Sie den Absender über die Abwesenheit des Benutzers informieren müssen, können Sie die Nachschlagevorgänge entfernen und größtenteils einen statischen Text einfügen. Auch in diesem Beispiel geht es um Urlaubsmails, bei denen der Benutzer seine Nachricht anpassen kann.

Sehen Sie sich diese Seite zum Autoreply-Treiber an: http://wiki.exim.org/EximAutoReply

Auch derExim-Dokumentationist auch nützlich.

Antwort2

Ich nehme an, dass beim Löschen des Postfachs eine Rückantwort gesendet wird, die besagt, dass das Postfach nicht existiert.

verwandte Informationen