当有人试图发送超过邮件大小限制的电子邮件时,如何触发邮件给pipe理员? 我找不到任何这样的configuration来调整。
注意:我使用exim MTA
在exim.conf ,在exim.conf字段中,如果由于大小太大而拒绝了邮件,请使用size_reject将日志文件中的信息logging下来 ,重新启动exim。 创build脚本parsing日志文件,如果匹配,发送电子邮件,添加到cron,完成。
你可以通过特殊的路由器,传输和脚本来做到这一点。
首先,您必须添加测量消息大小的路由器:
slimit: driver = accept condition = ${if >{$message_size}{1M}} transport = size_warning unseen
将路由器放在路由器部分的开始处
然后在运输部分的任何地方添加运输工具:
size_warning: driver = pipe user = mailnull command = /some/script.sh $local_part@$domain $message_size
这里/some/script.sh包含下面的代码:
#!/bin/sh cat << EOT | /usr/sbin/sendmail -t MIME-Version: 1.0 From: MAIL SERVICE <postmaster@$( hostname )> To: [email protected] Subject: Big message detected Content-Type: text/plain; charset="UTF-8" User $1 receive message $2 bytes big! EOT exit 0 ####