我有一个sendmail服务器configuration为智能主机到下游资源。 目前的configuration是:
define(`SMART_HOST',`relay:[vip.example.local]')dnl
因为它正在发送vip.example.local的Alogging。 我被告知这违反了IETF RFC-5321第5.1节的规定:
一旦SMTP客户端从词汇上识别邮件将要到达的域
交付处理(如2.3.5和3.6节所述),必须执行DNS查找以parsing域名(RFC 1035
[2])。 预计这些名称将是完全合格的域名
(FQDN):从部分名称或本地推断FQDN的机制
别名不在本规范之内。 由于的历史
问题,用于初始提交消息的SMTP服务器不应该做这样的推理(消息提交服务器[18])
有点更多的灵活性)和中间(中继)SMTP服务器不能让他们。查找首先尝试查找与该名称关联的MXlogging。 如果find一条CNAMElogging,则会将结果名称作为初始名称进行处理。 如果返回不存在的域错误,则必须报告此情况为错误。 如果返回一个临时错误,则消息必须排队并稍后重试(见4.5.4.1节)。 如果返回空的MX列表,则将该地址视为与隐式MX RR关联,优先级为0,指向该主机。 如果MXlogging存在但它们都不可用,或者隐式MX不可用,则必须将此情况报告为错误。
如果find给定名称的一个或多个MXRR,SMTP系统不得使用与该名称相关联的任何地址RR,除非它们使用MXRR来定位; 上面的“隐含MX”规则只适用
如果没有MXlogging存在。 如果MXlogging存在,但是
没有一个是可用的,这种情况必须报告为错误。当查找与MX RR相关的域名时,
关联的数据字段获得,该响应的数据字段必须
包含一个域名。 该域名在被查询时必须返回
至less一个给出IP的地址logging(例如,A或AAAA RR)
消息应该指向的SMTP服务器的地址。
任何其他响应,特别是包括在查询时将返回CNAMElogging的值,都不在本标准的范围之内。
parsing为CNAME的数据中的标签是禁止的
在RFC 2181的第10.3节[38]中有更详细的讨论。
由于邮件服务器支持智能主机到IP的选项,我不明白智能主机对Alogging的影响可能是违反的。
这显然适用于试图将邮件递送到其目的地的邮件服务器。 与将所有邮件传递到智能主机的情况完全无关; 你交付的智能主机负责跟踪这个,但你不是。
我也不。 您的服务器不直接传送电子邮件。 它通过它传递给智能主机
所以,即使它是一个聪明的主机交付,你不应该使用.local helo。 .local(.lan)是Apple的mDNS的保留名称。 (零configuration)
在你的情况下,你helo是不正确的,应该永远是一个可parsing的主机名。
如果一个MX查找是基于.local完成的,那么错误..因为它无法在接收服务器上find您的主机名。
并依赖于邮件服务器设置你的中继,它的允许。 这取决于使用的提供商。
客户端的名字也应该是可以的,但是由于许多人的configuration错误,DNS和PTR都忘记了,没有太多的“未知”主机名被阻塞。
在你的情况下,你的服务器将永远无法发送电子邮件到我的服务器。 这些检查DNS正确性和可parsing的helo主机名。
而更多的服务器正在这样做,为什么这个设置节省了我大约80%的垃圾邮件。 所以纠正你的helo主机名或不运行邮件服务器。