AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 710974
Accepted
ychaouche
ychaouche
Asked: 2015-08-06 01:24:48 +0800 CST2015-08-06 01:24:48 +0800 CST 2015-08-06 01:24:48 +0800 CST

在 postfix 中,如何拒绝特定电子邮件地址发送电子邮件但仍允许接收?

  • 772

我尝试过的最接近的方法是添加reject_unlisted_sender到 main.conf ,但这也会禁止接收任何电子邮件到该邮箱。我只想拒绝发送但仍然允许接收。

编辑

这是 postfinger 的输出。

如果这真的不是你想要的@UsersUser,这里是请求命令的输出

email
  • 1 1 个回答
  • 653 Views

1 个回答

  • Voted
  1. Best Answer
    ychaouche
    2015-08-07T01:14:55+08:002015-08-07T01:14:55+08:00

    正如@masegaloeh 所建议的,这就是我所做的:

    在 main.cf 中

    smtpd_sender_restrictions = check_sender_access mysql:/etc/postfix/mysql-virtual_sender.cf
    

    check_sender_access这告诉 postfix在发送邮件之前对每个发件人执行限制。mysql:/etc/postfix/mysql-virtual_sender.cf包含执行检查所需的 SQL 查询。如果查询结果是,"REJECT"则 postfix 将拒绝从该发件人发送邮件。所以我们想要的是创建一个数据库,添加一个访问表,并且对于我们想要禁止的每个发件人,我们将插入一个带有“REJECT”值的行。为了解除禁令,我们将该值更新为“PERMIT”。另一个可能的值是“DEFER”。(见后缀文档)

    我正在管理一个显然是使用 ISPConfig 配置的服务器,所以我已经找到了一个数据库、表和配置文件。我刚刚插入了一个新行。

    在 /etc/postfix/mysql-virtual_sender.cf

    root@messagerie-test[10.10.10.26]/home/serveur # cat /etc/postfix/mysql-virtual_sender.cf
    user = ispconfig
    password = xxx
    dbname = dbispconfig
    table        = mail_access
    select_field = access
    where_field  = source
    additional_conditions = and type = 'sender' and active = 'y' and server_id = 1
    hosts = 127.0.0.1
    root@messagerie-test[10.10.10.26]/home/serveur # 
    

    这为 postfix 提供了执行查询所需的信息。数据库是dbispconfig,要查询的表是mail_access,要查询的字段是保存"REJECT"值的字段"access".Postfix 将提供发件人的电子邮件,并将与"source"字段(WHERE子句)进行匹配。

    在dbispconfig.mail_access表格中,这是我添加的内容

    mysql> INSERT INTO mail_access (sys_userid,sys_groupid,sys_perm_user,sys_perm_group,server_id,source,access,type,active) VALUES (1,2,'ruid','ruid',1,'[email protected]','REJECT','sender','y');
    Query OK, 1 row affected (0.04 sec)
    
    mysql> select * from mail_access;
    +-----------+------------+-------------+---------------+----------------+----------------+-----------+---------------------------+--------+--------+--------+
    | access_id | sys_userid | sys_groupid | sys_perm_user | sys_perm_group | sys_perm_other | server_id | source                    | access | type   | active |
    +-----------+------------+-------------+---------------+----------------+----------------+-----------+---------------------------+--------+--------+--------+
    |         1 |          1 |           2 | ruid          | ruid           |                |         1 | [email protected] | REJECT | sender | y      |
    +-----------+------------+-------------+---------------+----------------+----------------+-----------+---------------------------+--------+--------+--------+
    1 row in set (0.00 sec)
    
    mysql> 
    

    其他字段(除了访问权限)的值是从其他表中借来的,它们特定于 ISPConfig,与后缀无关。这里的重要字段实际上是源、访问、类型和活动。这些字段在/etc/posftix/mysql-virtual_sender.cf我们指示 postfix 与check_sender_access.

    • 1

相关问题

  • 如何绕过 ISP 的限制性电子邮件政策?

  • SharePoint 传入电子邮件出现“未知别名”错误

  • 电子邮件帐户的角色名称与人名

  • 如何在笔记本电脑上使用 Tobit David?[关闭]

  • 随行人员通过 VPN 连接到 Exchange 2007

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve