我已经用 设置了 Ubuntu 邮件服务器/etc/aliases
。
在别名文件中有一个别名all: group1, group2, group3
,其中每个组都是单独定义的。问题是由于别名的重要性和受别名影响的人数,[email protected]
任何拥有此电子邮件的人都能够发送不需要的电子邮件。服务器已经有某种垃圾邮件过滤器,我不记得是哪一种了。
我的问题是,有没有办法阻止来自[email protected]
之外的任何电子邮件的所有传入邮件/etc/aliases
。
我希望这篇文章不是重复的。我查看过并找到了类似的主题,但似乎没有一个能为我的问题提供解决方案。
亲切的问候,
答案1
最后我做的是:
1)我写了一个名为 update_postfix_white_list.bash 的脚本
vi /etc/postfix/update_postfix_white_list.bash
2)我在里面添加了:
#Parameters {aliases, white_list} file location.
aliasesfile="/etc/aliases"
postfixwhitelistfile="/etc/postfix/rbl_whitelist"
# from aliases removed all the comments| removed all the names| found all the emails| sorted them and removed duplicates | added " OK" to each email > stored it to the "white_list" file
cut -d# ${aliasesfile} -f1 | cut -d\: -f2| grep -EiEio '\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b'| sort -u | sed -e 's/$/ OK/' > ${postfixwhitelistfile}
# Generated the hash file for the white list
postmap ${postfixwhitelistfile}
# Restarted the postfix server
service postfix restart
3)然后我修改了main.cf
设置以考虑“white_list”文件。
vi /etc/postfix/main.cf
4)我补充说:
smtpd_recipient_restrictions =
check_sender_access hash:/etc/postfix/rbl_whitelist
reject
5)最后一步,我将脚本改为可执行文件并运行它。
chmod u+x "/etc/postfix/update_postfix_white_list.bash"
/etc/postfix/update_postfix_white_list.bash
意思是使用 检查check_sender_access
发送文件的人是否在白名单/黑名单中。不要将其与 混淆check_recipient_access
。该命令reject
将拒绝所有未被 接受的邮件check_sender_access
。
注意1:check_client_access hash:/etc/postfix/rbl_whitelist
必须在之后,但如果您的选项中有它们,reject_unauth_destination
则必须在第一个之前,以获得更复杂的设置。blacklist
smtpd_recipient_restrictions
注2:该命令执行后将reject
不再检查任何其他内容。
注3:如果您愿意,您可以使用crontab -e
然后添加,@daily /etc/postfix/update_postfix_white_list.bash
以便让您的服务器每天自动更新您的白名单。
如果您对如何改进这一点有任何建议,请告诉我。