Keerthivasan Asked: 2015-06-05 05:26:37 +0800 CST2015-06-05 05:26:37 +0800 CST 2015-06-05 05:26:37 +0800 CST 超过邮件大小限制时向管理员发送电子邮件 772 当有人尝试发送超出邮件大小限制的电子邮件时,如何触发给管理员的电子邮件?我找不到任何这样的配置来调整。 注意:我使用 exim MTA centos 2 个回答 Voted Kondybas 2015-06-05T07:15:19+08:002015-06-05T07:15:19+08:00 你可以通过特殊的路由器、传输和脚本来做到这一点。 首先,您必须添加测量消息大小的路由器: 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 #### Best Answer 7y7 2015-06-05T05:45:00+08:002015-06-05T05:45:00+08:00 在exim.conf, 字段中log_selector,使用size_reject将信息记录在日志文件中,如果 message 由于 size 太大而被拒绝,请重新启动 exim。创建一个脚本来解析日志文件,如果匹配,发送电子邮件,添加到 cron,完成。
你可以通过特殊的路由器、传输和脚本来做到这一点。
首先,您必须添加测量消息大小的路由器:
将该路由器放在路由器部分的开头
然后在传输部分的任何位置添加传输:
这里
/some/script.sh
包含下一个代码:在
exim.conf
, 字段中log_selector
,使用size_reject将信息记录在日志文件中,如果 message 由于 size 太大而被拒绝,请重新启动 exim。创建一个脚本来解析日志文件,如果匹配,发送电子邮件,添加到 cron,完成。