1

I have an exim router configuration for suspended account check. I use a perl lookup for verification for suspeded accounts and the perl function works fine.

The issue is , exim still deliver the message without failure. The router settings as follows,

  suspendedcheck:
    # check if sending user is suspened
    driver = redirect
    domains = +local_domains : $primary_hostname       
    condition = ${if eq{${perl{is_suspended}{$domain_data}{$local_part}}}{yes}{no}} 
    allow_fail 
    allow_defer 
    allow_freeze  
    data = :fail: Suspended account    
    no_more  

The exim log is as follows,

2021-09-16 02:39:25 exim 4.94.2 daemon started: pid=612425, -q30m, listening for SMTP on port 25 (IPv6 and IPv4) port 587 (IPv6 and IPv4) and for SMTPS on port 465 (IPv6 and IPv4)
2021-09-16 02:39:27 1mQnrb-002ZKO-J5 <= foo@fun.com U=foo P=local S=394 T="Test mail" from <foo@fun.com> for dreamcatcher@foo.com
2021-09-16 02:39:27 1mQnrb-002ZKO-J5 Recipient account is suspened : dreamcatcher
2021-09-16 02:39:27 1mQnrb-002ZKO-J5 is suspend  : yes
2021-09-16 02:39:28 1mQnrb-002ZKO-J5 => dreamcatcher <dreamcatcher@foo.com> F=<foo@fun.com> R=localuser T=dovecot_delivery S=531 C="250 2.0.0 <dreamcatcher@foo.com> qN8eNs8QQ2ESWAkAc3UdAg Saved"
2021-09-16 02:39:28 1mQnrb-002ZKO-J5 Completed

This router is supposed to faile, but it is still passing to localuser and the transport dovecot_delivery.

Can any one point to me to the correct direction.

sherin
  • 323
  • 3
  • 10

1 Answers1

1

I removed {no} from the condition line and it is fixed.

sherin
  • 323
  • 3
  • 10