使用sendmail 8.14时,当给定域中没有用户时,sendmail似乎产生的错误如下:
550 5.1.1 <[email protected]>... User unknown
但是,如果使用virtusertable的error:nouser ,则消息如下所示:
553 5.3.0 <[email protected]>... >info<@example.su.
使用主要build议的error:nouser No such user按照https://www.sendmail.com/sm/open_source/tips/virtual_hosting/ , error:nouser No such user在virtusertable结果如下:
553 5.3.0 <[email protected]>... No such user
为什么状态码有所不同?
他们有什么区别?
为什么停止向用户交付的build议方式与完全不存在用户的默认行为不同?
550和553错误代码应该全部作为500系列代码中的任何一个与发送服务器一样对待。 这些都表明一个永久性的错误情况。
550表示请求的操作(添加收件人)未完成。 553错误表示邮箱名称无效。 在任何情况下,收件人都不被接受。
使用error:nouser 550 ...或者error:5.1.1:550 ...作为cf / README的 virtusertable部分中build议的虚拟值。
[email protected] error:nouser 550 No such user here [email protected] error:5.1.1:550 No such user here
RFC5321描述了两个错误代码之间的细微区别。
550 Requested action not taken: mailbox unavailable (eg, mailbox not found, no access, or command rejected for policy reasons) 553 Requested action not taken: mailbox name not allowed (eg, mailbox syntax incorrect)
很可能在(几乎)所有情况下550和553之间的差异不会伤害你, 但是当你发现它时,
尾随文本解释是为人类,所以它不应该有所作为。
553 5.3.0 <[email protected]>... >info<@example.su.
Sendmail似乎没有准备好处理error:WORD没有由virtusertable返回的消息的error:WORD 。 [我检查了sendmail-8.15.1和sendmail-8.14.4]
sendmaill-8.15.1 / CF / M4 / proto.m4
1128 R< error : $-.$-.$- : $+ > $* $#error $@ $1.$2.$3 $: $4 1129 R< error : $- $+ > $* $#error $@ $(dequote $1 $) $: $
553 5.3.0 <[email protected]>... No such user
error:nouser No such user here作为virtusertable值(缺lesssmtp答复代码)似乎产生553答复代码
恕我直言,你可能会报告它在sendmail网站虚拟主机页面的错误。