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 / 问题

问题[smtpd](server)

Martin Hope
MadBoy
Asked: 2021-06-11 10:09:16 +0800 CST

Postfix 拒绝从 O365 转发的电子邮件

  • 1

我必须使用 Sogo 从 Postfix 迁移 Office 365。我的目标是配置 Office 365 与 Postfix 的小型混合,有点像使用 Exchange On-premises 的方式。

目前,postfix 是一个拥有 1000 个用户的主服务器,它发送和接收domain.xyz的所有电子邮件。我已经配置了 Office 365 并向其添加了相同的域。我在上面创建了 2 个邮箱并配置了将domain.xyz设置为 InternalRelay 域的 Exchange Online。

Exchange Online 到目前为止有 2 个帐户

  • [email protected]
  • [email protected]

Exchange 配置为,如果 Exchange 上的某人向 domain.xyz 发送电子邮件并且邮箱位于 Exchange 上,则电子邮件应保留在 Exchange 上,但如果 Exchange 找不到 domain.xyz 的邮箱,则应使用我已经使用的传出连接器配置为将电子邮件转发到 postfix。这意味着从 userA 发送到 userB 的任何电子邮件都可以正常工作,但是当 userA 向驻留在 postfix 上的 userC 发送电子邮件时,它会阻止它。

报告错误:554 5.7.1 [email protected]:收件人地址被拒绝:策略拒绝未登录

我的理解是,Postfix 认为它是唯一拥有域 domain.xyz 的服务器,并且它将来自 domain.xyz 的任何电子邮件视为某些用户/服务试图在未经授权的情况下发送电子邮件并拒绝它。这证明了当我们在 Office 365 中创建完全随机的电子邮件时,在 postfix 中没有相应的帐户,并且当我们尝试从 [email protected] 向 [email protected] 发送电子邮件时,我们得到

远程服务器返回“550 5.1.0 [email protected]:发件人地址被拒绝:虚拟邮箱表中的用户未知”

有什么方法可以告诉 postfix (SoGo) 开始信任 Office 365(IP 地址范围)并使其允许接收来自它认为自己拥有的域以及它拥有的帐户的电子邮件。在将 postfix 迁移到 Office 365 的最后一步中,postfix 中的每个帐户将在 O365 中拥有相同的帐户,我们将使用重定向电子邮件 1 个邮箱到 onmicrosoft.com 地址,以确保用户可以使用 O365 而无需担心他们的后缀帐户。但要做到这一点,O365 和 postfix 之间的流量需要正常工作。

我猜这不仅是 Office 365 共存的问题,而且有人会使用的任何服务(例如 SendGrid 或类似服务)都会有相同的问题。

最后 - 我无法访问 postfix/sogo。我只“拥有” o365 方面。我正在尝试向 Linux/Postfix 团队提供意见以解决此问题

我从团队获得的潜在相关配置位,但我自己不知道这是否正确

# HELO restriction
smtpd_helo_required = yes
smtpd_helo_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_non_fqdn_helo_hostname
    reject_invalid_helo_hostname
    check_helo_access pcre:/etc/postfix/helo_access.pcre

# Sender restrictions
smtpd_sender_restrictions =
    reject_unknown_sender_domain,
    reject_non_fqdn_sender,
    reject_unlisted_sender,
    permit_mynetworks,
    permit_sasl_authenticated,
    check_sender_access pcre:/etc/postfix/sender_access.pcre
    #reject_sender_login_mismatch

# Recipient restrictions
smtpd_recipient_restrictions =
    reject_unknown_recipient_domain,
    reject_non_fqdn_recipient,
    reject_unlisted_recipient,
    check_policy_service inet:127.0.0.1:7777,
    permit_mynetworks,
    permit_sasl_authenticated,
    #reject_unauth_destination

# Data restrictions
smtpd_data_restrictions = reject_unauth_pipelining

# O365 addresses
mynetworks = 127.0.0.0/8, 40.92.0.0/15, 40.107.0.0/16, 52.100.0.0/14, 104.47.0.0/17

#
# Lookup virtual mail accounts
#
transport_maps =
    #regexp:/etc/postfix/transport_regexp
    proxy:ldap:/etc/postfix/ldap/transport_maps_user.cf
    proxy:ldap:/etc/postfix/ldap/transport_maps_domain.cf

sender_dependent_relayhost_maps =
    proxy:ldap:/etc/postfix/ldap/sender_dependent_relayhost_maps_user.cf
    proxy:ldap:/etc/postfix/ldap/sender_dependent_relayhost_maps_domain.cf

# Lookup table with the SASL login names that own the sender (MAIL FROM) addresses.
smtpd_sender_login_maps =
    proxy:ldap:/etc/postfix/ldap/sender_login_maps.cf

virtual_mailbox_domains =
    proxy:ldap:/etc/postfix/ldap/virtual_mailbox_domains.cf

relay_domains =
    $mydestination
    proxy:ldap:/etc/postfix/ldap/relay_domains.cf

virtual_mailbox_maps =
    proxy:ldap:/etc/postfix/ldap/virtual_mailbox_maps.cf

virtual_alias_maps =
    #regexp:/etc/postfix/transport_regexp
    proxy:ldap:/etc/postfix/ldap/virtual_alias_maps.cf
    proxy:ldap:/etc/postfix/ldap/virtual_group_maps.cf
    proxy:ldap:/etc/postfix/ldap/virtual_group_members_maps.cf
    proxy:ldap:/etc/postfix/ldap/catchall_maps.cf
    proxy:ldap:/etc/postfix/ldap/sender_login_maps.cf
    
sender_bcc_maps =
    proxy:ldap:/etc/postfix/ldap/sender_bcc_maps_user.cf
    proxy:ldap:/etc/postfix/ldap/sender_bcc_maps_domain.cf

recipient_bcc_maps =
    proxy:ldap:/etc/postfix/ldap/recipient_bcc_maps_user.cf
    proxy:ldap:/etc/postfix/ldap/recipient_bcc_maps_domain.cf

在 master.cf

smtps     inet  n       -       n       -       -       smtpd
  -o syslog_name=postfix/smtps
  -o smtpd_tls_wrappermode=yes
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_reject_unlisted_recipient=no
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
#  -o smtpd_client_restrictions=permit_sasl_authenticated,permit_mynetworks
#  -o smtpd_client_restrictions=$mua_client_restrictions
#  -o smtpd_helo_restrictions=$mua_helo_restrictions
#  -o smtpd_sender_restrictions=$mua_sender_restrictions
#  -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
#  -o milter_macro_daemon_name=ORIGINATING

任何想法都会受到欢迎。

exchange postfix office365 smtpd
  • 1 个回答
  • 394 Views
Martin Hope
TitanFighter
Asked: 2017-01-16 19:18:00 +0800 CST

postfix/submission/smtpd[xxxxx]:警告:主机名 <**> 无法解析到地址 <IP>:名称或服务未知

  • 3

我在 VPS (Ubuntu) 上安装了 iRedMail。Fail2Ban禁止我的家庭 IP 地址。

在/var/log/mail.log我看到如下消息:

postfix/submission/smtpd[32149]: warning: hostname unallocated.sta.lan.ua does not resolve to address 31.43.102.*: Name or service not known

unallocated.sta.lan.ua据我了解是我的家庭互联网提供商的主机名。

31.43.102.*是我的家庭IP。

问题出在哪里?是 Internet Provider 的问题还是我的错,我的 server\iRedMail 配置不正确(如果是,如何解决)?

smtp postfix fail2ban smtpd
  • 1 个回答
  • 7928 Views
Martin Hope
Bene
Asked: 2016-04-26 10:00:20 +0800 CST

postfix 只允许 localhost 本地用户

  • 1

我有一个小问题。我提供一些客户端访问我的服务器以执行自己的脚本(当然在他们自己的 chroot 环境中,等等......)。今天发生的问题:有些人在端口 25 上获得对 localhost 的 telnet 访问权限,并且正在向世界发送电子邮件,这几乎是一个开放的中继:(

我正在使用后缀,它还需要身份验证:

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, check_recipient_access mysql:/etc/postfix/mysql-virtual_recipient.cf, reject_unauth_destination

但是本地脚本显然不需要经过 sasl 认证。如果从 permit_mynetworks 中删除 localhost,则某些反垃圾邮件例程不再起作用...

那么如何配置 postfix 以允许本地主机在本地发送邮件而不是在没有身份验证的情况下从外部发送邮件呢?

有什么建议么?

smtp postfix localhost smtpd
  • 2 个回答
  • 5317 Views

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