| 1 | #! /bin/sh |
| 2 | |
| 3 | # This is a sample script for demonstrating how to handle unknown users in |
| 4 | # a more friendly way than just returning a "user unknown" error. It can |
| 5 | # be called from a pipe transport set up like this: |
| 6 | |
| 7 | # unknownuser_pipe: |
| 8 | # driver = pipe; |
| 9 | # command = "/opt/exim/util/unknownuser.sh", |
| 10 | # ignore_status, |
| 11 | # return_output, |
| 12 | # user = nobody |
| 13 | |
| 14 | # which is specified by a smartuser director set up like this: |
| 15 | |
| 16 | # unknownuser: |
| 17 | # transport = unknownuser_pipe, |
| 18 | # no_verify, |
| 19 | # driver = smartuser; |
| 20 | |
| 21 | # Any output generated by this script is then returned to the sender of |
| 22 | # the message. You can run any commands you like at this point, for example, |
| 23 | # to attempt fuzzy matches on the local part of the address. Here we just |
| 24 | # give a bland message, demonstrating the availability of the variables |
| 25 | # $LOCAL_PART and $DOMAIN. |
| 26 | |
| 27 | cat <<End |
| 28 | "$LOCAL_PART" is not a known user mailbox in the domain "$DOMAIN". |
| 29 | End |
| 30 | |
| 31 | |
| 32 | |