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

Reply via email to