是否可以在 CentOS 上的 sendmail 中阻止电子邮件发件人姓名?

是否可以在 CentOS 上的 sendmail 中阻止电子邮件发件人姓名?

我们收到了很多假冒电子邮件,这些电子邮件发给冒充我们 CEO 的员工,我们的防火墙无法拦截我们想要拦截的内容。这些电子邮件来自普通的 Gmail 帐户,他们的名字和姓氏与 CEO 相同,他们的电子邮件标题如下所示。

主题:一些会议纪要 日期:2019 年 8 月 28 日星期三 18:04:39 +0100 发件人:首席执行官姓名 收件人: [电子邮件保护]

因此,对于不太懂技术的员工来说,他们可能会认为这是 CEO。我知道在 sendmail 中,您可以通过域名或用户名阻止电子邮件,但是否可以通过名称阻止,我们可以将 CEO 的电子邮件列入白名单。

答案1

简短回答:

  • 使用 procmail 作为本地传送代理(我记得,它应该是 CentOS 上的默认设置,或者坚持FEATURE(local_procmail,procmail -t -Y -a $h -d $u')dnl/etc/sendmail.mc 中)

  • 在 /etc/procmailrc 中有一行类似(https://regex101.com/r/uREw5R/1/):

    :0
    * “?您的 CEO 姓名”?\s?
    /主页/假邮件/邮件/

这会将所有显示名称为“您的 CEO 姓名”且域名为 gmail.com 的电子邮件转移到一个虚假邮箱(必须存在)进行检查。当然,如果您的 CEO 从 gmail 写信,那您就倒霉了。

答案2

Sendmail 提供各种选项来使用访问数据库来阻止电子邮件地址、域名或 IP 地址。

文件 /etc/mail/access 充当 Sendmail smtp 服务器的访问控制。使用此文件,您可以定义:

  • 我们接受来自谁的邮件
  • 我们接受来自谁的中继
  • 我们不会发送给谁等等

配置

# vi /etc/mail/sendmail.cf

确保您的配置文件中存在以下行(否则您需要添加/附加以下行):

FEATURE(`access_db’)dnl

保存文件并退出到 shell 提示符。现在,打开 /etc/mail/access 文件:

# vi /etc/mail/access

要阻止垃圾邮件或垃圾邮件,请使用以下格式

[email protected] REJECT
192.168.1.100 REJECT
202.54.1.100/255.0.0.0 REJECT

保存文件。一旦 sendmail.mc 或 access 文件被修改,您需要重新生成 /etc/mail/sendmail.cf 或重建 access 数据库。输入以下任一命令:

# cd /etc/mail
# make

或者

# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

重新启动发送邮件:

# /etc/init.d/sendmail restart

Access数据库支持的其他选项

  • 确定 – 接受电子邮件发件人:或收件人:指定地址
  • 丢弃 – 不接受来自:或至:指定地址的电子邮件
  • 拒绝 – 丢弃带有错误发件人:或收件人:指定地址的电子邮件
  • HATER – 使用 check_mail 和 check_realy 规则来处理电子邮件
  • FRIEND – 不要对电子邮件使用 check_mail 和 check_realy 规则
  • ERROR:ecode:etext – 删除带有指定错误代码(ecode)和错误文本消息(etext)的电子邮件。

相关内容