运行EXIM4我不知道如何发送通知邮件给发件人,如果某个地址获取邮件(将离开公司的用户的地址)。
您可以使用“autoreply”驱动程序发送自动回复消息。 它通常用于休假消息,但它当然能够发回任何types的邮件。
粗略地说,你需要的是一台路由器,根据一些条件,这个路由器使用autoreply驱动程序将消息redirect到传输。 路由器是这样的:
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
上面的路由器是关于度假的片段,但是你应该没有问题重写这个。 此外,它使用MySQL作为后端,所以你的configuration将略有不同,如果你使用文件为例,但你明白了…
有路由器,你需要一个传输(在这个例子中,它被称为“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' \ }}
同样,它使用了一个mysql后端(它是一个来自同一个configuration文件ofcoz的复制粘贴)。 重点是设置“从”,“到”,“主题”和“文本”variables。 autoreply传输将使用这些来撰写回复邮件。 如果您需要通知发件人关于用户不在的情况,可以删除查找,并且大部分可以包含静态文本。 再次,这个例子是关于度假邮件,用户可以在其中定制他/她的消息。
看到这个页面关于autoreply驱动程序: http ://wiki.exim.org/EximAutoReply
另外, exim文档也很有用。
我会假设,当你删除邮箱,它会发送一个反弹,说邮箱不存在。