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 / 问题 / 1043431
Accepted
Sz3jdii
Sz3jdii
Asked: 2020-11-22 09:45:50 +0800 CST2020-11-22 09:45:50 +0800 CST 2020-11-22 09:45:50 +0800 CST

转换 [email protected] 的 SPF SOFTFAIL 域未将 XXXX 指定为允许的发件人)

  • 772

在我的公司我有以下错误。

softfail (google.com: domain of transitioning [email protected] does not designate X.X.X.X as permitted sender) client-ip=X.X.X.X;

假设我的 mail.company.com 服务器是 YYYY,每个用户都从 Thunderbird 连接到他/她的邮件帐户,SMTP/POP3/IMAP 由托管在 YYYY 域上的 DirectAdmin 提供服务。一些使用 GMail 从外部 POP3 服务器 (mail.company.com) 下载邮件的用户收到上述错误,并且电子邮件在垃圾邮件目录中。我的 SPF 记录是:

v=spf1 a mx ip4:Y.Y.Y.Y ~all

我不明白的是,标记为指定IP的IP怎么可能是XXXX,有时会有所不同,但仍然不是SMTP服务器的IP YYYY?我将 SPF 记录更改为:

v=spf1 mx a ptr ~all

但我不认为这是最好的解决方案。我的域存储在 cloudflare 后面,但 mail.company.com 没有被代理,只有 company.com 被代理。感谢您的任何帮助。

smtp spf gmail
  • 1 1 个回答
  • 1093 Views

1 个回答

  • Voted
  1. Best Answer
    Sz3jdii
    2020-12-31T10:01:11+08:002020-12-31T10:01:11+08:00

    我通过在 exim config (/etc/exim.conf) 中设置自定义接收头解决了这个问题。在上面的文件中,我添加了:

    received_header_text = ${if def:authenticated_id {Received: from $primary_hostname ([X.X.X.X] helo=[s1.example.com]) by $primary_hostname with ESMTP\n\t(Exim $version_number)\n\t${if def:sender_address {(envelope-from <$sender_address>)\n\t}}id $message_exim_id${if def:received_for {\n\tfor $received_for}}\n\t}}Received: ${if def:sender_rcvhost {from $sender_rcvhost\n\t}{${if def:sender_ident {from ${quote_local_part:$sender_ident} }}${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}by $primary_hostname ${if def:received_protocol {with $received_protocol}} ${if def:tls_cipher {($tls_cipher)\n\t}}(Exim $version_number)\n\t${if def:sender_address {(envelope-from <$sender_address>)\n\t}}id $message_exim_id${if def:received_for {\n\tfor $received_for}}
    

    其中 XXXX 是邮件服务器 IP,s1.example.com 是邮件服务器主机名或 IP 地址。我把它放在后面:

    #EDIT#1:
    # primary_hostname =
    smtp_active_hostname = ${if exists{/etc/virtual/helo_data}{${lookup{$interface_address}iplsearch{/etc/virtual/helo_data}{$value}{$primary_hostname}}}{$primary_hostname}}
    

    之后我重新启动了 exim:

    service exim restart
    

    现在谷歌没有因为 SPF SOFTFAIL 而未能通过垃圾邮件检查。

    • 0

相关问题

  • Postfix 或 exim:自动/程序化和转发电子邮件设置

  • 如何将 SMTP 直接从 IIS 6.0 服务器中继到 Exchange 2003 服务器

  • 使用 telnet 或 netcat 发送带有附件的电子邮件

  • 我应该使用什么策略在 linux 上安装 smtp 服务器?用于多线程服务

  • 适用于 Linux 的 SMTP 服务器,配置简单

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