EXIM_CHECKACCESS(8)

πŸ’– EXIM_CHECKACCESS πŸ’–

ok so bestie, this is exim_checkaccess from section 8 of the System Manager's Manual β€” check address acceptance from a given IP. yes she's niche. yes she's iconic. let's get into it ✨


✨ NAME ✨

exim_checkaccess β€” check whether an address gets accepted, from a given IP πŸŽ€


🌸 SYNOPSIS 🌸

exim_checkaccess IP-address email@address [more Exim options]

like that's it. two mandatory lil guys and then whatever extra Exim options you wanna throw in at the end πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

okay so real talk. Exim has this command line argument called -bh and what it does is let you run a fake SMTP session with debugging output, so you can peek at exactly what Exim is doing while it's applying its policy controls to incoming SMTP mail. genuinely useful!! but lowkey… not everybody is sufficiently familiar with the SMTP protocol to be able to make full use of -bh. it's giving "reading the raw protocol trace and crying a little". and honestly sometimes you just want to answer the question β€œDoes this address have access?” without bothering with any further details. periodt.

so. exim_checkaccess is a β€˜packaged’ version of -bh. she takes two arguments: an IP address and an email address 🫢

exim_checkaccess 10.9.8.7 A.User@a.domain.example

what she's actually doing under the hood is running a call to Exim with the -bh option, to test whether the given email address would be accepted in a RCPT command in a TCP/IP connection from the host with the given IP address. no cap.

and the output? either the word β€˜accepted’, or the SMTP error response. like for example:

Rejected:
   550 Relay not permitted

see how easy that is?? no SMTP fluency required, bestie, she did the homework for you 😌

now β€” when she runs this test, the utility uses β€œ<>” as the envelope sender address for the MAIL command. but you can absolutely change that by providing additional options, which get passed directly to the Exim command. for example, if you wanna specify that the test is to be run with the sender address β€œhimself@there.example”, you use:

exim_checkaccess 10.9.8.7 A.User@a.domain.example \
                 -f himself@there.example
⚠️ important bestie: these additional Exim command line items must be given after the two mandatory arguments. order matters, don't fight the order πŸ™ˆ

πŸ’€ BUGS πŸ’€

okay so… this manual page needs a major re-work. not me exposing the docs like this but it's true 😭 if somebody knows better groff than us and has more experience in writing manual pages, any patches would be greatly appreciated πŸ’–


🌈 SEE ALSO 🌈

  • exim(8)
  • /usr/share/doc/exim4-base/

go read those too, iykyk πŸ“š


πŸ‘‘ AUTHOR πŸ‘‘

this manual page was stitched together from spec.txt by Andreas Metzler <ametzler at downhill.at.eu.org>, for the Debian GNU/Linux system (but may be used by others). we love a collaborative queen 🫢


and that's the whole page bestie!! March 26, 2003 energy, EXIM_CHECKACCESS(8) forever, from the System Manager's Manual to your terminal. slay, go check some addresses πŸ’…βœ¨πŸ’–