技术文章

Technical articles

当前位置:首页>资讯>技术文章
全部 公司动态 行业动态 技术文章

hMail邮件系统SMTP错误消息总汇

文章标签:邮箱系统   编辑:泗阳伟达网络   来源:为企业提供:IT外包服务、系统集成、IT项目实施、运维服务、安全与培训等全面的IT服务。  时间:2020-03-25

SMTP错误消息

421连接超时

如果hMailServer正在等待来自SMTP客户端的命令时发生超时,则在hMailServer断开客户端连接之前,会将此错误消息发送给客户端。hMailServer中的SMTP超时时间为10分钟。

421发送到服务器的数据量过大。

如果客户端向hMailServer发送一大块数据(不包含换行符(命令终止符)),则会生成此错误。客户端不应该这样做,但错误地配置客户端可能会导致此问题。

450请稍后再试。

如果启用灰色列表,发件人为空,收件人和IP地址(以及空发件人)三元组与现有灰名单三元组不匹配,则会发出此错误消息。这发生在SMTP“数据”传输之后。原因是这可能是来自另一个服务器的SMTP回调,它使用RCPT TO命令来验证接收者是否存在。

451请稍后再试。

如果启用了灰名单,并且发件人,收件人和IP地址三元组与现有的灰名单三元组不匹配,则会发出此错误消息。

500线太长了

如果SMTP客户端发送hMailServer认为过长的SMTP命令,hMailServer会发出此错误。此错误通常表示客户端缺陷或黑客攻击尝试。

501 EHLO无效的域名地址。

如果EHLO命令中给出的域地址不具有正确的语法,则会发出此错误消息。

501 HELO无效的域名地址。

如果在HELO命令中给出的域地址不具有正确的语法,则会发出此错误消息。

502 TURN不允许

如果SMTP客户端尝试使用TURN命令,hMailServer将使用此错误代码进行响应。hMailServer不包括对TURN动词的支持。

502未实现的命令

如果SMTP客户端尝试使用hMailServer没有实现的命令,则会将此错误消息发送到客户端。

首先使用HELO / EHLO

SMTP客户端连接到SMTP服务器后,首先应该使用HELO或EHLO命令来识别自己。如果客户端没有这样做,hMailServer会回应这个错误信息。

502 VRFY不允许

如果SMTP客户端尝试使用命令VRFY,hMailServer将使用此错误代码进行响应。hMailServer不包含对VRFY动词的支持。

503如果您想重新开始,请发出重置

当电子邮件客户端向电子邮件服务器传送电子邮件时,通过向服务器通知发件人地址开始。完成之后,在整个消息被传送到电子邮件服务器之前,开始一个没有完成的事务。如果客户希望中止交易并发送另一条消息,则应该发出RSET命令。如果一个事务中间的客户端试图发送一个新的邮件而没有先终止当前事务,hMailServer会发出这个错误信息。这表明SMTP客户端中存在一个错误。

503首先必须有发件人和收件人。

当SMTP客户端向SMTP服务器发送电子邮件时,在尝试提交实际的邮件内容之前,必须同时指定发件人和收件人。如果客户端在尝试提交邮件内容之前未能告诉hMailServer发件人或收件人地址,hMailServer将响应此错误。这表明SMTP客户端中存在一个错误。

503首先必须有发件人。

当SMTP客户端向SMTP服务器发送电子邮件时,在尝试提交实际的邮件内容之前,必须同时指定发件人和收件人。客户端首先必须告诉服务器发件人地址,然后是收件人地址。如果客户端尝试在发件人地址之前告诉hMailServer收件人地址,则会发出此错误消息。这表明SMTP客户端中存在一个错误。

504不支持认证机制。

如果客户端尝试使用hMailServer不支持的方法进行身份验证,则会发出此错误消息。

504未指定认证类型。

如果客户端尝试进行身份验证而不指定身份验证方法,则此错误消息由hMailServer发出。此错误表示使用的SMTP客户端中存在错误。

530 SMTP认证是必需的。

您已经为用户所连接的IP范围启用了SMTP验证,但用户尚未将其客户端配置为使用SMTP验证。有两种方法可以解决这个问题。请将您的电子邮件客户端配置为使用SMTP身份验证。此设置通常在电子邮件客户端的帐户设置中找到。或者,禁用IP范围的SMTP验证。建议使用第一种解决方案,因为它可以降低任何人通过服务器发送垃圾邮件的风险。

默认情况下,hMailServer不需要对来自localhost / 127.0.0.1的连接进行SMTP身份验证。对于来自其他主机的连接,需要SMTP身份验证才能将其发送给外部收件人。默认情况下,hMailServer从不要求SMTP验证交付到本地帐户,因为这会阻止其他电子邮件服务器将电子邮件发送到您的安装。有关如何启用SMTP身份验证的信息,请检查HOWTO。

如果您使用的是Cisco路由器,则可能需要禁用SMTP Fixup协议。如果启用了这个功能,路由器有时会拦截SMTP流量,并在它到达hMailServer之前将其中的数据替换,这将导致问题。

535身份验证失败。重新启动身份验证过程。

如果SMTP客户端进行了身份验证,但用户名或密码不正确,或者帐户被禁用,则hMailServer会将此错误消息发送给客户端。

550一个有效的地址是必需的

如果SMTP客户端尝试指定无效的收件人地址(语法不正确),则hMailServer会发出此错误消息。

550帐户不活跃。

如果SMTP客户端尝试向未启用的帐户发送电子邮件,则会将此错误消息提供给客户端。

550别名不活跃。

如果SMTP客户端尝试向未启用的别名发送电子邮件,则会将此错误消息提供给客户端。

550由SPF阻止

如果在SPF检查过程中电子邮件被拒绝,则会发出此错误消息。

550交付不允许这个地址

此错误意味着发件人正试图发送电子邮件到他不允许发送到的地址。此消息在hMailServer检查IP范围设置后生成。例如,默认的IP范围配置不允许外部用户向其他外部用户发送消息。这是为了防止人们使用您的服务器发送垃圾邮件。所以如果外部用户试图发送消息给另一个外部用户,他会得到这个消息。

550通讯组列表未处于活动状态。

如果SMTP客户端尝试将电子邮件发送到未启用的通讯组列表,则会将此错误消息提供给客户端。

550域已被禁用。

如果SMTP客户端尝试向已禁用的域发送电子邮件,则会将此错误消息提供给客户端。

550语法无效。语法应该是MAIL FROM:<userdomain> [crlf]

如果客户端使用不正确的语法发出MAIL FROM命令,则hMailServer会发出此错误消息。

550登录凭证不再有效。请重新认证。

在SMTP会话期间,SMTP发件人可以发送多封电子邮件。每次SMTP客户端尝试向hMailServer发送新消息时,客户端都会重新进行身份验证,以确保用户名和密码仍然有效。这是必要的,因为只要发送消息,SMTP客户端可以保持连接到hMailServer的时间没有限制。如果hMailServer没有重新认证连接的用户,将无法断开发送垃圾邮件的用户(不停止。

550邮件服务器配置错误。太多的递归转发。

当一个电子邮件客户端告诉hMailServer这个电子邮件用户时,hMailServer会尝试确定“最终收件人”。客户端给hMailServer的电子邮件地址可能不是最终收件人。例如,如果您设置了别名alias@example.com(指向account@example.com),并且电子邮件客户端通知hMailServer该邮件用于alias@example.com,则最终收件人实际上是account @ example .COM。

可以在这个区域以不正确的方式配置hMailServer。例如,假设您有一个名为alias@example.com的别名,指向alias2@example.com,别名alias2@example.com指向alias@example.com。当hMailServer试图确定电子邮件的最终收件人为alias@example.com时,它将放弃,因为没有,并报告上述错误消息。如果hMailServer无法确定最终收件人,将始终报告错误。

以下原因是最常见的原因:

• 已经为收件人域指定了全部收件人地址,但是没有与指定的全部收件人地址匹配的帐户。

• 该邮件正被发送到一个别名不指向一个有效的帐户

550未经授权。

如果客户端尝试将电子邮件发送到没有发送权限的分发列表,则会发出此错误消息。

550收件人不在路由列表中。

如果客户端尝试发送收件人域匹配路由的电子邮件,但收件人地址不在有效地址列表中,则会将此错误消息提供给客户端。

必须指定550发件人地址。

如果将hMailServer配置为拒绝空发件人地址,并且SMTP客户端尝试使用空的发件人地址,则会发出此错误。

550发件人域没有任何MX记录。

如果由于MX检查而拒绝电子邮件,则会发出此错误消息。

550地址无效。

如果SMTP客户端指定的发件人地址无效(它具有不正确的语法),则hMailServer会发出此错误消息。

550 HELO中指定的主机名称与IP地址不匹配。

此错误消息是hMailServer中垃圾邮件防护机制的一部分。当发送电子邮件服务器向hMailServer发送电子邮件消息时,首先要做的事情就是识别自己。它通过发送命令HELO <HOSTNAME>来执行此操作,其中<HOSTNAME>被替换为其主机名。发送服务器在HELO命令中给出的主机名应解析为同一台服务器的IP地址。


例如,如果其中一个Hotmail服务器试图将电子邮件发送到您的服务器,它将发送类似于HELO mx1.hotmail.com的命令。如果在HELO命令中选中检查主机已在hMailServer的垃圾邮件防护设置中启用,hMailServer将检查发送的主机名Hotmails服务器mx1.hotmail.com是否与连接的IP地址相匹配。如果IP地址与主机名称不匹配,hMailServer认为该电子邮件是垃圾邮件。如果您将hMailServer配置为删除被认为是垃圾邮件的电子邮件,hMailServer会将上述错误消息报告给发件人。


如果有人试图向您发送电子邮件,并且您收到此错误,请执行以下操作之一:

• 通知发送电子邮件的服务器的管理员他们没有在HELO命令中指定正确的主机名。

• 使用hMailServer Administrator或PHPWebAdmin在垃圾邮件防护设置中禁用“在HELO命令中检查主机”选项。该选项默认是禁用的。

• 在垃圾邮件防护设置中,选择hMailServer应该发送垃圾邮件,但修改邮件标题。也选择修改邮件主题。然后电子邮件将被发送,但主题将被添加[SPAM]。

550未知的用户

如果SMTP客户端尝试将电子邮件传递到由hMailServer托管的域,但是无法找到收件人帐户,并且没有为收件人域指定收件人地址,则会发出此错误消息。

550 <其他错误信息>

在DNS黑名单和SURBL配置中,可以指定在电子邮件被拒绝时使用的自定义错误消息。

消息大小超过固定的最大消息大小。大小:x KB,最大大小:y KB

在hMailServer中,可以在SMTP设置和域设置中指定最大邮件大小。如果发送的消息的大小超过这些限制,则会发出此错误消息。

554被拒绝

如果在OnAcceptMessage事件上运行的hMailServer脚本在不指定错误消息的情况下拒绝消息,则会发出此错误。

您的邮件已收到,但无法保存。请稍后重试。

如果电子邮件是由hMailServer收到,但无法保存在数据库中,则会将此错误消息发送给客户端。要解决此问题,需要分析导致错误的hMailServer日志。通常情况下,将此错误报告给客户端时,将记录更多详细信息的错误消息。 

554拒绝 - 包含裸LF的消息。

根据SMTP规范,电子邮件中的每行应该用ASCII码13和10 - 回车(CR)和换行(LF)分隔。一些垃圾邮件发送者和不正确工作的软件会发送格式不正确的邮件。使用此设置来拒绝这些消息。请注意,如果发送软件包含错误,则合法的电子邮件可能具有格式不正确的行尾。

如果您是开发人员收到此问题,请确认您的电子邮件(包括标题和正文)的每一行都以回车符和换行符结束,而不仅仅是换行符。如何做到这一点取决于你正在使用什么编程语言。在.C ++,C#和PHP中添加 r  n到每一行的结尾。在Visual Basic中,添加vbNewLine或vbCRLF。

在Windows上,默认行分隔符是CRLF。在Linux和UNIX上,默认的分隔符只有LF。但是,从Linux / UNIX系统发送电子邮件时,必须始终使用CRLF。Linux下的一些电子邮件服务器(如Postfix)会自动用CRLF替换LF。因此,将电子邮件中的行分隔符设置为CRLF将使其更改为CRCRLF。

554被拒绝 - 没有数据保存。

如果hMailServer收到来自SMTP客户端的电子邮件消息,但无法将消息文件保存在磁盘上,则会发出此错误消息。如果hMailServer.ini中指定的数据目录不可由hMailServer服务写入,则会发生该问题。

554已拒绝 - <其他错误消息>

当hMailServer脚本拒绝OnAcceptMessage事件中的消息时,它可以指定要发送给客户端的错误消息。如果脚本执行此操作,hMailServer会将此错误消息发送给客户端。<其他错误消息>被替换为脚本给出的错误信息。

554被SpamAssassin标记为垃圾邮件

如果电子邮件被SpamAssassin拒绝,则会发出此错误消息。

退回消息中的错误消息

邮件服务器软件试图将电子邮件发送到本地计算机

此错误消息通常表示服务器配置错误。在邮件传递之前,hMailServer会进行一些检查,以防止无限的消息循环。当发送电子邮件并且在本地安装中找不到收件人时,hMailServer通常会尝试连接到收件人电子邮件服务器以传递电子邮件。

在hMailServer连接到收件人电子邮件服务器之前,hMailServer会检查它将要连接的IP是不是本地IP地址。如果IP是本地IP地址,这意味着hMailServer会连接到自己,这可能会导致消息循环。在这种情况下,hMailServer拒绝邮件传递,而是向发件人返回错误消息。

以下原因对于此问题很常见:

• 已经输入了指向本地计算机的主机名或IP地址作为SMTP中继器。转到SMTP设置中的电子邮件传递部分。检查SMTP Relayer设置。如果您在此文本框中输入了localhost,127.0.0.1,your-own-domain-name.com或类似内容,则可能是问题的原因。如果是这种情况,请在SMTP参考指南中阅读有关此设置的更多信息,然后进行更正。

• 您的服务器上的域记录的MX记录之一,但该域尚未添加到您的安装。

该地址不存在邮件服务器。

当hMailServer向外部收件人发送电子邮件时,它会执行DNS查询以确定电子邮件应发送的位置。如果此DNS查询失败,则会报告上述错误消息。例如,如果DNS服务器不可用或收件人域不存在,查询可能会失败。要进一步排除故障,请检查hMailServer错误日志。hMailServer错误日志将包含来自Windows中的DNS客户端的错误代码。

不是由hMailServer生成的错误消息

550邮箱不可用

hMailServer永远不会产生这个错误信息。如果hMailServer试图将电子邮件传递到另一台服务器,但在该服务器上找不到收件人帐户,则收件人服务器可能会发出此错误消息。

错误消息表明您正在将电子邮件发送到不正确的地址。如果您确定地址正确,则可能是收件人DNS配置中的问题。

550发件人验证失败

当hMailServer将邮件发送到另一台服务器时,接收SMTP服务器可能会尝试验证电子邮件发件人确实存在。如果此验证失败,则可能会显示错误消息“发件人验证失败”。在这些情况下,电子邮件将被退回给发件人。这种验证工作如下:

1. hMailServer连接到收件人SMTP服务器

2. hMailServer通知收件人SMTP服务器该电子邮件来自example@example.com

3. 收件人SMTP服务器查找域example.com的MX记录。

4. 收件人SMTP服务器连接到MX记录中指定的主机 - 如果MX记录设置正确,可能是运行hMailServer服务器的位置。

5. 在此之后,收件人SMTP服务器发出命令HELO,MAIL FROM <>和RCPT TO:

6. 如果hMailServer确认收件人example@example.com存在,则收件人SMTP服务器将允许在上述步骤2中启动传递。

在这些步骤中有几个可能会出错的地方:

• 如果域example.com的MX记录设置不正确,则收件人SMTP服务器可能连接到不正确的SMTP主机,并且发件人地址验证将失败。

• 如果帐户example@example.com不存在,发件人验证将失败。

• 如果您禁用了允许空发件人地址,则发件人验证将失败,因为收件人SMTP服务器尝试使用空发件人地址进行验证。

hMail邮件系统SMTP错误消息总汇

本文链接:  www.jswdpc.com/technical/79.html

上一篇:华为USG2000防火墙如何开启web管理服务

下一篇:域名设置邮箱SPF解析

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部