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 π β¨π
π¦ where this page comes from
- debian bookworm: exim4-base 4.96-15+deb12u10
- debian trixie: exim4-base 4.98.2-1+deb13u4
- debian trixie: exim4-base 4.98.2-1+deb13u5
- ubuntu jammy: exim4-base 4.95-4ubuntu2
- ubuntu jammy: exim4-base 4.95-4ubuntu2.12
- ubuntu noble: exim4-base 4.97-4ubuntu4
- ubuntu noble: exim4-base 4.97-4ubuntu4.8
- ubuntu questing: exim4-base 4.98.2-1ubuntu2
- ubuntu questing: exim4-base 4.98.2-1ubuntu2.3
- ubuntu resolute: exim4-base 4.99.1-1ubuntu1
- ubuntu resolute: exim4-base 4.99.1-1ubuntu1.5
- ubuntu stonking: exim4-base 4.99.4-1ubuntu5
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms