Patch to implement this feature
I wanted the same feature, i.e. disable SMTP for certain users but on the other hand don't disable receiving for that account (so it can receive mail).
I have found that the code and data structures for doing that is already there, configuration for disabling and enabling of email receiving and smtp access are separate even in the database, just the frontent is done in a way that checking the "disable receiving" checkbox disables both these features at the same time, I'm not sure why it isn't split into "disable receiving" and "disable SMTP".
So I made a little patch to split these features for ISPConfig 18.104.22.168, I'm attaching the patch file here.
1. save the file to /usr/local/ispconfig/interface/web/mail
2. gunzip disablesmtp.patch.gz
3. patch -p1 -i disablesmtp.patch
4. go to your ISPConfig panel to the user mailbox settings, there should be a new checkbox "Disable SMTP" available.
-disabling SMTP does not affect the ability to send email through webmail.
-I have added the checkbox text just for english language, if you are using a different language, you need to add a line "$wb["disablesmtp_txt"] = 'Disable SMTP';" in the corresponding language file <lang>_mail_user.lng file in the /usr/local/ispconfig/interface/web/mail/lib/lang directory where <lang> is the language you want to edit. You can of course translate the "Disable SMTP" string to your language.
If you don't do this and you are using a language other than english, the checkbox will still be there and will work, but will have no caption.