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
    • 最新
    • 标签
主页 / computer / 问题 / 1493909
Accepted
Rainer Schwarze
Rainer Schwarze
Asked: 2019-10-20 00:34:59 +0800 CST2019-10-20 00:34:59 +0800 CST 2019-10-20 00:34:59 +0800 CST

使 postfix 使用 sasl / auth plain 将出站邮件发送到中继服务器

  • 772

我的 postfix 不会将 AUTH PLAIN 发送到传出中继服务器。它必须在几天前工作,但现在我收到“不允许中继”的退回邮件。

邮件系统使用 postfix、fetchmail 和 dovecot 在 Alpine Linux VM 中运行。Postfix 使用 Cyrus SASL 库,而不是 dovecot 库。

main.cf 的相关部分:

relayhost = [RELAY_HOST]
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/mailsrv/etc/postfix/sasl_passwd
smtp_sasl_security_options =

sasl_passwd:

[RELAY_HOST] USER:PASSWORD

我使用 tcpdump 捕获了一个传出会话,并且没有发送 AUTH PLAIN。我使用正确的 AUTH PLAIN 行测试了通过 telnet 手动发送邮件,它工作正常。

所以我的解释是,后缀在某些时候不会决定使用 SASL / AUTH PLAIN。

可能是什么问题呢?

权限应该没问题,postmap 已被调用,postfix 重新启动并重新加载,libsasl 已安装并且 postfix 报告已使用 cyrus 构建。我知道这是陈词滥调,但该系统几天前可以正常工作。某些证书到期是否可能是一个问题,我在日志中没有看到?

postfix smtp
  • 1 1 个回答
  • 1030 Views

1 个回答

  • Voted
  1. Best Answer
    user1686
    2019-10-20T06:37:15+08:002019-10-20T06:37:15+08:00

    后缀发送不产生 AUTH PLAIN 行的 HELO

    HELO 是原始的握手命令,没有任何协商扩展的能力。在客户端可以使用 SASL 之前,它必须发送 EHLO (extended-hello) 并检查服务器是否通告了所需的 SASL 机制。

    默认情况下,许多 SMTP 客户端(包括 Postfix)仅在服务器的问候语横幅中出现“ ESMTP220 foo.example.com ESMTP Sendmail ”一词时才发送 EHLO(例如)。假定不支持 ESMTP 的服务器也不支持 SASL。

    • 如果服务器的问候语正确,请确保您没有意外启用smtp_never_send_ehlo或smtp_pix_workarounds选项。

    • 如果服务器的问候语错误,但它仍然接受 EHLO,您可以通过smtp_always_send_ehlo = yes在 Postfix 配置中启用来强制使用 EHLO。


    如果您正在管理服务器,请尝试修复其问候语,因为这可能还会影响来自其他域的传入消息传递——例如,没有 ESMTP,也没有机会性 STARTTLS。

    例如,如果服务器也在运行 Postfix,它必须在smtpd_banner选项中包含“ESMTP”:

    smtpd_banner = $myhostname ESMTP $mail_name
    

    (也可能是连接通过反垃圾邮件网关,该网关使用此方法来尝试禁止使用 STARTTLS,而不是简单地将其从 EHLO 响应中删除,而是尝试禁止 EHLO 本身。)


    请注意,通常端口 25 仅用于消息接收(来自其他域的入站传递)– 587 或 465 是用于消息“提交”(从客户端出站)的端口。

    因此,如果您的 Postfix 充当本地客户端(因为它有一个中继主机并想要使用身份验证),它实际上应该连接到端口 587 上的中继主机。

    请注意,连接到端口 465 需要smtp_tls_wrappermode = yes,因为它从一开始就使用 TLS。(这实际上是一个优势,因为它可以防止防火墙篡改握手。)

    使用端口 587 时,TLS 是可选的(仅使用“STARTTLS”命令激活),但如果服务器支持,您也应该强制使用 TLS。为此,请设置smtp_tls_security_level = verify.

    • 1

相关问题

  • 如何从家庭服务器向自己发送电子邮件报告?

  • Postfix:本地和虚拟邮箱

  • virtual_uid_maps 中的错误 uid 8

  • 更改 SMTP 端口会“搞乱其他事情”吗?

  • SPF 类型 ptr 不鼓励?那我应该用什么?

Sidebar

Stats

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

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    Windows 10 服务称为 AarSvc_70f961。它是什么,我该如何禁用它?

    • 2 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Marko Smith

    ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] 证书验证失败:无法获取本地颁发者证书 (_ssl.c:1056)

    • 4 个回答
  • Marko Smith

    我如何知道 Windows 安装在哪个驱动器上?

    • 6 个回答
  • Martin Hope
    Albin 支持结束后如何激活 WindowsXP? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 “HTTPS Everywhere”仍然相关吗? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch Windows 10 删除大量小文件的速度非常慢。有什么办法可以加快速度吗? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Ctrl+C 和 Ctrl+V 是如何工作的? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve