个性化“用户已离职”通知信息

Pet*_*Mmm 4 exim

运行 exim4 我无法弄清楚如何向发件人发送通知消息,如果某个地址收到邮件(将离开公司的用户的地址)。

Lac*_*cek 6

您可以使用“autoreply”驱动程序发送自动回复消息。它通常用于假期消息,但它当然能够发回任何类型的邮件。

粗略地说,您需要的是一个路由器,它(取决于某些条件)使用自动回复驱动程序将消息重定向到传输。路由器是这样的:

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
Run Code Online (Sandbox Code Playgroud)

上面的路由器再次是关于假期的片段,但是重写它应该没有问题。此外,它使用 mysql 作为后端,因此,例如,如果您使用文件,您的配置会略有不同,但您明白了...

有了路由器,你需要一个传输(在这个例子中,它被称为“vacation_transport”),它是这样的:

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' \
    }}
Run Code Online (Sandbox Code Playgroud)

同样,它使用的是 mysql 后端(它是从同一个配置文件 ofcoz 复制粘贴的)。重点是设置“from”、“to”、“subject”和“text”变量。自动回复传输将使用这些来撰写回复邮件。如果您需要通知发件人有关用户不在的信息,您可以删除查找,并且在大多数情况下您可以包含静态文本。同样,这个例子是关于假期邮件的,用户可以自定义他/她的消息。

请参阅有关自动回复驱动程序的页面:http ://wiki.exim.org/EximAutoReply

此外,exim 文档也很有用。