Viktor, Since you are looking within the code, on a reject we used to put @abc.com 550 and custom reject message
is that still valid? Will @abc.com REJECT 550 and custom reject message work? Thank you! On Wed, Oct 28, 2020 at 11:25 AM Viktor Dukhovni <postfix-us...@dukhovni.org> wrote: > On Wed, Oct 28, 2020 at 09:05:40AM +0000, Allen Coates wrote: > > > Some time ago (5 years maybe) I discovered that "OK" was not being > universally > > recognised in every access list; I cultivated the habit of using the > words > > "ACCEPT" and REJECT" - and have had no problems since. > > That's odd, because in fact Postfix does not support "ACCEPT", but > smtpd(8) definitely supports "OK" in *ALL* access(5) tables: > > smtpd_check.c: if (STREQUAL(value, "DUNNO", cmd_len)) > smtpd_check.c: if (STREQUAL(value, "REJECT", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "DEFER", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "HANGUP", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "INFO", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "WARN", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "FILTER", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "HOLD", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "DELAY", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "DISCARD", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "REDIRECT", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "BCC", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, DEFER_IF_PERMIT, cmd_len)) { > smtpd_check.c: if (STREQUAL(value, DEFER_IF_REJECT, cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "PREPEND", cmd_len)) { > smtpd_check.c: if (STREQUAL(value, "OK", cmd_len) || > STREQUAL(value, "RELAY", cmd_len)) > > and even cleanup(8) supports "OK" in header/body_checks(5), though > "DUNNO" is preferred: > > cleanup_message.c: if (STREQUAL(value, "REJECT", command_len)) { > cleanup_message.c: if (STREQUAL(value, "WARN", command_len)) { > cleanup_message.c: if (STREQUAL(value, "INFO", command_len)) { > cleanup_message.c: if (STREQUAL(value, "FILTER", command_len)) { > cleanup_message.c: if (STREQUAL(value, "PASS", command_len)) { > cleanup_message.c: if (STREQUAL(value, "DISCARD", command_len)) { > cleanup_message.c: if (STREQUAL(value, "HOLD", command_len)) { > cleanup_message.c: if (STREQUAL(value, "DELAY", command_len)) { > cleanup_message.c: if (STREQUAL(value, "PREPEND", command_len)) { > cleanup_message.c: if (STREQUAL(value, "REPLACE", command_len)) { > cleanup_message.c: if (STREQUAL(value, "REDIRECT", command_len)) { > cleanup_message.c: if (STREQUAL(value, "BCC", command_len)) { > cleanup_message.c: if (STREQUAL(value, "STRIP", command_len)) { > cleanup_message.c: if (STREQUAL(value, "IGNORE", command_len)) > cleanup_message.c: if (STREQUAL(value, "DUNNO", command_len)) /* > preferred */ > cleanup_message.c: if (STREQUAL(value, "OK", command_len)) /* > compat */ > > -- > Viktor. > -- Thanks! Joey