sendmail限制用户发送的邮件的大小

之前在一份国赛的试题上看到有一题要求限制sendmail发送邮件的附件大小,但是我翻遍了百度和谷歌,试遍了各种方法,也询问了来学校培训Linux的两位老师及外校一名久负盛名的指导教师,均未能得到有效答案。
记忆犹新的是,当我和其中一位培训老师说,我试遍了各种方法也行不通,想请老师指点的时候,对方直接抛给我一句话:我不知道,但这个题目已经考了好几次了,你在质疑赛题的准确性?自己百度去。。。汗。。。
最后我不得不妥协一步,既然无法限制附件的大小,那我直接限制整封邮件的大小好啦(邮件大小=正文+附件+邮件信息等附加内容的大小总和)。
编辑sendmail的/etc/mail/sendmail.cf配置文件

# vim /etc/mail/sendmail.cf

转到第186行(因软件版本号不同位置可能略有不同,可在vim中搜索关键字来查找),可以看到如下内容(翻译成中文是,每条消息的最大大小):

将# O MaxMessageSize=0选项前的注释去掉,其参数值就是每封邮件的最大值,单位是KB。例如,我想限制用户只能发送2MB大小的邮件则可以将其修改为如下形式:

O MaxMessageSize=2048

保存退出后直接重启sendmail服务就可以,不需要使用m4工具重新生成sendmail.cf文件,因为我们编辑的就是sendmail.cf文件。

# service sendmail restart

最后,尽情测试吧。

4 Comments on “sendmail限制用户发送的邮件的大小

    • 这块我又测试了一遍,结果显示单位是KB。也许这个问题可以再探讨下,可以加我QQ:1642491905

  1. 大师兄,那个MaxMessageSize选项好像不在sendmail.mc里哦,sendmail.cf里就有。。。我找了半天sendmail.mc都找不到这个,233

回复 绝世坏蛋 取消回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Captcha Code