XCLIENT and CLIENTID extensions to SMTP

Andrew C Aitchison <[email protected]> Thu, 23 Mar 2023 10:55:53 +0000 (GMT)
Newsgroups gmane.mail.fetchmail.user
Message-ID <[email protected]>
I have become aware of two extensions to SMTP (and one to IMAP too)
that may be of interest to fetchmail developers and users.

The first is https://www.postfix.org/XCLIENT_README.html
which says that
   The XCLIENT command targets the following problems:
   ...		...		...
   2. Client software that downloads mail from an up-stream mail server and
   injects it into a local MTA via SMTP. In order to take advantage of the
   local MTA's SMTP server access rules, the client software needs the
   ability to override the SMTP server's idea of the remote client name,
   client address and other information. Such information can typically be
   extracted from the up-stream mail server's Received: message header.

XCLIENT is implemented in postfix and is now a wishlist item for Exim:
   https://bugs.exim.org/show_bug.cgi?id=2702 as well as being available
in a fork of Exim ( https://github.com/SpamExperts/exim/commit/3798d48d73c89f7835726d31f096851f7f7fca2a ).

The second is CLIENTID, a pair of draft RFCs
   https://datatracker.ietf.org/doc/draft-storey-smtp-client-id/
   https://datatracker.ietf.org/doc/draft-yu-imap-client-id/
which allows the mail client to tell the server more about itself
and the user, allowing a server to restrict access on a device+user basis;
eg to block a spammer who has got hold of your login details, whilst
continuing to allowing you to send and receive emails from your phone.

CLIENTID is supported by Thunderbird, emClient, and BlueMail clients
and at least MagicMail "the Top Selling Carrier Grade Email platform 
for the ISP, Telco, and Cable industry in North America".
I am currently attempting to write CLIENTID support for Exim.

-- 
Andrew C. Aitchison                      Kendal, UK
                    [email protected]